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

新卒のiOSエンジニアが”クックパッドの今”を紹介!

Sponsored · SiteGround - Reliable hosting with speed, security, and support you can count on.

 新卒のiOSエンジニアが”クックパッドの今”を紹介!

Avatar for Haruta Yamada

Haruta Yamada

August 23, 2024
Tweet

More Decks by Haruta Yamada

Other Decks in Technology

Transcript

  1. © 2024 Cookpad Inc. 2 プロフィール Haruta Yamada (paruru) -

    2024/04~ 新卒入社 (レシピ事業部) - 2019/06~ 就業型インターン - 領域: iOS, Webfrontend - 趣味: ☕ 🍳
  2. © 2024 Cookpad Inc. 6 アジェンダ • OneExperienceとは? • Globalでの開発について紹介

    ◦ 開発環境の違い ◦ 多言語対応 ◦ デザインシステム
  3. © 2024 Cookpad Inc. 8 • ユーザー体験を統一するプロジェクトが始動(2023/10~) • 日本のシステムをグローバルのシステムへ移行(iOS, Android,

    Web) ◦ 日本のプロジェクト、リポジトリはコードフリーズ予定 ◦ 多言語対応やレシピを取り込む仕組みが整っている 統合プロジェクト(One Experience)
  4. © 2024 Cookpad Inc. 9 見た目や機能も かなり違う e.g.  • 食べ方提案(日本)

     • 今日作る(日本)  • コメントでのやりとり(海外)  • リアクション(海外)
  5. ios-cookpad (日本) - VIPER - SwiftUIの導入 - GraphQL(一部) - モバ基による

    開発環境の整備 © 2024 Cookpad Inc. 13 https://techconf.cookpad.com/2019/kohki_miki.html 開発環境の違い
  6. Domain, Data Layer Presentation Layer Flow Logic global-ios (海外) -

    MVVM-C - UIKit - OpenAPI © 2024 Cookpad Inc. 14 ViewModel Interactor Model ViewController View Coordinator Datastore Model Repository Service Service Service 開発環境の違い
  7. © 2024 Cookpad Inc. 16 多言語対応(翻訳) - OneSkyでフレーズと翻訳を管理(iOS, Android, Web)

    - 英語でフレーズを追加し、後から日本語などの翻訳を取り込む - 日本限定の機能でも翻訳対象 (あとから他の国に展開することもあるため ) https://www.oneskyapp.com/ 33個のLocalizable.stringsが存在(被り有り) 日本語、英語、スペイン語、ドイツ語、アラビア語、ウクライナ語、、
  8. © 2024 Cookpad Inc. 17 多言語対応 (翻訳) Github OneSky フレーズの追加、削除

    翻訳の追加、削除 コンポーネントの変更による フレーズの追加、削除 Bitrise(CI/CD) 各リージョン向けの 翻訳を追加 エンジニア 各リージョンの翻訳者
  9. © 2024 Cookpad Inc. 18 多言語対応 (翻訳) Cooksnap つくれぽ Today

    今日つくる 人気のキーワード Today’s popular searches
  10. © 2024 Cookpad Inc. 22 多言語対応 スペース区切りで単語を分割したい “鶏胸肉 牛乳” -> “鶏胸肉”,

    “牛乳” スペース区切りで単語を分割できない “鶏胸肉” -> “鳥”, “胸” 言語や商習慣によってコンテンツや動作に違いが出る
  11. © 2024 Cookpad Inc. 23 機能出し分け A/B Testing ios-cookpad: -

    user-features(feature flag) - パターンにマッチしたユーザーに機能を提供可能 - Redshiftで抽出したユーザーグループに対して提供可能 global-ios: - FeatureToggle - アプリのバージョンやリージョンに絞って提供 - APIの1機能として柔軟に変更ができる Picture 画像の最大幅はガイド線に準じて配置してください Picture 画像の最大幅はガイド線に準じて配置してください ※どちらもローカルのフラグをコード上で定義可能
  12. © 2024 Cookpad Inc. 33 ダークモード • ハイコントラストモードへの対応 デザインシステムから逸脱した 色指定が増加

    ライトモードの色指定はそのままに、このコンポーネントだけ変えたい、、、
  13. © 2024 Cookpad Inc. 34 OneExperienceを進めてみて • これからは海外にいるユーザーにも向き合っていく ◦ ローカライズが前提の開発になっていく

    • 移行により負債を生み出してしまった ◦ リリース後の課題 • 今が一番面白いタイミング ◦ 新卒関係なく様々な挑戦できる • iOSDCに間に合ってよかった 移行後初めてのレシピ投稿