こんにちは、TechFeed CEOの白石です。
日本のフロントエンド界隈をリードし続ける古川陽介さんとTechFeedがコラボして、フロントエンド技術の最新動向を月イチでお届けする連載企画、「 古川陽介に聞く!フロントエンド最前線 」の新着動画が公開されました!
古川陽介さん(Japan Node.js Association代表理事)
聞き手: 白石俊平(TechFeed CEO)
YouTubeのチャンネル登録はこちらから!
毎月3〜4つのトピックを取り上げ、TechFeed CEO 白石俊平とNode.js Association代表理事 古川陽介が縦横無尽に語ります。
フロントエンドエンジニア必見です😊
今回は、2023年6月のトピック(Deno 2.0 / The Bun Bundler / Vercel AI SDK)を取り上げた動画を公開!
また、動画の内容を要約した本文も以下に掲載!
動画本編を見る時間がない方は、文章でお楽しみください😊
ライアン・ダールが語る、これからのDeno
古川: では紹介していこうかなと思います。JavaScriptの作者の一人でもあるライアン・ダールがDeno 2.0についての話をするよってことで、Node Congressっていうイベントの中で発表した内容の紹介です。
Denoで新しくこういう機能を入れるぜという感じではないですね。どちらかと言うと何をもってJavaScrptやNode.jsを作ってきたかっていう話、プラスこれからDenoをどうしていきたいのかみたいな話をしています。
サーバー作成を究極に簡単に
古川: この発表の中でいくつか示唆されているのは、Node.jsのゴールとして簡単にサーバーをデベロッパーに作ってもらえるようにしたかったっていう話です。asyncなI/Oをただ公開するだけでサーバーを作れるようにしたいっていう野望があった。イメージとしては、HTTPで/user
みたいなendpointさえ公開しておけば、そのendpointに必要な情報だけ公開されていれば、それだけでサーバーが作れるっていうくらい簡単なサーバーを作りたかったという試みですね。
Node.jsに足りなくてDenoに足りているもの、これから付け足していきたいものはこんなふうにたくさんある、と。これが揃ったらDeno 2.0ということで夏に公開したいと思っているっていう話をしていましたね。
Deno KV - Denoが独自のキーバリューストアを実装
古川: あと、Deno KVでキーバリューストアを簡単に作れるようにしたよということですね。サーバーを作るときにデータを保存しておく先が必要で、それがないからみんなローカルストレージを作ったりしてるんですけど、DenoはDeno KVというものを用意しようとしています。
白石: このKVはプロセス間で共有できるようなストレージだったりするんですか?
古川: そうです。まさにDenoの中でプロセスで共有できるようになっていて、Key value storeとして動くようになっています。これをローカルでもクラウド上からも使えるようにすればさっき言った夢に近づきますよね。
白石: このDeno KVはかなり注目の機能ですよね。
古川: ええ、この中で言うと推しの機能のひとつだと思いますね。
白石: これでプログラミングしてデプロイコマンド入力したらもう、データベースのことを何も考えなくてもいいみたいな。
古川: 今後はそうしていきたいんだろうなと思うんですけど、データって必ずしもクラウド上の中でKVストレージとして扱いたいデータだけがあるわけではない。例えば、データベースとしてよりソリッドに扱いたいデータとかもあるはずで、そういう自分たちの資産として扱いたいデータはKVのストレージに置くよりもしっかりバックアップを取ってRDSでちゃんと管理したいという気持ちはあると思うので、その辺がどうかというのはありますね。
白石: こういうところでNode.jsとの違いが際立ってきているかもしれませんね。
Bun Bundler - Bun専用、圧倒的に高速なバンドラー
古川: Deno と来れば、ライバルであるところのBunですが、比較すると、Bunはバージョンがまだまだ若くて、新しい機能を拡充している最中という感じですね。Bunの強みはパフォーマンスです。今、速いと言われているesbuildよりさらに速い。Webpackが38秒かかっているのに対して、Bunは0.17秒で終わらせます。
白石: すごいですね。ちなみにこのBun BundlerはBunでしか使えないんですか。
古川: Bunのバンドル用のCLIおよびAPIを使うことでBun Bundlerが動くので、Bunでしか使えない。つまり、Bun BundlerをNode.jsやDenoからは動かせないです。
白石: なるほど。これはまた良い差別化ポイントになりそうな感じですね。
生成系AIを取り込むVercel AI SDK
古川: 最後は、今をときめく生成系AIをNext.jsやReactから使いやすくするためのSDKを作ったよっていうお話です。これがね、まずひとつすごいのがこちら。
白石: パッケージ名がai
!すごいですね(笑)
古川: いや、もうちょっとあっただろうって思いますよね。vercel/aiとか(笑)。機能としては、リクエストを作るとプロンプトを作ってOpenAIのAPIをストリーム化してくれるんです。
OpenAIを使って何かアプリケーションを作ったことある人あるあるだと思うんですけど、時間がかかるんですよ。返ってくるまでにずっと待たなきゃいけない。そのときにアプリケーション側でインジケーターを回したりもできるんですけど、そうじゃなくてストリーミングで返してほしい、つまりWeb版のChatGPTみたいにテキストが生成されてるタイミングで少しずつ返してほしいときに、OpenAIのストリームを返してもらえるようになりました。
白石: なるほど。そうすると、VercelのSDKに直接LLMが組み込まれたみたいな感じですね。
古川: 裏側はChatGPTとか、GPT-4とかだと思いますけどね。生成系AIがめちゃくちゃ流行ってるので、これに対してNode.jsで何かやらないのかなと思ったら、Vercelはやってくれるんだなって思いましたね。
白石: 古川さん、ありがとうございました。この動画を見て面白いと思った方はチャンネル登録、高評価どうぞよろしくお願いします。ご視聴どうもありがとうございました。
関連情報
- Deno 1.33: Deno 2 is coming
- The Bun Bundler
- Introducing the Vercel AI SDK