Appleの公式iOS Swiftチュートリアル「FoodTracker」をやってみた感想と勉強の動機
なぜiOSの勉強をはじめたのか
ここ最近iOSのプログラミングの勉強をやっています。
元々Androidのアプリを開発してリリースしているアンドロイダーだったのですが
昨年からiPhone7をメインのスマフォにしてしまいました。
自分のアプリを使いたい時に、Android版しか存在しないため
サブ端末であるAndroid機をゴソゴソと取り出す日々に
「この状況はおかしい」
と苛立ちを感じました。
iPhone7は高かったし、まだまだ使うつもりなので状況を打破すべく
やっと重い腰を上げてiOSに取り組むことにしたのでした。
正直言いますと、Appleのデベロッパー税が年間1万円以上かかったり
アプリ審査が厳しく、時にちゃんと審査してないんじゃねえか?疑惑の話を
耳に挟むことがありましたので、今まで腰が引けていました。
しかし、取り組むと決めたからにはアプリをリリース出来るよう頑張りたいです。
「ポケット糖質量」とは
糖質制限をしている方などを対象に、糖質量をリスト表示
検索出来るようにしたシンプルなアプリです。
データも手元で作成しており、Web検索するより効率よく糖質量を見ることが
出来るようになっています。
Web版「ポケット糖質量」Ruby on Railsで作りました。
Android版「ポケット糖質量」Web版より使いやすいです(;^ω^)
Appleの公式iOSチュートリアル「FoodTracker」とは
Appleの公式iOSチュートリアル「FoodTracker」は↓ここ↓です。
developer.apple.com
Swift3(2017/11/22現在)を使って、
食品データ(食品名・画像・評価の★)をリスト表示、
詳細表示します。
データの追加・削除・更新も行います。
スマホアプリでは定番の処理なのですぐに役に立ちます。
学習者である私の現状
プログラミング経験
Android(Java)で開発経験ありですが、レベルは初中級ぐらいです。
英語は中学レベルの文章を読解出来るレベルです。
iOSは2年以上前に入門書をナナメ読みしたけど、全て忘れてしまったレベルです。
私の開発環境
Mac book pro Retina 15inch MID2015 メモリ16GB SSD512GB
Mac OS Sierra バージョン10.12.6
Xcode9.1
Swift3.2
Base SDK Latest(iOS 11.0)
iOS Deployment target iOS10.0
ソースコード
公式サイトには無いコードも入っています。
すぐ試せそうな処理を入れてみました。
アラートダイアログ、設定値などの永続化、画面の背景画像設定、スプラッシュ画面など
github.com
FoodTrackerで学んだこと
このチュートリアルで学んだことをざっと挙げますと以下のようになります。
Xcodeの使い方
プロジェクトの作り方
プロジェクト内の情報の見方
編集画面の切り替えや展開の仕方
ビルドや実行の仕方
ターゲットの端末でのプレビューの見方
storyboardを使ったUIの作り方
sceneに画面のパーツを配置する
inspectorで属性を指定する
Auto Layoutを使用しconstraintsでレイアウトに制約を指定する
StackViewで同じ方向にあるViewをグルーピングする
Navigation Barを使用する
Viewをソースコードに接続する
pushとmodalの画面の出し方の違いを理解する
セグエを使い画面遷移を行う
カスタムビューを作る
ソースコードから動的なViewを作る
storyboardにカスタムビューを表示する
InterfaceBuilderの機能を使用してアプリの実行をせずに表示確認する
asset catalogを利用してプロジェクトに画像を設置する
Controllerに処理を記述する
コントローラーのライフサイクルとコールバックを理解する
delegateメソッドの無いViewにTap Gesture Recognizerを利用する
Image Pickerを実装する
画面遷移した際にデータの変更が発生した時、遷移元の表示も変更する
データを永続化する
データモデルを実装する
データ構造を実装してデータの永続化や読み込みなどに使う
Swiftについて
Optional型の理解をする
guardを理解する
感想
簡潔でありながら大事な所は押さえてある良いチュートリアルだと思いました。
あくまでもアプリの作り方であって、Swift言語の説明はOptional型のところなど
を限定的に説明する程度でした。
言語仕様は別のところで覚えたほうがよいですね。
StoryBoardで画面を作っていく方法は独特で、チュートリアルでかなり
取り上げられていたのは良かったです。
たまに古いSwiftで書いてあるのか、コンパイルが通らない箇所がありました。
でもInterface Builderの接続が切れた?時の方がずっと訳わからなかったです。
英語は難しい表現は無いので、Google翻訳を併用すれば問題ないと思いました。
と、いいつつわからない箇所は日本語でググってQiitaとかを参考にしていました。
どんなに簡単なことでも、初学者にとっては情報を残していただけているという
ことはほんとに有難いことです。
情報を書いてくださってる方々、ありがとうございました!
今後ですが、
もうこういう公式チュートリアルって無いのでしょうかね(・・?
APIのリファレンス見ただけで実装出来る自信は無いんですが、
(実装出来たとしてもすごい時間かかりそう)
書籍を買った方がいいのかどうか、迷っています。
公式チュートリアルがSwift3なのにすでにSwift4が出てるんですが。。
書籍の陳腐化が激しいと聞いたことあるしどうしたものか。
とりあえず以下のことを知りたいと思っています。
しばらくはググってなんとかしてみようかな。
・複数の画面サイズに対応する良い方法
・CoreDataの使い方
・HTTP通信
・外部ライブラリの利用
・ローカルに保存したファイルの読み込み
以上です。