LoginSignup
7
4

More than 5 years have passed since last update.

iOS開発経験1年未満のエンジニアがWantedly 技術見学会 〜iOS編〜 に参加して学べたこと#WT技術見学会

Last updated at Posted at 2017-06-01

Wantedly 技術見学会 〜iOS編〜の内容が良くわかるブログ↓
http://dev.classmethod.jp/smartphone/iphone/event-report-wantedly-technical-tour-ios/

Qiita記事でもよくお見かけする、
技術力の高いエンジニアが多く在籍されるwantedly, Incの勉強会に
iOS & android開発経験10ヶ月ほどのエンジニアが参加して学べたことを書いておきます。

各発表の内容は上記リンクのブログにて
しっかりとまとめられているので、この記事は筆者の学びのみです。

「Wantedly People ViewModel with Rx」

  • RxSwiftがわからないので、実装のコードは全然読めませんでした。。。
  • MVVMは以下のような場面で使ってる
    ↓こういうことをやりたくなったら思い出してスライドを見よう!
    • 入力フォームにリアルタイムでバリデーションかけてユーザーに警告のラベルを表示
    • 通信エラーをハンドリングして、アラートを表示させ、再接続を試みる
  • 本来、MVVMではViewModelからViewを操作しない。一度ViewControllerを介する
    • ただしコードの可読性が悪くなるなどあり、
      WireFrameを通してViewを操作(label出したり)できるっちゃできる
  • Viewバインド、relamのNotification使うと結構解決するよ、とのこと

「Wantedly Peopleのスキャン画面の裏側」

  • 画像処理の内容は難しいので「すごい!」としか。。。
  • 複雑な処理のデバッグ方法の問題と解決策
    • 問題
      • リアルタイム画像処理のような複数な処理で、
        実行結果がおかしかった時、どの処理が問題なのかの特定が難しい
    • 解決策
      • デバッグ版では、最終結果以外の
        各演算処理の結果を常に表示させるようにしておく
  • 本題ではないけれど、pod 'tensorFlow-experimental’面白そう

「Wantedly Peopleの連絡先一覧について」

  • 時間がかかっていた処理の問題と解決策
    • 問題
      • 連絡先一覧画面を表示するのにめっちゃ時間が掛かっていた
    • 解決策
      • 独自型のプロパティをたくさんもつ、UserModelをrealmObjectから
        structのオブジェクトに変換するのに時間がかかっていた
      • 一覧画面用にプロパティを絞ったUserDisplayModelを作成し、そちらを使うよう変更した
    • 結果
      • 速度が1/10以下になった
  • Modelもclassじゃなくてstructなんですね〜。それがswiftなんですね〜…

「限られたリソースで進める段階的なSwift移行」

  • 工夫まとめ
    • 移行は一気に全部やらずに、段階的に進める。
    • 新規機能や新規画面で試す
    • 既存実装の置き換えを意識して懸念点を潰しておく
  • 感想:筆者は今、swift2→3のバージョン移行をやっているのですが、こっちも段階的にやりたいです…

おわりに

全体を通して、MVVMやRxSwiftが前提の内容であり、
こんな自分が参加してもいいのかな?と思っていたのですが、
個人的には参加させて頂けてよかったと思っています。

7
4
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
7
4