Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

はじめてのiOSアプリ開発 Swift対応版

2,272 views

Published on

5/25 第8回Swift勉強会 ( https://atnd.org/events/64422 )の発表資料です。

Published in: Software
  • Be the first to comment

はじめてのiOSアプリ開発 Swift対応版

  1. 1. はじめてのiOSアプリ開発  Swift対応版 デジタルサーカス(株)長谷川智希
  2. 2. 長谷川智希 とも き @tomzoh
 とむぞう 開発系趣味 その他趣味 iOSアプリ開発, Webサイト開発 レンタルカートレース, 電子工作(mbed), … TOMZOH お仕事 スマホアプリ受託開発 Mgr デジタルサーカス(株) 副団長CTO
  3. 3. デジタルサーカス(株) ・ Webサイト受託開発 ・ スマホアプリ受託開発
 
 ・ 自社サービス (PHP, Drupal, CakePHP) (iOS, Android)
 
 (http://appbuilder.jp) Twitter: @tomzoh
  4. 4. デジタルサーカス(株) ・ Webサイト受託開発 ・ スマホアプリ受託開発
 
 ・ 自社サービス (PHP, Drupal, CakePHP) (iOS, Android)
 
 (http://appbuilder.jp) Twitter: @tomzoh
  5. 5. Twitter: @tomzoh
  6. 6. Twitter: @tomzoh
  7. 7. 今日のテーマ: はじめてのiOSアプリ開発 Swift対応版
  8. 8. http://www.amazon.co.jp/dp/4798043656
  9. 9. iOSアプリ開発の要素 • 言語そのものの仕様、書き方。 • 配列、Optional…、非同期プログラミング。 • 言語の仕様変更、機能追加。 Swift / Objective-C • テーブル(一覧)、ボタン、ラベル、画像…。 • iOSのバージョンによる使い方の変化。 Cocoa Touch • アプリとしてのXcode。ファイル、プロジェクト、画像… • UI設計の変遷。コードから、.xib、.storyboard、SizeClass… Xcode
  10. 10. ネット vs 書籍 • ネット • 速報性が高い • 断片的 • 信頼度のばらつきが大きい • 古い情報も残り続ける • 書籍 • ある時点のスナップショットとして機能する • 信頼度のばらつきが小さい
  11. 11. 基礎知識識と環境整備
  12. 12. Xcodeの使い⽅方、UI開発の仕⽅方
  13. 13. Swift ⾔言語仕様
  14. 14. 画⾯面部品(ビュー)の概要 (Cocoa Touch)
  15. 15. ⼀一覧表⽰示、ライブラリ、APIからの 情報取得。画⾯面遷移。
  16. 16. ⾼高度度な機能: データ保存、 GPS、 タブバー …
  17. 17. ⾼高度度な機能: 写真撮影、 アプリ連携、 AppStore公開
  18. 18. Xcode
  19. 19. 画面の実装 • 画面の実装にはStoryboardを使う。 • プログラムから画面を作る • xibを使う • Storyboardでできることは出来るだけStoryboardでやる。 • プログラムからやxibは上級者になってから。 • 古い情報ではプログラムからやxibを使う例が多いので注意。 • ビューの大きさ制御にはAutoLayoutを使う。 • 「Use Auto Layoutチェックボックスをオフにします」 • 「新しい方法の使い方が分からないから古い方法を使う」は幸 せにならない。
  20. 20. OSSライブラリ • 原則としてOSSライブラリは使った方が良い。 • 自分が作ったものより良い実装は世の中に存在する。 • オレオレライブラリをあまり育てない方が良い。 • OSSライブラリのカスタマイズはしない。 • しなければならない状態になるのであればOSSライブラリの使 用を再考する。 • 万人に有効なカスタマイズならまた話は別。フィードバックし てあげよう。 • 要件定義でどのOSSライブラリを使うか決めておき、要件をそ れに合う様にコントロールする。それができないなら使わない。
  21. 21. ライブラリ管理 • ライブラリ管理にはCocoaPodsを使う。 • CocoaPodsを使わないメリットは無い。 • Swiftのライブラリはファイル or CocoaPodsで。 • iOS8以降サポートで良ければCocoaPodsを使う。 • iOS7サポートの必要があれば.swiftをファイルとしてプロジェ クトに追加する。 • 書籍で紹介した方法はCocoaPodsがSwiftライブラリをサポー トする前の手順。現状はお勧めしない。
  22. 22. Swift / Objective-C
  23. 23. Swift vsObjective-C • どちらを使うべきか • Swiftだけ使うことをお勧めする。 • Objective-Cのイケてないところが解決されている。 • とは言っても… • Objective-Cベースのライブラリにも優秀なライブラリは多く 存在するので、それは活かしていきたい。 • Objective-Cのことも少し知る必要がある。 • …と言うことはSwiftの登場によってプログラマラクになってな くね? • 知識的にはそうかもしれないけど、確実にiOSアプリを作る 手間は減っている。
  24. 24. スマホプログラム • 「スマホならでは」のプログラム • リソース(CPUパワー/メモリ)の制限が大きい。 • アプリ・画面のライフサイクルが複雑。 • 動作中、バックグラウンド遷移、PUSH通知… • nilへのアクセスでアプリが落ちる。 • 非同期処理。 • 単純に上から下に順番に実行されない。
  25. 25. Swift • Swiftの勘所 • Optionalに尽きる。 • Optionalの理解をしないままにSwiftを書くと大惨事確定。 • 正しくない理解のもとに書かれた情報が多いので要注意。 時間ありそうなら Optionalのお話
  26. 26. Cocoa Touch
  27. 27. Cocoa Touch • 「iOS開発」のコアは? • Cocoa Touchの理解。 • これを理解しないとiOSアプリは作れない。 • まず理解すべきは? • UIKit • UILabel(文字表示), UIButton(ボタン), UIImage(画像) • UIView(汎用部品) • UITableView(一覧) • UINavigationController(画面履歴。「戻る」ボタンとか。) • 学習方法は? • 使い方はObjective-CでもSwiftでも同じ。 • ネットやAppleのドキュメントを読もう。
  28. 28. まとめ • おすすめのiOSアプリ開発手法。 • 画面開発はStoryboardを使う。 • ライブラリは積極的に使う。 • ライブラリ管理はCocoaPodsを使う。 • Swiftを使う。 • Optionalを正しく理解する。 • 情報のスナップショットとしての書籍をうまく使ってく ださい。
  29. 29. ありがとうございました。 @tomzoh デジタルサーカス(株)

×