#はじめに
#####swiftとは
・Apple社が2014年に発表したiOSおよびmacOS、Linuxで利用できるプログラミング言語
・2015年にOSS化
・現時点での最新Versionは4(正式リリース:2017年09月19日)
・コンパイラ言語(静的型付き言語とも言う)
・フロントエンド、バックエンドともに利用できる
・技術情報とコミュニケーションを目的としたカンファレンス「try! Swift」が毎年東京で開催されている
#初心者の自分が経験したこと
とにかくバグがうざい!笑バグの真なる脅威を感じたのはアプリの実機テストができる様になった段階の時。黄色のバグは最初のうちは見逃しがちだが、実機となると完全にデバッグしないときちんと正常に動作してくれない。あと、英語でバグの内容が書かれているのでみたことのあるバグは慣れで解決できるが、初めて見る難しいバグは対処不可能!そこから脱出するために私が実行した方法が、基礎に戻るということ。一つ一つの用語の意味を頭に完全に入れ切ることでバグを未然に防ぐことができるようになりつつある。
#用語集
・TableView(Swiftのdelegateの理解)
Swiftの独特のdelegateを自力で正しく扱えるか。
・AutoLayout
やや癖のあるAutoLayoutを自力で正しく扱えるか。
・SwiftUI
まだマストではないけど、必要!
・Alamofire, Moya (URLSession)
自力で扱えるようになりたい。始めたばかりの頃はclosureが難しい!
・Codable
せっかくならCodableも使えるようになりたい。
・Firestore
これを使って課題アプリを作る!初心者でもマッチングアプリが作れます。
・Realm (アプリ要件に合えば!マストでは無い)
扱いやすいローカルデータベース。API通信も別で挑戦してみたい。
・MVVM
綺麗にMVVMが組めていればそれなりに技術力があるように見える。
・RxSwift
RxSwiftを使うだけなら誰でもできるけど、MVVMなどのアーキテクチャと合わせて綺麗に扱えているかどうかがポイント。
・マテリアルデザイン/フラットデザインなどの理解
完全にマテリアルデザインに準拠する必要は無いけど、最低限のポイントは抑える必要あり。スキューモーフィズムの違いや変遷は抑えたい。
・適切なアニメーションライブラリの使用
正解は無いし、必ずしも必要ではない。あり過ぎても良く無い。