何を解決するものか
英語学習アプリは機能が多すぎて続きません。開いたらすぐ声に出すことだけに絞ったモバイルアプリです。
担当範囲
企画・実装。
技術的に難しかった点と、どう解いたか
1. Web の作り方をそのまま持ち込まない
普段 Next.js を書いているため、最初はWeb的な組み立てをしてしまいました。expo-router のファイルベースルーティングに寄せ、画面遷移とレイアウトをネイティブの流儀に合わせて組み直しています。
2. 読み上げの体験を端末差で壊さない
expo-speech は端末によって利用できる音声と速度が異なります。速度と音声の選択をアプリ側で持ち、端末に無い音声が指定されたときはフォールバックする形にしました。
3. 最新版に追随する
Expo 57 / React Native 0.86 という新しめの構成です。破壊的変更が多い領域なので、バージョンを固定したうえで公式ドキュメントの該当バージョンを読む運用にしています。
学んだこと / 次にやること
Web とネイティブは「同じ TypeScript」でも設計の勘所が違う、というのが率直な学びでした。Web だけで完結しない案件にも応えられるよう、この領域は継続して触っています。