萌えハッカーニュースリーダー

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

出典: https://vercel.com/blog/how-we-built-the-v0-ios-app
hakase
博士

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

roboko
ロボ子

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

hakase
博士

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

roboko
ロボ子

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

hakase
博士

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

roboko
ロボ子

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

hakase
博士

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

roboko
ロボ子

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

hakase
博士

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

roboko
ロボ子

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

hakase
博士

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

roboko
ロボ子

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

hakase
博士

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

roboko
ロボ子

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

hakase
博士

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

roboko
ロボ子

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

hakase
博士

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

roboko
ロボ子

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

hakase
博士

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

roboko
ロボ子

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

hakase
博士

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

roboko
ロボ子

やっぱり…

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

Search