SlideShare a Scribd company logo
1 of 23
Download to read offline
Swift
入門を卒業した君へ
@kimihom
• Swift 学習お疲れさまでした。晴れて iOS デベロッ
パーとしてスタートすることができました。
• 君の作りたいアプリを実現するのに、もうそれで十
分ならアプリを作り始めてください。
• 今回はまだまだ本格的なアプリを作るには自信がな
い君を対象に、いくつかの提案をします。
今後君がすべきこと
• アプリをDLして色々触ってみる
• とにかくアプリを作る
• 別の本を色々読む
• iOS デザインガイドラインを読む
• どこかのソースを読む
しかし、
どれも時間がかかる・・。
上達の近道は
存在するのか?
どうやって上達するのか?
先人の知恵に学ぶ
入門を卒業した君は
きっとこのコードを書くだろう
let URL = NSURL(string: http://api.hoge.com/list.json )
let req = NSURLRequest(URL: URL)
let connection: NSURLConnection = NSURLConnection(request: req, delegate: self,
startImmediately: false)
NSURLConnection.sendAsynchronousRequest(Req,
queue: NSOperationQueue.mainQueue(),
completionHandler: self.fetchResponse)
本のコピペから
卒業しよう
他にきっとこのことを面倒と思った人がいるはず。
を常に考えよう。
先人と同じ悩みを抱える必要はない。
Alamofire
Alamofire.request(.GET, http://api.hoge.com/list.json", parameters: ["foo": "bar"])
.response { (request, response, data, error) in
println(response)
}
https://github.com/Alamofire/Alamofire
お決まり Swift 処理
• Awesome Swift
• https://github.com/matteocrippa/awesome-swift
• Swift コードライブラリのまとめ
• ここをまず見て、github スターの高いものを優先的に使っ
てみるべき。自分で実装する前に。
• その他、 Github で Swift と検索し、スターの高い順で
興味深いプロジェクトを探してみて、スターしておこう。
注目 OSS
• Cocoapods
• QueryKit
• SwiftyJSON
• Bond
• PureLayout
日本語のドキュメントは
あまりない。
英語必須。
困ったら 英語版の Stackoverflow
クールな UI を
作りたい?
Libraries for
developers Pro
¥120.
デベロッパーならマストインストール!
https://itunes.apple.com/jp/app/libraries-for-
developers-pro/id678959143?mt=
君が次に最初に学ぶべきこと
Cocoapods で外部ライブラリを自分のプロジェクト
に取り込めるようにする
Objective-C のソースでも利用できるようにする
これができることこそ、
君がSwiftを学ぶべき理由だ。
他のJavaScript で Android, iPhone どっちも使える
言語など流行っているが、これら 3rd Party のソースコードを
利用することはできない!
現状
• Cocoapods が Swift プロジェクトに対応!
• だが、未だに Objective-C の OSS が多い。
• Objective-C は書けなくとも読めるようになるか、
Swift が当たり前になるくらい(1年後?)を待つ
現状その2
• Swift 対応の書籍は、現在のところ 「詳解 Swift」
以外は全て初心者向け。日本語の限界
• 本でさらに上にいきたければ、Kindle や Kobo で
海外の Swift 関連書籍を読んでみよう。英語の技術
本はきっと君でも読める!
• 英語がどうしても無理なら、Objective-Cでの優良
な本を読むしかない。
ソースとってきて組み合わせ
ているだけじゃないか!
そう思うようになったら、
君が次のステップへ行くべき時だ。ここからはホンモノの
プロフェッショナルの領域。
でも君の目標が、
「みんなが使ってくれるアプリを作る」
であれば、ここまでで十分だ。
好奇心が
君を技術を更なる高みへ連れていく。
Enjoy Swift,
Change the World.

More Related Content

What's hot

What's hot (20)

Xamarin 概要 @ 2014/10/18 わんくま同盟 東京勉強会 #92
Xamarin 概要 @ 2014/10/18 わんくま同盟 東京勉強会 #92Xamarin 概要 @ 2014/10/18 わんくま同盟 東京勉強会 #92
Xamarin 概要 @ 2014/10/18 わんくま同盟 東京勉強会 #92
 
我が家のフロントエンド開発事情
我が家のフロントエンド開発事情我が家のフロントエンド開発事情
我が家のフロントエンド開発事情
 
Swiftのプロパティオブザーバを使い倒す
Swiftのプロパティオブザーバを使い倒すSwiftのプロパティオブザーバを使い倒す
Swiftのプロパティオブザーバを使い倒す
 
XamarinStudio勉強会 2014/09/08
XamarinStudio勉強会 2014/09/08XamarinStudio勉強会 2014/09/08
XamarinStudio勉強会 2014/09/08
 
「楽しいことだけやる」のがプログラミングの勉強のコツ
「楽しいことだけやる」のがプログラミングの勉強のコツ「楽しいことだけやる」のがプログラミングの勉強のコツ
「楽しいことだけやる」のがプログラミングの勉強のコツ
 
Xamarinとmvvm crossとf#と
Xamarinとmvvm crossとf#とXamarinとmvvm crossとf#と
Xamarinとmvvm crossとf#と
 
これからはフリーランスのエンジニアがもっと増える
これからはフリーランスのエンジニアがもっと増えるこれからはフリーランスのエンジニアがもっと増える
これからはフリーランスのエンジニアがもっと増える
 
Ruby on vim yokohama.vim発表資料
Ruby on vim yokohama.vim発表資料Ruby on vim yokohama.vim発表資料
Ruby on vim yokohama.vim発表資料
 
Xamarin 概要 @ 2014/11/08 第2回 Japan Xamarin User Group Conference 西日本編
Xamarin 概要 @ 2014/11/08 第2回 Japan Xamarin User Group Conference 西日本編Xamarin 概要 @ 2014/11/08 第2回 Japan Xamarin User Group Conference 西日本編
Xamarin 概要 @ 2014/11/08 第2回 Japan Xamarin User Group Conference 西日本編
 
Xamarinを利用したアプリ開発
Xamarinを利用したアプリ開発Xamarinを利用したアプリ開発
Xamarinを利用したアプリ開発
 
がんばらない多言語化 @ FuelPHP&CodeIgniter ユーザの集い #7
がんばらない多言語化 @ FuelPHP&CodeIgniter ユーザの集い #7がんばらない多言語化 @ FuelPHP&CodeIgniter ユーザの集い #7
がんばらない多言語化 @ FuelPHP&CodeIgniter ユーザの集い #7
 
中の下のエンジニアを脱出するための仕事術
中の下のエンジニアを脱出するための仕事術中の下のエンジニアを脱出するための仕事術
中の下のエンジニアを脱出するための仕事術
 
Swift歴2ヶ月でアプリを8本リリースしてみた話
Swift歴2ヶ月でアプリを8本リリースしてみた話Swift歴2ヶ月でアプリを8本リリースしてみた話
Swift歴2ヶ月でアプリを8本リリースしてみた話
 
社内LTネタ ReactNative
社内LTネタ ReactNative社内LTネタ ReactNative
社内LTネタ ReactNative
 
フロントエンドというカオスな世界について
フロントエンドというカオスな世界についてフロントエンドというカオスな世界について
フロントエンドというカオスな世界について
 
Xamarin Native vs Xamarin Forms
Xamarin Native vs Xamarin FormsXamarin Native vs Xamarin Forms
Xamarin Native vs Xamarin Forms
 
10年以上Java屋してたおっさんが 今年からフロントエンジニアやっている話
10年以上Java屋してたおっさんが 今年からフロントエンジニアやっている話10年以上Java屋してたおっさんが 今年からフロントエンジニアやっている話
10年以上Java屋してたおっさんが 今年からフロントエンジニアやっている話
 
「◯◯さんだから仕事をお願いしたい」と頼まれるエンジニアになろう
「◯◯さんだから仕事をお願いしたい」と頼まれるエンジニアになろう「◯◯さんだから仕事をお願いしたい」と頼まれるエンジニアになろう
「◯◯さんだから仕事をお願いしたい」と頼まれるエンジニアになろう
 
Xamarin入門(技術というより心構え編)
Xamarin入門(技術というより心構え編)Xamarin入門(技術というより心構え編)
Xamarin入門(技術というより心構え編)
 
Xamarin 概要 @ 「Xamarin」って何? Wエバンジェリストによる特濃「Xamarin」勉強会 Rev2
Xamarin 概要 @ 「Xamarin」って何? Wエバンジェリストによる特濃「Xamarin」勉強会 Rev2Xamarin 概要 @ 「Xamarin」って何? Wエバンジェリストによる特濃「Xamarin」勉強会 Rev2
Xamarin 概要 @ 「Xamarin」って何? Wエバンジェリストによる特濃「Xamarin」勉強会 Rev2
 

Similar to Swift afterbeginner

第1回 コデアルiOSアプリ勉強会
第1回 コデアルiOSアプリ勉強会第1回 コデアルiOSアプリ勉強会
第1回 コデアルiOSアプリ勉強会
codeal
 
20120413 nestakabaneworkshop
20120413 nestakabaneworkshop20120413 nestakabaneworkshop
20120413 nestakabaneworkshop
Yoichiro Sakurai
 
20120316 designerworkshoppublished
20120316 designerworkshoppublished20120316 designerworkshoppublished
20120316 designerworkshoppublished
Yoichiro Sakurai
 
131207 NECTJ Workshop 2
131207 NECTJ Workshop 2131207 NECTJ Workshop 2
131207 NECTJ Workshop 2
NECTJ
 

Similar to Swift afterbeginner (20)

Swiftビギナーズ勉強会 第1回 @Co-Edo
Swiftビギナーズ勉強会 第1回 @Co-EdoSwiftビギナーズ勉強会 第1回 @Co-Edo
Swiftビギナーズ勉強会 第1回 @Co-Edo
 
Swiftビギナーズ勉強会 第一回@Co-Edo
Swiftビギナーズ勉強会 第一回@Co-EdoSwiftビギナーズ勉強会 第一回@Co-Edo
Swiftビギナーズ勉強会 第一回@Co-Edo
 
iOS豆知識ver0.0.5
iOS豆知識ver0.0.5iOS豆知識ver0.0.5
iOS豆知識ver0.0.5
 
20140822 Swift 勉強会 vol.3 - はぢめての Swift
20140822 Swift 勉強会 vol.3 - はぢめての Swift20140822 Swift 勉強会 vol.3 - はぢめての Swift
20140822 Swift 勉強会 vol.3 - はぢめての Swift
 
第1回 コデアルiOSアプリ勉強会
第1回 コデアルiOSアプリ勉強会第1回 コデアルiOSアプリ勉強会
第1回 コデアルiOSアプリ勉強会
 
Objective-Cプログラマのためのswift導入法
Objective-Cプログラマのためのswift導入法Objective-Cプログラマのためのswift導入法
Objective-Cプログラマのためのswift導入法
 
SwiftによるiOS開発再入門
SwiftによるiOS開発再入門SwiftによるiOS開発再入門
SwiftによるiOS開発再入門
 
PHP でも活用できる Makefile
PHP でも活用できる MakefilePHP でも活用できる Makefile
PHP でも活用できる Makefile
 
Yahoo!アフィリエイトソン最優秀賞者に学ぶ Swift講座
Yahoo!アフィリエイトソン最優秀賞者に学ぶ Swift講座Yahoo!アフィリエイトソン最優秀賞者に学ぶ Swift講座
Yahoo!アフィリエイトソン最優秀賞者に学ぶ Swift講座
 
iOS開発でのおすすめライブラリと管理
iOS開発でのおすすめライブラリと管理iOS開発でのおすすめライブラリと管理
iOS開発でのおすすめライブラリと管理
 
iOSアプリ開発 脱初心者に向けて
iOSアプリ開発 脱初心者に向けてiOSアプリ開発 脱初心者に向けて
iOSアプリ開発 脱初心者に向けて
 
Swift事情2014夏 ~ Swift入門 beta6対応
Swift事情2014夏 ~ Swift入門 beta6対応Swift事情2014夏 ~ Swift入門 beta6対応
Swift事情2014夏 ~ Swift入門 beta6対応
 
20120413 nestakabaneworkshop
20120413 nestakabaneworkshop20120413 nestakabaneworkshop
20120413 nestakabaneworkshop
 
アドベント2015ios基礎
アドベント2015ios基礎アドベント2015ios基礎
アドベント2015ios基礎
 
20150514 android
20150514 android20150514 android
20150514 android
 
DevLOVE iPhoneアプリ勉強会
DevLOVE iPhoneアプリ勉強会DevLOVE iPhoneアプリ勉強会
DevLOVE iPhoneアプリ勉強会
 
はじめる前に知っておきたいAndroidアプリ開発のポイント
はじめる前に知っておきたいAndroidアプリ開発のポイントはじめる前に知っておきたいAndroidアプリ開発のポイント
はじめる前に知っておきたいAndroidアプリ開発のポイント
 
20120316 designerworkshoppublished
20120316 designerworkshoppublished20120316 designerworkshoppublished
20120316 designerworkshoppublished
 
131207 NECTJ Workshop 2
131207 NECTJ Workshop 2131207 NECTJ Workshop 2
131207 NECTJ Workshop 2
 
プログラミングはじめの一歩 先生:関根 元和
プログラミングはじめの一歩 先生:関根 元和プログラミングはじめの一歩 先生:関根 元和
プログラミングはじめの一歩 先生:関根 元和
 

More from Kiminari Homma

Agu itr 20100901_communication
Agu itr 20100901_communicationAgu itr 20100901_communication
Agu itr 20100901_communication
Kiminari Homma
 

More from Kiminari Homma (18)

Smart Communication Award 2016 モバイル電話サポートSDK
Smart Communication Award 2016 モバイル電話サポートSDKSmart Communication Award 2016 モバイル電話サポートSDK
Smart Communication Award 2016 モバイル電話サポートSDK
 
コールセンターを知る
コールセンターを知るコールセンターを知る
コールセンターを知る
 
IPメッセージング勉強会「WebのリアルタイムとIPメッセージング」
IPメッセージング勉強会「WebのリアルタイムとIPメッセージング」IPメッセージング勉強会「WebのリアルタイムとIPメッセージング」
IPメッセージング勉強会「WebのリアルタイムとIPメッセージング」
 
私の考える Startup Geeks
私の考える Startup Geeks私の考える Startup Geeks
私の考える Startup Geeks
 
Twilio serveless architecture
Twilio serveless architectureTwilio serveless architecture
Twilio serveless architecture
 
スタートアップが AWS Lambda を導入した理由
スタートアップが AWS Lambda を導入した理由スタートアップが AWS Lambda を導入した理由
スタートアップが AWS Lambda を導入した理由
 
電話とは何か、そして Twilio の正体
電話とは何か、そして Twilio の正体電話とは何か、そして Twilio の正体
電話とは何か、そして Twilio の正体
 
Call cloud
Call cloudCall cloud
Call cloud
 
Erlang
ErlangErlang
Erlang
 
Erlang
ErlangErlang
Erlang
 
Agu itr 20100901_communication
Agu itr 20100901_communicationAgu itr 20100901_communication
Agu itr 20100901_communication
 
Rfid
RfidRfid
Rfid
 
Java script4
Java script4Java script4
Java script4
 
Java Script4
Java Script4Java Script4
Java Script4
 
Javascript3
Javascript3Javascript3
Javascript3
 
Jsonp
JsonpJsonp
Jsonp
 
可読性
可読性可読性
可読性
 
Java script1
Java script1Java script1
Java script1
 

Recently uploaded

Recently uploaded (10)

知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
 
Utilizing Ballerina for Cloud Native Integrations
Utilizing Ballerina for Cloud Native IntegrationsUtilizing Ballerina for Cloud Native Integrations
Utilizing Ballerina for Cloud Native Integrations
 
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアルLoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
 
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
 
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
 
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
 
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
LoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイスLoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイス
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
 
新人研修 後半 2024/04/26の勉強会で発表されたものです。
新人研修 後半        2024/04/26の勉強会で発表されたものです。新人研修 後半        2024/04/26の勉強会で発表されたものです。
新人研修 後半 2024/04/26の勉強会で発表されたものです。
 
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
 
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
 

Swift afterbeginner