SwiftとiOSアプリ開発の学習のため、オンラインメモ帳サービスSimplenoteのクライアントアプリを作ってみました。iOSアプリの作成自体初めてなので色々はまりましたが、年明けから作り始めて一通り形になったので、同じように学習中の方に参考になればと思い、以下に公開します。
このアプリには、以下のような要素が含まれています。
- テーブルビュー-詳細ビュー形式の画面構成・画面遷移
- Alamofireを用いたサーバーへのアクセス
- SwiftyJSONを用いたJSONデータの処理
- MarkingbirdによるMarkdown形式のHTML変換とUIWebViewによる描画
- サーバーから取得したデータをCore Dataのハンドリング
- NSFetchedResultsControllerを用いたCore Dataとテーブルビューの同期
- スタティックセルのテーブルビューを用いた設定画面の構築
- UISearchController (iOS8から導入) による検索バーの実装
なお、現時点ではノートの編集機能やタグのサポートはありません。また、見栄えに関してもあまり考慮していません。Simplenoteには既にiOS用公式アプリがありますので、実用面で役に立つものではないです (Markdown表示に関しては、公式アプリにはありませんが)。あくまで、Swiftを使ってどのようにきれいにコーディングするかを目的として作成しています。
作ってみて感じたのは、やはりプログラミング言語の学習は単に文法を理解することだけではなく自で分で使ってみることが重要ですね。そうすることで、何故そのような言語仕様になっているか、どの機能をどのような場面で使えばよいかが分かってきます。機会があれば、このアプリを作成する上でポイントになった箇所などを紹介していきたいと思います。