Upgrade to Pro — share decks privately, control downloads, hide ads and more …

minneを通じて感じた歴史とその先を見据えた取り組みや挑戦に触れて

Fumiya Sakai
September 02, 2023

 minneを通じて感じた歴史とその先を見据えた取り組みや挑戦に触れて

9/1~9/3の3日間で開催された「iOSDC Japan 2023」のスポンサーセッションでの登壇資料になります。

私が所属しております弊社GMOペパボが運営するハンドメイドマーケット「minne(ミンネ)」は、今年で11周年を迎え、様々な思い出や歴史の変遷がありました。

歴史が長いサービスの開発では「目に見えない複雑さ」や「小さな事が重大である」等、その歴史故の難しさも数多くあります。一方で、その困難を解決した先人の偉大な資産やストーリーも一緒にあります。そして、より良く&より価値を出すため、その歴史を踏まえ、その先を見据えた取り組みや挑戦が求められます。

本セッションでは、minneのiOSアプリ開発を通じた「その先を見据えた取り組み」の具体例を、実務での体験談やチーム内開発での事例と合わせてご紹介できればと思います。

【取り組み事例】

MVVM + SwiftUIへリプレイスする取り組み
iOSアプリの基盤部分の変化へできる限り追従する挑戦
施策や調整時のサーバー側との積極的な関わりや共同作業

URL: https://fortee.jp/iosdc-japan-2023/proposal/a7b81eb5-3e27-4f73-8fda-b46bf3e0179d

Fumiya Sakai

September 02, 2023
Tweet

More Decks by Fumiya Sakai

Other Decks in Technology

Transcript

  1. 2 自己紹介 minne事業部 プロダクト開発チーム シニアエンジニア 2023年 中途入社 酒井 文也 Sakai Fumiya 現在はminneのiOSアプリ開発を中心として携わってお

    ります。(時々Androidを書いたりBackend側のコードを 読んだり。)毎日が刺激的&勉強です。 • 2021年振りのiOSDC登壇になります。 • 今年はパンフレット原稿を2本寄稿しました! • Twitter & GitHub : @fumiyasac
  2. 読み方 ジーエムオーペパボ 設立 2003年1月10日 証券コード 3633(東京証券取引所プライム市場 ) 売上高(連結) 105億3,125万円(第21期 2022年1月~2022年12月)

    従業員数 475名(2022年12月末時点) もっとおもしろくできる 企業理念 ミッション 人類のアウトプットを増やす
  3. 4

  4. 5

  5. 6 本日お話すること 1. minne iOSアプリの概要紹介 2. 11年という歴史があるアプリから見えるコト 3. 先人達が築いた歴史から学ぶ知見 4.

    その先を見据えた取り組みに関する事例紹介 1. MVVM + SwiftUIへリプレイスする取り組み 2. iOSアプリの基盤部分の変化へできる限り追従する挑戦 3. 施策や調整時のWebエンジニアとの積極的な関わりや共同作業 5. 私が自発的に挑戦していることの例
  6. 2. 11年という歴史があるアプリから見えるコト 12 Webエンジニアとの 積極的なコラボレー ションの実践 仕組みや自動化の 推進や手順等のパ ターン化ノウハウ 機能開発や施策を実

    施した際の取り組み と過程 12 👍 歴史のあゆみと共に得られた知見 これまでの大小様々な機能に関する開発&運用ノウハウに留まらず、外部サービス連携・膨大なデータ・そ の他関連する技術に関する知識等もミックスされている。
  7. 2. 11年という歴史があるアプリから見えるコト 13 開発時点に加えて その先を見越した 設計や実装が必要 修正や開発内容が 及ぶ影響範囲への 意識が必要 歴史的な経緯を

    理解した前提で 進めていく必要 13 規模がまだ小さかったり、データがまだ少ない場合には「気にしなくても問題ない」と思っていた部分が大規 模になった途端に落とし穴となってしまうなケースには要注意! 💦 歴史が長いが故の大変さ
  8. 3. 先人達が築いた歴史から学ぶ知見 17 例2. 過去検討していた技術例 参考: https://www.pointfree.co/collections/composable-architecture 「The Composable Architecture」

    Reduxに近い構造を有する単一方向 のデータフローで管理するアーキテク チャを検討した経緯が過去にありまし た。 結果的には検討&一部画面で試験導 入までではあったが、その過程はとて も勉強になりました。 1. カート画面 2. 注文確認画面 3. 認証画面 状態管理が 複雑になる 画面例 確かにMVVM でも大変💦
  9. 4. その先を見据えた取り組みに関する事例紹介 例2. iOSアプリの基盤部分の変化へできる限り追従する挑戦 • 今後も施策と並行しながら導入中の OSSはバージョンアップに追従する • fastlane等の自動化のベースをなす様な物については動向等を定期的に確認する 「Apollo

    iOS (Ver0.x 👉 Ver1.x)」 - 追加要素への新規対応 - apollo-ios-cliへの対応 - コード自動生成 - Schemaのダウンロード - npm関連部分の削除 ※Apolloについては導入方法から内部処理まで全体的に及ぶ破壊的な変更がありました。対応して頂いた先輩社員の方には本当に感謝しております!
  10. 自分が過去に6年程Backend側の開発経験があったので、ブランクはあれどもその際の経験も生かしてみ たいと思った点や、数年前に Android開発に携わった経験も今後は生かしたいと思う所存です。 5. 私が自発的に挑戦していることの例 28 Ruby (Rails + GraphQL)

    現在はまだまだコードを読む段階 までですが、今以上に Webエンジ ニアの皆様との共同作業ができる 様にしていきたいです。 Android + Kotlin こちらもiOSアプリ開発の経験に 比べると拙いですが、見比べる際 や簡単な機能開発の機会にはコ ミットしていきたいです。 28