行ってきた

iOSDC 2018 へ参加しました!

最近は、SwiftよりJavaScriptを書いている Hondaです。
8/30~9/2にわたって、早稲田大学 理工学部西早稲田キャンパスで行われた iOSDC 2018 に一般参加してきました。

当日の様子

当日の画像は、iOSDC スタッフブログ で公開されていました。

cv.三石琴乃 さんのスポンサー紹介から熱い本編三日間でした。

特に参考になったセッション

CodePushとReact Nativeで緊急OTAリリース!了解!


弊社でもReact Nativeを使って、クロスプラットフォームでアプリを開発をしています。Web開発とは違いiOSには、Appleの審査が必要です。そのため、緊急リリースが必要な場面であっても、どうしても待ち時間が発生してしまいます。

CodePushは、マイクロソフトが開発しているSaaSです。React Nativeで動作するJavaScriptのコード本体(jsBundleの部分)を、リモートから更新することができるサービスです。機能追加等はAppleの規約上で禁止されていますが、緊急な不具合が発生した局面などを想定して、導入の検討を進めていこうと考えています。

海外展開を目指すアプリで実装したセキュアで高速な画像配信の話


海外展開において、レイテンシーは切っても切れない要素です。New Relic Syntheticsを使った、世界各地に設定されている場所からの通信をシミュレートした知見は、大変参考になりました。

弊社でも解析情報を元にアプリの高速化し、よいUXを体験できるよう活用して行きたいです。

iOSエンジニアが知るべきProgressive Web Apps開発のエッセンス


Safariの新バージョンにSearvice Workerが対応したことで、一段と盛り上がっているPWAについてです。個人的に注目していることもあり、気になるセッションでした。

ただ、PWA on iOSの実情が以下であることは、予想外の内容で驚きでした。

  • Service Workerが使えるようになった。
  • Web Clipがweb Manifestに対応した。
  • 実はこれだけ

又、Android側に比べて実装が不完全であるため、別物であるということがあるとのことです。
しかし、進化の早いWebの環境から知識を取り入れられる流れも多くあるので、キャッチアップして行きたいと考えています。

iPhoneが数秒おきにクラッシュするんだけど


LocalNotificationが原因で、OS自体がクラッシュする致命的な問題に対応した知見の発表でした。
原因のログがない状態でも、最速で再現コードを作成し、修正版を作成します。対応した内容については、実際に体験しないとわからない内容だったため、参考になりました。

以下の内容は、OS起因の不具合を特定するにはかなり有効とのことです。

  • twitterで共有する。
  • 再現するデモコードを作成する。
  • 英語で騒ぐ
  • 修正版をつくり特急審査をする

周りと不具合を共有することで、一緒に解決していこうというアプローチはとても参考になります。

Good Practices for a Robust View Layout


レイアウトの崩れをおこしやすい、やってしまいがちなアンチパターンを元に実践的な内容で大変参考になりました。

弊社のiOSアプリでも積極的にUIStackViewを使用して開発をしています。テストの指針については、まだまだブラッシュアップの段階にある為、参考にさせて頂きます。

==============================

こんにちは、Sasatenです。
Hondaと同じく、iOSDCに参加して来ました。印象に残ったセッションをご紹介させていただきます。

設計時空のリファクタリング

「リファクタリングに銀の弾丸はない」という言葉が、とても印象に残りました。
私はリファクタリングの難しいところは、それによって保守性やメンテナンスは向上するものの、効果がすぐに現れるわけではないので、経営層の理解を得られづらい点にあると考えています。

そこで、大規模なリファクタリングをするわけではなく「機能開発:リファクタリング」を「7:3」のバランスで実践するという手法が紹介されています。小さい、コツコツとした改善を繰り返すのです。

その過程で、少しずつ単体テストも導入していきます。手動によるテストも組み合わせることで、デグレをおこさずリファクタリングを繰り返していくのです。

iOS×React Nativeのハイブリッド開発現場から伝えたい事

dex.fmでもお馴染みの@hotchemiさんの講演です。弊社でも「React Native」を使っているのですが、似たような感想を持っているため、終始うなずいてました。

私は、React Nativeでアプリを開発するポイントは、いかにJavaScriptのレベルで完結させ、ネイティブ連携を減らすことが出来るかだと考えています。

ハイブリッドアプリ開発が、アプリ開発のスピードを加速させることは疑いようがありません。ただ、ネイティブ連携を増やすと、途端に保守やメンテナンスが大変になっています。

弊社でも「React Native」はまだ採用したばかりですので、今後も情報はキャッチアップしていきたいです。

State of the Union 〜 2018年のアプリ開発事情

「流行りのアーキテクチャを無理に取り入れる必要はない。しかし、そのアーキテクチャが流行っている背景には、必ず求められている理由がある」
この言葉が、とても印象に残りました。

現在のアプリ開発事情を俯瞰して冷静に捉えており、今後の技術選定や、方向性の決定にも役に立つセッションっだったと思います。
スライドを見るだけでも、今後のアプリ開発に必要な技術をキャッチアップすることができます!オススメです。

全部iOSにしゃべらせちゃえ!

本当に採択されました。会場では、ずっと爆笑の嵐です。
LTではビールが振る舞われるのですが、とにかくお酒のススムセッションです。

あまりに面白すぎて、それまでに聞いたセッションの内容が全て吹っ飛びそうな勢いの名セッションです。

まとめ

発表者の方、スタッフの方、参加者の皆様、お疲れ様でした。おいしいランチ、快適なWifi環境で、iOSづけの3.5日間でした。参加者のほとんどがiOSに関わる開発者で、同じ課題を共有する空間はモチベーションが上がります。興味がある方は、来年参加してみるのはいかがでしょうか。

共同執筆: ササテン

LINEで送る
Pocket

この記事を書いた人・プロフィール
honda
ニックネーム: honda

18歳で就職を機に上京、自社開発会社を経て、2015年カタリストへJOIN。
始めて仕事で書いた言語はobjective-cでした。
普段は、Swift、PHP、JSを使用しています。
趣味: 野球, 筋トレ