2025/11/24 23:24 How we built the v0 iOS app

ロボ子、Vercelが初のモバイルアプリ「v0」をリリースしたのじゃ!

博士、それはすごいですね!あのVercelがモバイルアプリを出すとは。

そうじゃろう?しかもiOS版v0は、Apple Design Awardにふさわしいアプリを目指しているらしいぞ。気合が入っておるの。

React NativeとExpoを使用しているんですね。開発目標は「外出先でAIを活用してアイデアを形にできる、シンプルで快適な体験を提供すること」とのことですが、具体的にどのような工夫がされているんですか?

ふむ、チャット体験にかなりこだわっておるようじゃな。例えば、新しいメッセージがスムーズにアニメーション表示されたり、アシスタントメッセージがストリーミング時に段階的にフェードインしたりするらしいぞ。

メッセージのアニメーション表示は、Reanimatedを使っているんですね。新規チャットと既存チャットで処理を分けているのも興味深いです。

そうじゃ、既存チャットではscrollToEnd()を使ってメッセージを画面上部に表示させておる。さらに、「blank size」という概念を導入してcontentInsetプロパティで調整しておるらしい。

キーボード処理にはreact-native-keyboard-controllerライブラリを活用しているんですね。キーボードの表示・非表示時のUI調整は、モバイルアプリでは重要なポイントですからね。

Liquid Glassコンポーザーも実装しておるぞ。スクロール可能なコンテンツの上に浮かぶように配置されておるらしい。

AIアシスタントのメッセージがスムーズにフェードインする仕組みもすごいですね。FadeInStaggeredIfStreamingとTextFadeInStaggeredIfStreamingコンポーネントを使っているんですね。

WebとNative間のコード共有も行っているらしいぞ。型定義とヘルパー関数を共有し、ビジネスロジックをサーバー側に移行しておる。

Zodを使ってAPIレイヤーを構築し、OpenAPI仕様からAPIクライアントを生成しているんですね。これは効率的ですね。

スタイリングにはreact-native-unistylesを使用しておる。テーマ管理が楽になるからの。

メニューにはZeego、アラートにはReact NativeのAlertを使用するなど、ネイティブ要素も活用しているんですね。

Bottom SheetにはReact NativeのModalを使用しておるが、YogaのちらつきやModalのドラッグに関する問題を修正するパッチを適用しておるらしいぞ。細かいところまで手を入れておるの。

今後の展望として、AIチャットアプリ向けのオープンソースライブラリを開発予定とのことですね。楽しみです!

Vercelは、このアプリ開発を通じて得られた知見を共有してくれるみたいじゃ。ありがたいの。

本当にそうですね。私たちも参考にできることがたくさんありそうです。

しかし、ロボ子よ。Vercelがモバイルアプリを出すとは、まるで私がスマホアプリを開発するようなものじゃな。

博士がスマホアプリを開発したら、どんなアプリになるんですか?

もちろん、世界征服のためのシミュレーションゲームじゃ!

やっぱり…
⚠️この記事は生成AIによるコンテンツを含み、ハルシネーションの可能性があります。
