1. ninjinkunの声日記
  2. JSConf JP 2024に参加した
2024-11-26 13:54

JSConf JP 2024に参加した

2 Comments

プログラミング言語JavaScriptのコミュニティイベントであるJSConf JP 2024に参加しました。

00:00
こんにちは、ninjinkunです。 週末にね、土曜日にJSConfというJavaScriptのイベント、
JavaScriptを書いているエンジニアのイベントに行ってきたので、その話をします。
これはですね、東京能動学園というコミュニティをやっている古川さんという人が主催している、
結構、割と何年もやっているイベントだと思いますけど、こういうJavaScript界隈では一番大きなイベントの一つかなと思います。
私は今まで行ったことがなかったんですけど、今回運良くチケットが取れたので行ってきました。
チケットがね、結構、行きたい人に対してジャパがちょっと少なめなので、毎回公開されたらすぐ買わないと買えないんですけど、
私はちょっと運良くキャンセルのチケットを得たのを買うことができて、はい、行ってきました。
JavaScriptというのはブラウザ、Webブラウザで使われていたり、今はバックエンドでNode.jsとかで使われていたり、
あとはクラウドフレーバーワーカーみたいなエッジで動いたりする、いろんなところで動く言語になっていますので、
それに対応してこのJSConfもかなり時に渡るトピックを扱うイベントになっていて、
ブラウザの話も、フロントエンドの話も多いんですけど、もうちょっとJavaScript自体の話とか、タイプスクリプトの話とか、
サーバーサイドの話もあったかな、エッジの話が本当はあるはずだったんですけど、これは確かプレゼンターの人の体調不良でキャンセルになっちゃったけど、
あとはリアクトの話とかね、いろいろありまして、その中でも私が面白かったのは、
あれですかね、ベースラインというものが、ベースラインという考え方だったかな、
ちょっと待ってくださいね、タイトルを今探し中ですが、
ウェブ標準の進化を止めないベースラインというブラウザサポートの考え方という、
コサマリさんという方が発表されていた内容がよくて、ベースラインという合意が今できましたと、
合意というか何ていうんですかね、企画というか、これはブラウザのAPIを調べるときに、
今まではCan I useとかMDNとかそういうところで、このAPI例えば3Dの機能を実装したいというときに、
この3Dの機能は全部のブラウザでサポートされているかということを調べるわけですけど、
それを今までみんなが細々やったのを、ちゃんとブラウザベンダーが自分たちで情報をメンテしていこうということになって、
03:08
なんかチェックマークみたいなやつが出るように、ビジェットで出るんですよね。
例えばMDNのページとかCan I useのページに行くと、今は上にチェックマークが出て、
緑色のチェックマークと青いチェックマークが出るようになっていて、
Widely availableというステータスとNewly availableというステータスがあって、
まず全てのブラウザで互換性が確認されるとNewly availableになって、
そこから30ヶ月が経つとWidely availableになると。
なので、実装されてもすぐにユーザーがアップデートするとは限らないので、
特にiOSのSafariなんかはユーザーがOSをアップデートしないと新しいバージョンにならないので、
なかなかその入れ替わりに時間がかかるわけですけど、
そこで30ヶ月という期限をベンダーの人たちがこんなものでしょうという感じで話し合って、
だから2年半ですよね。
2年半経ったらだいたい使えると思っていいんじゃないという感じで、
Widely availableは30ヶ月となってますと。
ユーザーが例えばChromeしか使ってないとか、結構エッジなお客さんばっかりだったら、
普通にNewly availableで使ってもいいでしょうし、
そこはアプリケーションを実装する人たちが考えてねという形になってますと。
このベースラインというものが去年ぐらいから稼働しだしたらしく、
プレゼンターの小さまりさんは、ChromeのDevRelチームにいるらしいんですけど、
この方もこの仕様というか企画の策定に関わって、
さらに裏側がどうなっているかもいろいろ解説してくれて、
この情報がまずGitHubのレポジトリに集まってきて、
それをベースにしてこのウィジェットを出したりとか、
あとは検索できるアプリがあったりするんですけど、
こういうものがGitHubのレポジトリの情報がベースなんですが、
これがまず二段構えになってて、
Botが情報を集めてきますと。
その更新のページとかをチェックしてBotが集めてきて、
それが最初のレポジトリに入ってくるんですけど、
それをアップデートするのは人間なのかな。
人間がやって、さらにもう一段階別のレポジトリにその後でその情報が行くんですけど、
その過程でカテゴライズみたいなことを人間がすると、
例えば国際化に関わるインテルオブジェクトにまつわる変更は、
これはインテルってカテゴリーにしましょうみたいな。
06:00
なのでインテルの中にもデータフォーマッターとか、
いろいろカテゴリーがあるわけですけど、
そういうのを大きくまとめていくのは人間が編集してるっていうことをおっしゃってて、
なるほどという感じで、
なかなか大変そうでありますけど、
非常に我々デベロッパーとしてはありがたい仕事をしている人たちがいるなというのが分かって、
面白かったですね。
さらに今後はリンターとかとも連携していって、
例えば新しいAPIを使ってたらこれはニューリーアベラブルだよとか、
もしくはパーシャリーサポーテッドだよとか、
もしくはバイトリーアベラブルだからOKとか、
そういうのをリントでチェックしてくれるみたいな仕組みも今後は発展していくと思いますみたいな、
今そういう取り組みをしてるらしいので、
今後に行きたいなというので、
このベースラインというのは、
オブジェクトを何となく見たことは言われてみればあったんですけど、
何かは知らなかったので、
面白いなと思ったので、
これは一つ知れてよかったなと思いました。
もう一つ面白かったのは、
3JSという、
ブラウザ上で3Dを扱うためのライブラリなんですけど、
これはもともとWebGLというAPIをラップして、
WebGLの生々だと結構、
多分プリニティブなAPIで使いづらいので、
それをラップして使いやすくしてくれるくんなんですけど、
私はこのライブラリを使ったことなくて名前だけ知ってるわけなんですけど、
これがWebGPUという新しい企画APIをサポートするということになって、
なのでWebGPUはおそらくWebGLの元強化版なんでしょうね。
何となく前から見ると、
もっとさらにただの3D表示じゃなくて、
例えば機械学習的な計算とかにも使えそうな名前に見えますけど、
私はよく知らないので適当にしゃべってますが、
とにかくこの3JSも今後はWebGLのほうがWebGPUになっていくので、
対応していきたいですねとなったらしいと。
ただそもそもAPIが結構違うのもあるし、
一番でかかったのはシェーダーランデージが違うらしいんですよね。
なのでGPUにいろんな計算をさせるための小さいプログラムをシェーダーという形で渡せるわけですけど、
これがWebGLを使っているシェーダーランデージだと結構新しい言語っぽいやつで、
WebGPUはまた違う感じの言語になってますと。
これを両方サポートを最初は知ってて、結構コードが分岐だらけになって、
ワーってなってたところにコミッターの一人が、
この2つのシェーダーを抽象した新しいシェーダーランデージを作ろうっていうので作ったと。
09:01
これによって非常に3JS本体のシェーダーを扱うコードはめちゃめちゃスッキリしましたという内容が言われてて、
なるほどなという結構なかなかゴリッとした力技っぽい感じはありますけど、
解決としては分かるなという感じで。
ただこの3JSで今後書いていく人は多分この新しいシェーダーランデージを勉強して、
それでシェーダーを書くんでしょうね、おそらくは。
なのでもしかしたらどこかでWebGPUに全面的に切り替えがあるかもしれないんですけど、
今のところはWebGPUが全てのブラウザでサポートされてるんだっけな。
どっかまだ対応したいものがあったような気がするんで、
もしくはさっきのWidely Availableになってないのかもしれないですけど、
今の段階は両方サポートする必要がある。
あとは昔の3JSをそのまま広報互換性みたいなところは切り替えしなくちゃいけないと思うので、
それもありそういうシェーダーの新しい仕組みを作ったというので、
なかなか面白いなと思いまして、
やっぱり3JS自体はかなりシェアがあるライブラリなので、
それをオープンソースとメンテナーの人たちが2人がメインのコミッターで、
あとはいろいろコントリビュートしてくれる人たちがいるらしいんですけど、
それでやってるっていうのはね、
多分この人が実際に、
そうですね、この人がしゃべったMr. Doobさん、
ちょっとどこの人かわからなかったんですけど、
この人は3JSの作者っぽいので、
いかにもエンジニアっぽい感じの雰囲気の方でしたけど、
そういう話を聞けて面白かったですね。
ただね、牛村くんはようやく自分も英語が多少できるようになってきたので、
その後で話してよかったよみたいなことを質問したりしたかったんですけど、
クエスチョンの時間がこのイベントでは取られてなかったというのもありますし、
あとでなかなか捕まえて話すっていうのがね、
やっぱりちょっとハードルが高いと言いますか、
知らない人に話しかけて、
よかったよって言ってその後話盛り上がるかみたいなところで、
っていう感じで火の足を踏んでしまい、
このカンファレンス自体はかなり海外の方も来てるカンファレンスだったんで、
俺の英語力が解き放たれるかと思ったんですけど、
特に解き放たれず、
なんとなく日本語が通じる知り合いを探して喋ってしまうという感じになりましたね。
一応懇親会で最初は知り合いと喋ってたんですけど、
12:02
もう一人聞いた、
これは暗号化のライブラリーについて喋ってくれた人がいて、
その人の発表もよかったんで、
よかったですよということを伝えたんですけど、
多分インドの人だと思うんですけど、
あんまりうまく英語が出てこなくて、
そんなによかったということだけはいたんですけど、
話は盛り上がらず、
ありがとうみたいな感じで終わってしまったんで、
ちょっと不発でしたねという感じで、
なかなかコミュニケーションには課題が残りましたが、
イベントとしてはそうじて色々勉強になる話も聞きましたし、
あとは知り合いの知り合いみたいな感じで、
新しく多少知り合いになる人も増やせたので、
よかったなと思います。
こんなとこかな。
最後になんとなく懇親会に残った人たちと二次会に行って、
終電手前ぐらい前に飲んで帰ってきましたね。
なかなか技術イベント、この前行ったのはヤプシーですけど、
こういうふうにJavaScriptに特化したイベントに行ったのは初めてだったんですけど、
とても自分の専門に関係した人たちがほぼ集まっているので、
基本的にどのトピックも興味があるトピックだから、
結構集中して見ることができて面白かったですね。
もうちょっと人と話したかったかなというのはありましたね。
そのあたりは次回への課題にして、また来年もチケットが取れたら行こうかなと思います。
というわけで、今日はJavaScriptのイベント、JS Confに行ってきた話でした。
ありがとうございました。
13:54

コメント

ブース出展の合間でほとんどのセッションをじっくり聞くことはできませんでしたが、その中でも印象に残ったのが、kosamariさんのセッションのWidely Availableの場面でした。なんと、このような投稿もしていました!びっくり! https://x.com/serima/status/1860280841429221394

あの場にいらっしゃったんですね!あのトークは本当に良かったです!

スクロール