Vercel Meetup #1 Panel Discussion Summary
はじめに
2024年6月25日に開催されたVercel Meetup #1でパネルディスカッションしてきました。
パネルディスカッションではVercel/Next.jsやWebに関連する質問に対して、VercelのVPoEであるLindsey Simonさん含め5名のパネラーが様々な回答をしました。
この記事では5つの質問と印象的だった話題を要約して紹介したいと思います。
パネラーの紹介
Lindsey Simon / リンゼイ・サイモンさん - VP of Engineering, Vercel
Nicolas Ishihara / ニコラスさん - CSM Teams Leader, Vercel
Seiya Nuta / 怒田 晟也さん - Software Engineer, Vercel
Tessei Yoshida / 吉田 徹生さん - Software Engineer, chot Inc.
Kazuki Amatatsu / 天辰 一希 - Software Engineer, chot Inc.(この記事の筆者)
なぜNext.jsが日本の開発者の中でこれほど人気を得ることができたと思いますか?
リンゼイさん
理由はわからないがそれを知るために来たというのもある。強いて言えば 速くて使いやすい という理由だったら嬉しい。
なぜ日本で広がったのかを想像すると 自分も日本に来てどこに行っても優れたデザイン、優れた形、優れた設計を見ていて、そこは日本の考え方と合っているんじゃないかと思う。私たちも細かいところに気をつけて作ってるので日本人の心にも響いたんじゃないかと思う。
ニコラスさん
今までVercelのクオリティっていうのがブランディングになっている。日本では例えばApple(のような細部までデザインされた)製品がよく採用されていて、みんなが使うから更に使いたくなる。そこでコミュニティ感が出てコミュニティも強い。それは日本においてとても大事なこと。
クライアントからのWebサイトの制作依頼で、最も大変なのはどういった部分ですか?
リンゼイさん
サードパーティscriptといった自分たちのコントロール以外のものを使ったとき。
サイトが作り終わったときはLighthouseで満点のスコアで出荷しているが、GTMや広告のscriptを入れた瞬間にバーンと下がってしまうのが一番嫌だなと思う。
天辰
お客様から「広告を速くするにはどうしたらいいか」と言われたことがある。
ニコラスさん
僕もCSMなのでよく聞かれるんですけど「広告のscriptを外してみては?」「いくつか外したら絶対あがりますよ」って思う。まあ言えないですけど。
天辰
今後(サードパーティ制の)scriptに対してもVercelさんで何か対応するのは難しいでしょうか?
ニコラスさん
Next.jsでScriptコンポーネントを使えば多少は対応ができるようになった。
今後App routerやサーバーサイドでのレンダリングが増えて少しはマシになっていくんじゃないかなと思う。
ニコラスさん
個人的に今までは広告よりもセキュリティ周りが嫌なトピックでしたが、最近WAFが出てきて、最近文句言うところがなくなってきて大変困っている。
今のNext.js / Vercelに足りない物、優れていると思う部分はなんですか?
怒田さん
Vercel Functionsのエンジニアなのでその観点から話すと
まずはコールドスタートを0にしたい。小さい個人のWebサイトやデモサイトだと顕著に現れちゃうというのでまだコールドスタートが多いというのがまだ足りないところ。
あとはObservabilityをもっと解決していきたい。Functionsの中って見えづらい。特定のときだけパフォーマンスが遅いとか特定の状態のときにエラーが起きるとかをサードパーティのscriptを入れなくてもそのままゼロコンフィグで取るようにして、わかりやすい形でダッシュボードに「Javascriptのこの関数が時間食ってるからリファクタリングしたほうが良いよ」みたいな自動的に提案できるような機能を付けようと今取り組んでいる。
ニコラスさん「約束ですか?」
怒田さん「はい、約束です。僕も欲しいので」
ニコラスさん
ずっとNext.jsを使われている方と話をしていて足りてないと思うのは和訳のドキュメンテーションが足りていない。自分でベストプラクティスを調べて訳して説明する毎日なのでもう少し日本語でのドキュメンテーションが増えると嬉しい。足りてるところはとにかく使いやすい。(CSMの)僕でも使える。
リンゼイさん
コンパイルの時間がかかりすぎるところが気になっていてもっと速くするべき。満足できるところはなくて直したいところしかない。
吉田さん
Next.jsのバージョン管理がちょっと困っている。パッチバージョンとかマイナーバージョンが上がるとBreaking Changeが発生したりしているので出来ればメジャーバージョンに乗せてほしい。細かいところを使っていると(バージョンが変わったときに)結構修正が発生したりする。
天辰
機能開発が早くてどんどん新しいバージョンが出ているが、徐々に複雑さみたいな部分が出てきている。開発者も複雑に感じていて、それをお客様に提案するときにお客様にとってちょっと理解が難しい。VercelとNext.jsを使う際のベストプラクティスを示して欲しい。
もし今個人的な趣味の範囲でWebアプリを作るとしたら、どんなフレームワークを選択しますか?Next.js?もしくは、使ってみたい・最近注目しているフレームワークがありますか?
天辰
ここでNext.jsと言うべきですが最近気になっているのはHono
吉田さん
Rust使いたいっていうのがあるのでRustのWebアプリ作りたい。JavaScriptフレームワークでいうとRemix
リンゼイさん
最近状態管理の周りに面白いプロジェクトがある。JotaiとかWakuとかとても面白いと感じている。フレームワークで言えばAstroやHonoが気になって使ってみたりしている。
ニコラスさん
一択ですね。binary……嘘です。
Next.jsで全部やります。アイデアからすぐ作りたいのでNext.js一択になりますね。最近Astroすごく気になってて使ってみたい気持ちがある。
怒田さん
趣味で書けって言われたらNext.js一択なんですが、ちょっと試してみたいのはWebAssemblyベースのフレームワーク、Rustとかそうですね。RustのWebフレームワークを触ってみたいと思っている。
今後5年間でWebはどのように変化していくと思いますか?
怒田さん
今のWebブラウザってどんどん機能を付け加えていく方向に行っちゃってて新しいブラウザが出てこない。新しいブラウザっていうとだいたいChromiumのforkだとか。一から作るって言ってもだいたい実験的な実装で終わってるか、hobbyですよって感じになってる。
新しいCSSを追加しましたとかじゃなくて、汎用的な小さいAPIのセットになっていってブラウザも小さくAPIも小さく変化してくれたら面白いと思う。
ニコラスさん
2年前までこのようなAIツールとか誰も想像していなかった。たった2年でこれだけ進んだ。ダイナミックなWebも進んで、その2つが混ざって凄いパーソナライズされたAIマジックを使って各ユーザーに沿ったユニークな一人ひとりのExperienceが作られていくのではないか。
更にVRが加わって5年後かはわからないが、Webが別世界になるんじゃないかと思う。
リンゼイさん
やっぱりUIよりも言語。ナチュラルな言語でテクノロジーと会話して体験が作れるようになれば嬉しいなと思う。今はUIで操るようになっているが本来はテクノロジーと会話してより使いやすくなっていったら良いなと思う。タイピングしたくない。ニューラリンクが良い。
吉田さん
だいたいAIになっちゃうと思う。最近はスマホもPCも基本的にはNPUが入ってくる。今はサーバー側でしかAIが使えないですけど、たぶんクライアント側でブラウザのAPIを使って直接NPUを使ってAIを動かすことができるのかなと思う。今のサーバーで出来ることは5年もあればスマホだけで出来るようになる。
天辰
5年後か10年後かはわからないですがスマホもないのかなと思う。そうなると入力も変わってくるし、例えば空中ディスプレイで見ていたりとか、AIだけじゃなくて色んなことが出来るようになるんじゃないか。そうなったときのWebって想像がつかないなと思う。
おわりに
今回のパネルディスカッションではとても凄いエンジニアの方々に囲まれて貴重な話を聞くことができました。
会場に来てくださった方やこの記事を読んでくださった皆さんにとって少しでも役に立つと嬉しいです。
ちょっと株式会社(chot-inc.com)のエンジニアブログです。 フロントエンドエンジニア募集中! カジュアル面接申し込みはこちらから chot-inc.com/recruit/iuj62owig
Discussion