2018年振り返りメモ

iOSプログラマ3年目。転職1年経過。

やったこと

iOS

  • 新規アプリ1件(小規模)、新機能追加案件そこそこ、小規模な案件たくさん
    • RxSwiftとかMVVMっぽいのとかそれなりにモダンなモノに触れたのは収穫だったし、ViewModelにXCTestを使えたので安定した品質を出せたと思う
      • ただ、最近勉強し直すとあまりよろしくない使い方をしていたようだったので、ベストプラクティスには沿えていなかったよう

Android

  • 新機能追加案件に2ヶ月+テスト&フィードバックで1ヶ月
    • Kotlin100% + MVVM(?) + RxJava/RxKotlin で構成がiOSとほぼ一緒だったので比較的楽に参入できた
      • iOS脳で突っ込んだけど、「あーiOSでいうところの〇〇ね」という気持ちとRxのおかげでだいたいなんとかなった(?)
        • xmlは直にいじれて楽だったけど、appcompatみたいなところは苦戦してた
        • Dagger便利だけどよくわからないまま終わってしまった
      • (そもそも最初から自動テストがなかったから仕方がないというのはあるけど)JUnitAndroid SDKのあれこれをそのまま扱えないのがしんどく、自動テストのカバレッジが壊滅した(UIテストは手が出せなかった)
        • Androidテスト本買えたので立ち向かえるようにしておく

Vue.js(Nuxt.js)

  • Nuxtに途中参加1ヶ月くらい
    • JavaScriptだいたいわかった
    • Vueコンポーネントはネイティブアプリ屋にもわかりやすかった
      • iOSAndroidを両方触っていたので「あーiOS/Andoridでいうところの〇〇ね」という気持ちでなんとかなった
        • 特にAndroidのデータバインディングとVueのテンプレート構文はだいたい一緒という気持ちで進めた(違うけど)
  • Vue CLI 3 で新規案件2ヶ月くらい
    • CSSなにもわからない
      • レイアウトはFlexboxファーストでFloatその他は2番手以降に考えていくのが現状では正解っぽい
    • VuexとVue Routerが助けてくれたのでネイティブ開発者の知見の枠内で十分に(?)戦えている気がする
      • Vuexになんでも突っ込んでたけど流石に危険を感じたので構成を練り直した
        • バケツリレーの解決策(特に親→子→孫へのフロー)として使うのはやめにした方がよさそう
          • そもそもURLが持つべき情報もあるという考え方がすっぽ抜けていたのはよろしくなかった

その他デバイスPython

  • 出るのかなあ(未公開)
  • Python人気らしいけどJSと比べて使いやすいかというとどうなんだろう

雑感

  • 去年はiOSでObj-C9割だったことを考えると手を限界まで広げたので満足
    • ただ個々のモノを見ていくと専門としては不足している器用貧乏な感じなのが不安
      • フロントフルスタックとして生きていくのか/いけるのかというと・・・
        • ちょうどWEB+DB Pressのlaisoさんの記事を読んだので、「クライアントサイド何ができるかだいたいわかりますよ(やろうと思えばできますよ)。じゃああなたのやりたいことをどれでやるか考えましょうねー」くらいの動き方は一応できそう。blog.lai.so
        • あとはデザインまわりとか。やっぱり画面作りから関われるようになった方がコード書く側としても工数をコントロールし易いし、最終的に使い易いものが作れるはず。たぶん
        • テストは最低限どれでも書けないといけないのでAndroid側はもう少し頑張らないと
  • FirebaseはAuth/DynamicLink/Analyticsは使っているけどかなり便利なので特にAuthは乗せ替えたい
  • Flutterやらないとなあ