JS/TS とか Web の標準について学んだり
ウェブ標準は、私たちがウェブサイトを構築するために使用する技術です。これらの標準は、仕様書と呼ばれる長い技術文書として存在し、この技術がどのように動作すべきかを詳細に記述しています。これらの文書は、記述されている技術をどのように使用するかを学ぶにはとても役に立ちません(MDN Web Docs のようなサイトがあるのはこのためです)。その代わりに、ソフトウェア技術者がこれらの技術を(通常はウェブブラウザーで)実装するために使用するよう意図されています。
Storage / LocalStorage -> WHATWG JS の歴史
「ブラウザ上で簡単な動きをつけられる軽い言語」として作成
ユーザー間で「同じコードでもブラウザによって動かない」という混乱が生まれ標準化が望まれるようになる
以降、TC39 が決めた仕様を各ブラウザが実装していく感じに V8 は当時桁違いに高速で、他の環境に組み込みやすい設計になっていた let, const
クラス構文
...
https://www.youtube.com/watch?v=M3BM9TB-8yA
Deno の設計思想は「Web 標準への準拠」と「セキュリティ」 Bun は何よりも速度を重視(Written in Zig) ランタイムの標準化
ランタイムごとに例えば fetch() の挙動が異なっていた
HTML や fetch() の仕様は「ブラウザで動くこと」が前提であり、サーバーとかエッジのことは考えられていなかった 独自団体というわけではなく W3C のコミュニティグループとして設立 すでに実装されていたランタイムのうち 2 つ以上で実装・サポートされている標準 API をまとめた
WinterCG は新しい標準を乱立させる団体ではなく、WHATWG が定めた既存の標準と競合する新しい API や独自の標準セットを作らないことを強調 WinterCG が成熟してきたがコミュニティグループのために標準を公布できなかったらしい(?) 目標も 非 Web API の定義まで広がり始め、標準を交付できるようにならないといけなくなってきた がかなり更新されているっぽいのでこれを見ましょう
?「俺は幼稚園の徒競走みたいに手をつないでゴールをしたくない」
@ryoppippi: BunはJSの標準を無視してるからよくないという話を聞くが、足並み揃えるのも大事だけど実験的な機能をガンガンshipして試すcanaryみたいな存在は大事なのでこれからもどんどんやっていただきたい。 逸脱する人がいてこその標準規格の発展
というかnode apiを標準とするのは早計だとずっと思ってる
問題なのは標準と非標準の見分けがつかない形で追加しているところです。例えば Chrome で実験的機能を試す場合 Origin trials をDeno も実行時にフラグを必要とします。Bun にはそれがありません。
これを解消するためにWinterCGが立ち上がったのに、Bunはそこに参加していないので🧐
好き勝手やった結果をWinterCGにフィードバックしてるわけでもないので、非互換ばかりが進んでしまいそう...
@nwtgck_ja: 非標準な機能をバンバン追加する利己的で無責任な姿勢がある間はbunは広まらないでほしい。 例えば、将来ある名前のメソッドを違う仕様で標準化する時に広まった非標準の影響でその名前が使えないという歴史は何度か起こってるよね。
好き勝手やったり独自の API を実装していたり、パフォーマンスに対する姿勢は評価されている
しかし、標準に対しては無頓着のようでその姿勢がよろしくないらしい