自分はもっぱらWebアプリケーション開発を専門としていますが、友人の会社から「iOSアプリを開発してほしい」という話があったのでiOSアプリ開発を始めた。
実務を始めて1ヶ月半ほど立ったので、自分の能力習得プロセスのメモ的な日記。勤務記録を見る感じ今は90時間ぐらいやったところ。
- Webアプリケーション開発歴 7年目
- Android 4.x時代に半年ほどJavaでアプリ開発の実務経験
- 4年ほどReact, VueのSPA開発歴あり
- ReactNativeでマルチプラットフォームアプリの個人開発経験(ストア申請で躓いた)
- iOSネイティブをちゃんとやるのは始めて
- Androidユーザー。タブレットはiOS。
- 最初は簡単なViewの修正IssueをAssignしてもらった
- Swiftはエンジニア始めた当初から触っているRubyと似た文法なので書くだけなら問題なかった
- Storyboard, xibに慣れることが大変だった
- Xcodeがマジで鬼門。
- 普段使い慣れたVSCodeとキーバインディングが違くてだいぶ辛い
- 使用頻度の高いショートカットキーは早めに覚えた。
- ストレスがある開発だとWebに逃げたくなる。嫌いにならないための試み。
- 楽しい。
- アプリデザインを片手間でやってい時期もあり、UIパーツの名前がわかったりするとググり力になる
- Issueの粒が大きくなってきて、触る範囲も増えてきた結果、設計の意図がうっすらとわかってきた。
- VIPERアーキテクチャってのを使っている。ビッパーではなくバイパーと読むらしい。
- Viewならモックさえあれば、それなりに再現できるようになった。
- View以外はほとんどSPAの感覚で書ける。
- 言語が違うだけなイメージ。VueよりはReactのイメージ。
- 「iOSはReactNativeでいいじゃん」みたいな気持ちだったけど、今はSwiftで書くのもありな気がした。
- ReactNativeでは難しい表現も書ける。UI寄りのエンジニアとしては楽しい。
- UI系のライブラリは、導入する前に自分でかけそうかどうか検討している。基本自分で書いている。
- 細かい動きのハンドリングが出来ないのでWebの開発でもこの方針で書いている。
- 分からないこともある
- 参考にすべきOSSってなんなのか?
- そもそもSwiftのメジャーバージョンが違う例が多くてうーん…という感じ。どうしているのか。
- メンターがいると嬉しい。自分はWebフロントを教えられる。
- RxSwiftに興味を持っている。触るだけ触っておきたい。
- 公式ドキュメントをちゃんと読んでいきたい。英語だけど頑張る。
- MENTAとかで、気軽に聞けるメンターを探すのもありかと思ってる。
- 購入したiPhone XRのRedがかっこいいので、Androidからの乗り換えもありかも。