年末なので,聞いたり,自分が経験した iOS 開発手法についてまとめておこうと思います.
個人的にはようやく今年の後半になって Swift3 のみで書かれたアプリ開発に参加しました.
以下のライブラリ,ツールの選定についても Swift3 を考慮した選定となっていると思います.
また,開発手法に関してもオブジェクトの配置は,コードベースの AutoLayout を採用したりと変化がありました.
来年もさらに,デバイスのスクリーン サイズが増えそうなので,AutoLayout まわりの知識はより必要となっていくと思われます.
以前,AutoLayout についてざっとチェックした際には,InterfaceBuilder での作業が繁雑であること.また,コードベースの AutoLayout は馴染みのない記載方法だと感じ,あまりいい印象はなかったのですが,最近では AutoLayout + ライブラリ(snapkit など)の利用でレイアウト制約を記述する負担を軽減する手法も紹介されつつあるようです.
今後の技術トレンドとしては,プロトコル指向についてウォッチしていきたいなと考えています.
▼ 開発ツール,ライブラリ
Xcode | これがないと始まらない標準 IDE |
CocoaPods | ライブラリ管理 |
Carthage | ライブラリ管理 |
Bundler | CocoaPodsのバージョンを管理. |
SwiftLint | コードの品質チェックツール |
Swimat | Swift の Formatter |
mergepbx | pbxファイルのマージ用 |
SnapKit | AutoLayout を DSL 風に記述できる. |
R.swift | Storyboard名や画像名をプロパティーとして取得できる. |
Alamofire | 通信ライブラリ |
ObjectMapper | |
AlamofireObjectMapper | |
Kingfisher | 画像ダウンロード |
XCGLogger | ロガー |
KeychainAccess | Keychainを簡単に使うライブラリ |
RealmSwift | データベース |
▼ SwiftLint
https://github.com/realm/SwiftLint
インストール方法
brew install swiftlint
▼ mergepbx
Xcode プロジェクトの構成情報 pbxproj ファイルを Git でマージするときに手助けしてくれるツール.
インストール方法
$ git clone https://github.com/simonwagner/mergepbx
$ cd mergepbx/
$ ./build.py
$ sudo cp mergepbx /usr/local/bin/
▼ SnapKit
https://github.com/SnapKit/SnapKit#installation
http://snapkit.io/docs/
▼ R.swift
StoryboardからViewControllerを取得する
画像リソースを取得する
フォントやLocalizable Stringを取得する
R.swiftを使ってStoryboard名や画像名のTypoを0にする
▼ Kingfisher
KingFisher は,SDWebImageを参考にSwiftで実装されていそうです.
[Swift]KingFisherで画像URLから画像データをダウンロード
▼ KeychainAccess
SwiftでKeychainを簡単に使うライブラリ “KeychainAccess” を書きました
▼ RealmSwift
公式ドキュメント
https://realm.io/jp/docs/swift/latest/
▼ 参考:
iOSアプリケーションでコードベースのレイアウトを積極利用する
▼ 今後,チェックしたい技術トレンドなど
オブジェクト指向とプロトコル指向
画面遷移(ルーティング)