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

日経空間版の開発の裏側 👀@朝日新聞テックフェス2024

日経空間版の開発の裏側 👀@朝日新聞テックフェス2024

日本経済新聞社では Apple Vision Pro 向けアプリ「日経空間版」を開発しています。

日経空間版は、AR デバイス上でニュースを閲覧する体験の提供、ブランディング・新規セグメントへのリーチ、少ない開発工数での実現可能性・テクノロジーの検証をゴールに開発されました。
Vision Pro ならではの画面の制約がないコンテンツの表示方法や 3D コンテンツが見どころです。

日経空間版ではバックエンド開発には Rust を採用し、サービス間の通信には gRPC を利用しています。
gRPC のコード生成には関数型パッケージマネージャ Nix を活用しポータブルで再現可能なビルドやセットアップを最小化する開発体験を実現しています。

Rust の強い型制約や Cargo Workspace を活用したマルチモジュール構成でバグが少なく認知不可を小さく抑えた開発体制を実現しました。
Rust に不慣れなメンバーでも LLM のコード生成・説明とコンパイルエラーやリンタの警告に従えば容易に変更を加えられます。

Avatar for 110416

110416

May 10, 2025
Tweet

More Decks by 110416

Other Decks in Technology

Transcript

  1. ソフトウェアエンジニア@NIKKEI GitHub: i10416 SpeakerDeck: i10416 2 WHOAMI Works 日経空間版: Backend

    日経紙面ビュワー: Backend & Infrastructure(バッチ処理) Nikkei Wave: App & Backend & Infrastructure Android, Web API, データパイプライン)
  2. 8 • Apple Vision Pro 国内発売 同時リリース • B8ta 出展

    • 世界デジタルサミット 2024 出展 • 日経 EXPO フォーラム 出展  • 世界経営者会議 出展 Motivation: ブランディング
  3. 9 Motivation: 開発工数 汎用的な部分について - 日経 Wave の設計や技術的な知見を活用 - インターフェース駆動開発&コード生成

    - 一部の機能は OpenAI API を利用し実装を省略 → 少人数のチームで Vision Pro ならではの UI・UX にフォーカス
  4. 14 Nix を利用したビルドシステム 問題 git AWS CLI google-cloud-sdk buf protobuf

    protoc-gen-swift protoc-gen-grpc-swift swiftc swiftpm cargo go … protobuf ベースのコード生成に伴う 複数言語のビルド・コード生成の煩雑さ ビルドの再現可能性(ローカル・CI) ツールチェーンの管理(→)
  5. 15 解決法 nix flake にビルドを統一する 例 nix develop - 環境構築の簡略化

    - ツールのバージョン管理 nix build, nix run - ビルドの再現可能性の担保 - コード生成&パッケージング - ビルド成果物の実行 Nix を利用したビルドシステム 問題 protobuf ベースのコード生成に伴う 複数言語のビルド・コード生成の煩雑さ ビルドの再現可能性(ローカル・CI) ツールチェーンの管理
  6. 17 - 省リソース・高パフォーマンス - 強い静的型付け言語 - Sane Defaults - ツールチェーンや開発体験

    - 充実したエコシステム バックエンド開発に Rust を採用 - クラウドとの相性の良さ - エラー・バグ検知のシフトレフト - コード生成ツール(例: Copilot)との親和性 - コードレビューの内容の改善 - 100% Rust 実装の SDK(AWS, Sentry, Otel, etc.)や ライブラリ