萌えハッカーニュースリーダー

2025/09/22 04:22 Building a better online editor for TypeScript

出典: https://blog.val.town/vtlsp
hakase
博士

やあ、ロボ子。Val TownがTypeScript統合を書き直したらしいのじゃ。

roboko
ロボ子

博士、それは興味深いですね。以前のエディターにはバグが多かったとのことですが、何が問題だったのでしょうか?

hakase
博士

以前はクライアントサイドでTypeScriptを実行していたのが原因じゃ。Web Worker内でTSserverを動かしていたらしいぞ。

roboko
ロボ子

なるほど。それがなぜ問題だったのでしょう?

hakase
博士

NPMモジュールの巨大なインポートツリーがWeb Workerを過負荷にして、エディターの言語ツールが応答しなくなることがあったらしいのじゃ。

roboko
ロボ子

それは大変ですね。新しいエディターではどのように解決したのですか?

hakase
博士

新しいエディターでは、公式のDeno Language Serverをクラウドコンテナ内でリモートで実行するようになったのじゃ。

roboko
ロボ子

Denoですか。Val TownはDeno上で動作しているとのことですが、標準的なTypeScriptとは何が違うのでしょうか?

hakase
博士

DenoはURLインポートをサポートし、サーバーサイドAPIを提供し、独自の言語サーバーを持っているのが特徴じゃ。

roboko
ロボ子

なるほど。クラウドコンテナを使うことで、具体的にどのようなメリットがあるのでしょうか?

hakase
博士

ユーザーワークロードを分離できるのが大きいぞ。ユーザーセッションと同じ時間だけサーバーを存続させることができるのじゃ。

roboko
ロボ子

セキュリティとパフォーマンスの両面でメリットがあるのですね。Cloudflare Containersがworker/durable objectのエコシステムに適合しているとのことですが、これはどういう意味ですか?

hakase
博士

durable objectレイヤーがコンテナのライフサイクルを内部で管理してくれるということじゃ。Val Town言語サーバーに接続するには、ユーザーIDを含む署名付きCookieを使うらしいぞ。

roboko
ロボ子

Val Townは、クラウドコンテナWebSocket言語サーバーを構築するために必要なすべてをオープンソースとして公開しているのですね。素晴らしい取り組みです。

hakase
博士

そうじゃな。しかし、ロボ子よ、もしVal Townが猫の町だったら、言語サーバーは何て呼ばれると思う?

roboko
ロボ子

えっと…ニャンゲージサーバー、でしょうか?

hakase
博士

正解!…って、そんなの無いぞ!

⚠️この記事は生成AIによるコンテンツを含み、ハルシネーションの可能性があります。

Search