hirothings

ひろしが想うwebのモノコト

iOSDC2016のレポートを書きました。少し長いですが読んでください。ポイしないでください

iOS DC(Developer Conference)に行って来ました。

エンジニアとして、大規模なカンファレンスに参加するのは人生初。 最高すぎたのでブログにします。

会場の雰囲気

練馬にある会場に行くと、どこを見てもiOSエンジニアだらけ。 どなたかが、「練馬に爆撃が起きたら..」とTweetされてましたが、 ほんとに爆撃来たら、日本中のiOSプロジェクトが停止しかねないレベルでいました笑

ノベルティも、Tシャツ, ステッカー..色々あったのですが、 最高だったのは、無限コーヒー。

f:id:hiroshings:20160825031846j:plain

人気すぎて、途中で無限が無限でなくなる。事態はありましたが、 カップのコピーが好きでカップだけ1個持って帰りました。

続いて、聴いた発表のメモ。

海外のカンファレンスに登壇する @shu223

speakerdeck.com

海外で登壇する際の色々な工夫や苦悩が散りばめられた発表。 登壇前の海外の方とのskypeを流してくれたが、本当にしどろもどろでビックリした笑

それでもスライドの下部にメモを作って、 ここでClick.., butは強調する, など書いて、Transcriptを書けば何とかなる。 とのこと。

度胸と本当に実現したい気持ちさえあれば、大抵なんとかなるんだなぁと勇気をもらいました。

RxSwiftは開発をどう変えたか? @_ishkawa

blog.ishkawa.org

個人的に一番、面白かった発表。
RxSwiftの概念は、「イベントストリームの抽象化」とのこと。なるほど。

また、天気予報取得アプリのサンプル実装を例に、 Rxを使わない場合、使う場合を実例を挙げて比較してくれたのが分かりやすかったです。

RxはClassの初期化のタイミングでイベントのフローを上から下に書けるのがメリットで、 処理が追いやすいのがメリット。
案件で使用していますが、そのメリットはかなり感じます。 特に非同期処理やコールバックを使うときに、

どれを使おうが、ファイル間をぴょんぴょん飛ぶことになるので処理が置いづらく、
コールバック地獄のように、状態の確認が容易でなくなりますが、
ここら辺が改善されます。

分かりづらいですか?こっちの世界に来ると複雑じゃないんですよ と言ってたのが個人的にツボ笑

あと、スライドが一番見やすかった。他の発表だと下のほうが、後頭部とかで見えなかったが、 そこら辺も考慮されていた印象。 あと、スライドをsafariで写していて、どうやってるのか調べたところ reveal.js

というフレームワークで書いているようです。これは使ってみたい。

iOS10時代のCollectionView最新つかいこなし @TachibanaKaoru

speakerdeck.com

iOS10からデフォルトで、Collection Viewのライフサイクルで
reuseの際、キューにStoreされるcellの数が増えた。
具体的には、1画面⇒1.5画面になるとのこと。

これにより、パフォーマンスが良くなるそうです。

prefetchDataSourceのデリゲートメソッドが追加
CollectionView, TableViewのデリゲートメソッドにこちらが追加されることで、描画前に cellの高さ計算や画像読み込みを設定できます。
例えば、非同期で画像取ってて、早くスクロールすると代替画像が見えちゃってるとことか、
スクロールしたタイミングで表示できるようにできたりするのかな..ちょっと検証してみます。

ドッグフーディングしやすい環境を整える @mao_nishi

speakerdeck.com

ヤフオクの社内βテストにいかに参加してもらうよう工夫したかTIPSを惜しげも無く披露していただきました。

@mao_nishiさんも語ってましたが、自社アプリならEnterPrise版の配布は必須かと思います。 次点でTestFlightかと

一番参考になったのはテスト版のみ、フィードバックボタンをアプリのUIとして用意すること。
しかも、そのフィードバックがSlackに連携され開発メンバーに飛んで来る仕組みを作ったこと。
プロトタイプ開発を行なううえで是非取り入れたい仕組みだと思いました。

メリットとして、

  • チームのモチベーション向上
  • 良くないものは良くないと言える文化ができた

とあり、ユーザーの声が一番、プランニング層、クライアントを動かすため特に後者は大事だなと思いました。

なんと、そのフィードバックの仕組みをGithubにMITでUPしてくれたとのこと..カンゲキ。。。 github.com

ハッピーな開発チームを築くために iOSエンジニアがしたこと @haranicle

speakerdeck.com

元ディレクターなので、チームマネジメント的な面で印象深かったのはこのLT。

開発しているサービスがグロースするためにしたこと

ドッグフーディングランチと競合調査ランチ: 長期案件や改善案件を行なう際は、受託案件がメインの自社でも取り入れて良いと思いました。

成長できるようにするためにしたこと

StoryBoard勉強会: 何がOS標準のデザインなのか、逸脱したデザインを作ることにどれだけ工数がかかるのかを理解するにはStoryBoardをデザイナーが触ることも必須だと思っているので、勉強会やりたい

健康でいられるようにするためにしたこと つらくなったら逃げてもいいような雰囲気を作る。チームでものづくりをしている以上、これ本当大事。

感想

自社以外のiOSエンジニアと会ったことが数名しか居なかったので、こういった機会に色々なひとと交流できたのは凄い楽しかったです。
ラーメン屋店長 ⇒ webディレクターになったりして、エンジニアになって1年というタイミングで、
今までエンジニアコミュニティにどこか外からお邪魔している感が若干あったのですが、ようやくその感覚もなくなってきました。
色々と刺激を受けたので、iOSエンジニアとして更なる飛躍をするべく頑張ります。