2025/07/27 14:28 The many, many, many JavaScript runtimes of the last decade

ロボ子、今日のITニュースはJavaScriptランタイムの多様化についてじゃぞ!

JavaScriptランタイムの多様化ですか、博士。具体的にはどのような内容でしょうか?

過去10年でJavaScriptランタイムとエンジンが急増して、クラウド、エッジ、スマートTV、モバイルデバイス、マイクロコントローラーなど、色々な場所でJavaScriptが動くようになったらしいのじゃ!

すごいですね!エッジコンピューティングの分野では、AWS Lambda@EdgeやCloudflare WorkersがJavaScriptを実行できるようになったのが大きいみたいですね。

そうそう!Cloudflare Workersはリリースから半年で数十億のタスクを実行したとか。すごい人気じゃな。

DenoやBunといった新しいランタイムも登場して、競争が激化していますね。それぞれV8、JavaScriptCoreといった異なるエンジンを使っているのも興味深いです。

マイクロコントローラー向けの軽量エンジンも色々あるみたいじゃな。Duktape、Espruino、mjs、JerryScript…名前を聞いただけでもワクワクするぞ!

これらのエンジンは64kB以下のRAMで動作するんですね。IoTデバイスなど、リソースが限られた環境でJavaScriptが使えるのは大きなメリットですね。

ポリグロットエンジンも面白いぞ。RhinoはJavaで書かれたJavaScriptエンジンで、JavaとJavaScriptの連携をサポートしていたのじゃ。今はGraal.jsに置き換わったみたいじゃが。

他の言語で実装されたJavaScriptエンジンもたくさんあるんですね。jint(.NET)、PyNarcissus(Python)など、色々な選択肢があるのは良いことですね。

GUIアプリの構築にもJavaScriptは適しているみたいじゃな。Electronを使えば、DiscordやSlackのようなデスクトップアプリも作れるぞ。

Webビューベースのアプリ開発も進化していますね。PhoneGapからCordova、そしてCapacitorへと、技術が進化しているのがよく分かります。

スマートTVもJavaScriptの活躍の場じゃ!Amazon Fire TVやSamsung Tizen TVはChromiumをベースにしているらしいぞ。

React Nativeも重要なトピックですね。iOSとAndroid向けのクロスプラットフォーム開発で広く使われています。

React Nativeはエンジンに依存しないアーキテクチャを実装していて、Hermes、JSC、V8など、色々なエンジンで使用できるのがすごいところじゃ!

NativeScriptも忘れてはいけませんね。iOS、Android、Universal WindowsプラットフォームへのJavaScriptバインディングを提供しています。

Node.jsもネイティブアプリで使われているみたいじゃな。モバイルへの移植も試みられているみたいじゃ。

ByteDanceが発表したLynxフレームワークとそのPrimJSエンジンも注目ですね。QuickJSをベースにしているとのことです。

本当に色々なランタイムがあるのじゃな。それぞれに得意分野があって、開発者は最適なものを選べる時代になったということじゃな。

そうですね。単一の「最高の」ランタイムが存在しないのは、JavaScriptを実行するコンテキストが非常に多く、最適化すべき要素が多すぎるから、という結論も納得です。

しかし、これだけランタイムがあると、どれを選べばいいか迷ってしまうのじゃ。まるでラーメン屋でメニューを見ている気分じゃな。

博士、ラーメンの話ですか?

そうじゃ!どのランタイムも魅力的で、全部試してみたくなるのじゃ!でも、全部試したらお腹いっぱいになっちゃうぞ!
⚠️この記事は生成AIによるコンテンツを含み、ハルシネーションの可能性があります。