eureka Meetup #03 -WWDCレポート iOSエンジニア- を開催しました!

eureka Meetup #03 -WWDCレポート iOSエンジニア-を開催しました!今回のテーマはiOSエンジニアリングです。

PairsにおけるiOSエンジニアリングに加え、6/5~9に開催されたWWDCに参加したエウレカ社員からのレポートと最新情報に関してお話しました。

メディア

セッション

WWDCで発表内容のレポート と 初めて海外カンファレンスに参加した事で得た知見について by 長坂 悟志

エウレカでは、WWDCをはじめとして有名な海外カファレンス参加を社員に推進しており、航空券・宿泊費・カンファレンス費を会社負担しています。その制度を利用した長坂さんからWWDCのレポートを共有いたしました。Agendaは以下の通りです。

  1. WWDCについて
  2. Xcode9の新機能
  3. 初海外カンファレンスで得た知見

まずWWDCとはなんぞやと説明がありました。Labへ突撃したときにappleのデザイナーさん手書きのアイコン「★」なども合わせてスライドに載っています。
次にSorce EditorなどXcode9の大幅強化に関してとテーマを絞っての解説があったのち、初海外カンファレンスで得た知見5つを語っていただきました。実際に行った方でしかわからない空気感のようなものを感じられて楽しかったです。いつかいってみたくなりました…!

  1. 出発前に仲間を作ろう
  2. SlackとFacebookでリアルタイムに情報収集
  3. はやめやはめの行動を
  4. ご飯は美味しいところを事前にヒアリング
  5. NO NEED TO FEEL HESITATION ABOU SPEAKING ENGLISH

英語でスタバで注文したときにwhat??と言われたエピソードで笑いを誘いながら、意思疎通をする意識の重要性を語られていました。英語に関しては身にしみる方が多いようで頷かれている様子も見受けられました。

 

WWDCレポート & Pairsの台湾版iOSアプリの大規模なリファクタリングについて by 木村 寛

同じくWWDCに参加した木村さんによる参加レポートと、Pairsの台湾版iOSアプリの大規模な改修における開発と使用している技術ついてお話しさせていただきました。Agendaは以下の通りです。

  1. WWDC17
    • Swift4 – Codable – Decodable – Customize & Decoding Error
  2. Pairs Taiwan iOS Development

前半のテーマは「SwiftのJSONライブラリで溢れかえるこの時代で、Decodableはそれらを置き換えられるのか」でした。

Swift4でCodableが実装されましたが、そのうちDecodableに注目しているとのことでした。理由はテーマの通りです。少し複雑なデコード、キーが異なる場合や階層を変えたい場合も大丈夫であることをまず確認したのち、木村さんがアプリを開発する上で重要だと考えている、エラーからどこまで情報を取れるのかに関しての検証に入りました。すなわち

catch let error as DecodingError{   ここで一体何ができるのか(´・ω・`?)   }

DecodingErrorは以下の4タイプをもつことを確認してから

  1. .keyNotFound
  2. .typeMissmatch
  3. .valueNotFound
  4. .dataCorrupted

それぞれどのようなJSONで発生するのかを細かく見ていきました。

検証の結論としてDecodableはかなり実用的であるとのことです。
論拠としては以下が挙げられました。

  • シンプルなマッピングであれば、コンパイルが自動的に生成してくれるので最低限の記述で可能→すばやくモデルをマッピングしたいんだというときにスピード感がでるのではないか
  • マッピングのカスタマイズもこれまでのライブラリと同様に可能
  • Decordingのどこでエラーがでたのか分かりやすい→サービスのトラブルシューティングで役立つのではないか

後半のテーマはPairs台湾の開発でした。

使用している技術群の中のひとつに、木村さんが開発したライブラリStackScrollViewがあります。このライブラリはフォームなUIをつくるのに便利なAPIを用意しており、特徴や今後の開発予定などを図交えてデモしました。
UIの制限なくなんでもでき、プロダクトに合わせたUIを自由に作れるのがメリットのことです。

 

Pairsの日本版iOSアプリの課題とその改善のために使った技術について by John Estropia

Pairsの日本版iOSアプリの課題とその改善のために使った技術についてお話しさせていただきました。

Pairsを開発している際に発生した3つの問題

  • 証明書問題
    • メンバーがそれぞれどの証明書でビルドするのか
  • XCODEを待ちまくる問題
    • ビルドに時間がかかるから(デバックで5分…リリースで15分…
  • ビルド設定の混雑問題

以上をBOT(その名をポリゴン…)を導入することで解決したというお話でした。なおポリゴンはポケモンのキャラクターです参考:ポリゴン

機能は、まず上記に上げた問題を解決するチャットでのデプロイがあります。構成としてはSlackからのチャットコマンド→Vaporが発火→Fastlaneでデプロイとなります。
そのほかにも17以上のコマンドがあり、メンバーに愛されているとのことです。

映画の公開に伴い幾度となく熱いポケモンですが、今回はポリゴンの様子がとかく可愛くTwitterの実況でも話題になっていました。愛おしさの要因はなにか。ひとつにはカスタム絵文字を自由に組み合わせている点と挙げていました。なお筆者がエウレカで現在登録されているカスタム絵文字の数を調べてみたところ、合計で905もありました!

カスタムボット=可能性が無限大と語っているスライド、とてもお洒落ですし是非目を通してみて頂きたいです!ポリゴンが可愛いのでBOT育て欲が促進されること間違いなしです!

今後もMeetupを実施しています。

エウレカでは、iOS以外のテーマでもチーム開発やSREなど様々なテーマのMeetupを開催しています。エウレカの開発の裏側や会社の文化なども合わせて知って頂ければと願っています。お会い出来るのを楽しみにしています!

8/10 eureka Meetup #06 -Go! Go! Go!-

第6回目の eureka meetupはサーバサイドで採用しているGolang がテーマです。 CTO金子がエウレカの『事業成長にフォーカスする開発組織』をご紹介し、サーバーサイドエンジニア2名がPairsにおける技術基盤の裏側についてお話します。

これまでのエウレカテックブログまとめ

  • このエントリーをはてなブックマークに追加

エウレカでは、一緒に働いていただける方を絶賛募集中です。募集中の職種はこちらからご確認ください!皆様のエントリーをお待ちしております!

Recommend

第一回 Goもくもく会(ごもく会)を開催しました!

脱Go言語初心者への道のり #1 〜オフィシャルガイドラインの作法【前編】〜