狠狠撸

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

More Related Content

はじめての颈翱厂アプリ开発 厂飞颈蹿迟対応版