Mercari Engineering Blog

We're the software engineers behind Mercari. Check out our blog to see the tech that powers our marketplace.

#iosdc にメルカリとソウゾウから7名が登壇! #MercariTechConf でもiOSについてお話します

iOSエンジニアの@motokieeです。

f:id:motokiee:20170920184712j:plain:w512

9月15日から17日に開催されたiOSDC Japan 2017にメルカリとソウゾウから計7名が登壇しました。メルカリで実施しているA/Bテスト、USメルカリの新アーキテクチャー、CrashlyticsやFirebaseなどのサービス、プッシュ通知、Protocol Buffers、Go言語による開発など、様々な内容でどれも盛況でした。

@motokiee@jollyjoesterはカンファレンスの運営にも参加し、コミュニティーの活性化に貢献してきました。

この記事では、発表資料をまとめて紹介します。

  • @chuganzy: メルカリで実施した過去最大規模のABテスト「ドロワー vs 下タブ」の舞台裏
  • @jarinosuke: US 版 Mercari をまるごと1から作り直した話
  • @yoichitgy: モバイルアプリで困らないエラーハンドリングとロギングのベストプラクティス
  • @motokiee: 結婚式を支えた技術 Firebaseを活用したサーバレスiOSアプリケーション開発
  • @jollyjoester: 頼むからプッシュ通知の使い方をおろそかにしないでくれ! ~プッシュ通知の表現、歴史、最新動向まで~
  • @kitasuke: Introducing protobuf in Swift
  • @tenntenn: GoによるiOSアプリの開発

iOSDC Japan 2017とは

iOSDC Japan 2017はiOSとその周辺技術を題材としたカンファレンスです。2016年に初開催され、今年が2回目の開催でした。スピーカー91人、参加者800人、延べ2.5日間に及ぶ日本最大級のiOS周辺技術のカンファレンスの一つとなっています。

コミュニティーの支援を重要な技術投資と考えているメルカリは昨年同様、プラチナスポンサーとして協賛させていただきました。

f:id:motokiee:20170920184739j:plain:w512
参加者全員にノベルティとして配布した"mercari Loves iOS"ステッカーとTシャツ

発表資料

メルカリで実施した過去最大規模のABテスト「ドロワー vs 下タブ」の舞台裏

メルカリでは数々のABテストを実施しており、そこで得られるデータを元にサービスの向上を行っています。

この発表では、メルカリUS版で実施した過去最大規模となるABテスト「ドロワー vs 下タブ」の実現方法や技術的な課題、そこで得られた結果についてご紹介しています。

speakerdeck.com

US 版 Mercari をまるごと1から作り直した話

4年以上開発され続けてきた Mercari の US 向けアプリのリニューアルについて「なぜ」「どのように」「その結果」の観点から発表しました。 メルカリ iOS アプリの技術面については発表が少なかったので、質問をたくさん頂いたりと興味を持っていただけたように思います。より詳細的な技術面については Mercari Tech Conf 2017 で発表される予定です。

speakerdeck.com

モバイルアプリで困らないエラーハンドリングとロギングのベストプラクティス

Crashlyticsと、iOS10から利用できるOSLogを組み合わせて、モバイルアプリをリリースしてから困らないエラーハンドリングとロギングのベストプラクティスについて紹介しました。

speakerdeck.com

結婚式を支えた技術 Firebaseを活用したサーバレスiOSアプリケーション開発

プライベートで開発したアプリについての解説を行いました。ベストスピーカーに入賞しました。

このアプリを開発している時はソウゾウに入社したばかりで時間的な余裕があまりなかったのですが、Firebaseを活用することで非常に短期間で開発することができました。メルカリとソウゾウでもFirebaseを活用してスピーディーなサービス開発を実現しています。

speakerdeck.com

頼むからプッシュ通知の使い方をおろそかにしないでくれ!~プッシュ通知の表現、歴史、最新動向まで~

アプリユーザーとのコミュニケーションに無くてはならないプッシュ通知についてお話しました。

プッシュ通知がなぜ大事なのか?プッシュ通知が生まれてからどのように進化してきたのか?プッシュ通知で何ができるのか?を駆け足でおさらいしつつ、比較的新しい機能である「Notification Content Extension」と「Hidden Content Notification」を例に今後プッシュ通知がどうなっていくかの仮説をお話しました。

speakerdeck.com

Introducing protobuf in Swift

Googleによって開発されたJSONに代わる新しいシリアライゼーションフォーマットのprotobufについて発表しました。ptorobufは型安全に書けることや、共通の定義ファイルからモデルファイルを各言語で共有できることや、通信速度の向上など様々な特徴があるので、是非触ってみてください。

www.slideshare.net

GoによるiOSアプリの開発

このセッションでは、golang.org/x/mobileで提供されているGo MobileというGoでiOSやAndroidなどのモバイルアプリを開発できるツール群について発表を行いました。Go Mobileでは、cgoやクロスコンパイルを用いてObjective-CやJavaからGoで書かれた機能を呼び出すことができます。

また、Go MobileのNativeアプリ、SDKアプリの2つのスタイルの開発方法について、それぞれ解説しました。SDKアプリについては、最近実装がされたGoのコードからJavaやObjective-Cのバインディングを生成するリバースバインディングの機能についても触れています。

www.slideshare.net

終わりに

登壇内容からメルカリのiOSエンジニアが何を考え、どのようなことにチャレンジしているのかが垣間見えたのではないかと思います。

メルカリ/ソウゾウは定期的にミートアップなどのイベントを開催しています。今回登壇したメンバーと話をする機会もあるかと思います。

特に9月30日開催のMercari Tech Confでは、iOSに限らずディープな技術トークが聞けるようになっているので、ぜひご参加ください!

techconf.mercari.com

ソウゾウのiOSエンジニアによるSouzoh iOS Talkも10月11日に開催予定です。

mercari.connpass.com