ブラウザの中でしか動かないはずのWebサイトを、そのまま“パソコンのアプリ”に。Denoの新機能が「Electron、重すぎ問題」に挑む——ただし、まだ“カナリア”
「ブラウザの中でしか動かないはずのWebサイトを、そのままパソコンの“アプリ”にできる」——そんな道具がHacker Newsで話題(コメント370超)になっている。名前は「Deno Desktop(ディーノ・デスクトップ)」。Denoは、JavaScriptやTypeScript——Webを動かす言葉ね——を動かすための“土台”(ランタイム)で、その新機能として登場した。自分のWebアプリ——たった1個のファイルから、Next.jsやAstroみたいなフレームワークで作った本格的なものまで——を、コードもDeno本体も画面を映す仕組みもまるごと1つに包んで、WindowsでもMacでもLinuxでも配れる“実行ファイル”に仕立ててくれる。しかも使っているフレームワークを自動で見つけて動かすので、既存のWebアプリにほとんど手を入れなくていい。気になる“Electronとの違い”はここ:DiscordやMacの「VSCode」でおなじみのElectronは、アプリの中にブラウザのChromeを丸ごと積むので、どうしても重く・大きくなりがち。対してDeno Desktopは、OSにもとから入っている表示部品(webview)を使うので、ふつうは小さく仕上がる(見た目を全OSで揃えたいときはChromiumを積むことも選べる)。画面と裏側のやりとりも、回線越し(ソケット)じゃなく“同じプロセスの中”の直通だから速い、という。1台のパソコンからMac/Windows/Linux全部ぶんを書き出せる“クロスコンパイル”や、更新を差分で当てて失敗したら自動で元に戻す仕組みも内蔵。ただし、まだ完成品ではない——次のバージョン「Deno 2.9」で入る予定で、いまは“カナリア版”という先行お試し版でしか触れず、仕様もこれから変わりうる、と但し書き付きだ。ひかり・ことね・みずき・ひなたの4人が掘る。
ひかり:ブラウザの中でしか動かないはずのWebサイトを、そのまま“パソコンのアプリ”にしちゃえる道具が出たんだって! ことね先輩、Webサイトとアプリって、別モノじゃないの!? なんだか魔法みたいで、めっちゃ気になるっ!
ことね:いい着眼点ね、ひかり。その道具は「Deno Desktop(ディーノ・デスクトップ)」。まず前提を整理すると、Denoっていうのは、JavaScriptやTypeScript——Webを動かす言葉ね——を動かすための“土台”(ランタイム)なの。その新しい機能がこれ。自分で作ったWebアプリを、コードも、Deno本体も、画面を映す仕組みも、ぜんぶ1つに包んで、WindowsでもMacでもLinuxでも配れる“実行ファイル”に仕立ててくれるのよ。
ひかり:へえ〜っ! じゃあ、わたしが作ったWebサイトが、そのままダブルクリックで開けるアプリになる、ってこと? でも……それって、何がそんなにスゴいの?
みずき:…ことね先輩。それ、Electronってやつと何が違うの。ほら、パソコンの「VSCode」とか「Discord」とか、ああいうアプリを作るのに使うやつ。あれだって、Webの技術でアプリ作ってるんでしょ。
ことね:みずき、よく知ってるわね。そこがキモなの。Electronは、アプリの中に“Chromeブラウザを丸ごと”積むの。だからどのアプリも、判で押したように重くて、容量も大きくなりがち。対してDeno Desktopは、OSにもともと入ってる表示部品(webview)を借りるから、ふつうは“小さく”仕上がる。見た目を全部のOSでピッタリ揃えたいときだけ、Chromiumを積む選択もできる。しかも画面と裏方のやりとりが、回線越しじゃなく“同じプロセスの中”の直通だから、速いの。
みずき:…なるほどね。Chromeを毎回まるごと持ち歩かない分、身軽、と。…で。それ、もう完成して、みんな使えるわけ?
ことね:そこは正直にいきましょう。まだなの。次のバージョン「Deno 2.9」で入る予定で、いまは“カナリア版”っていう、先行のお試し版でしか触れない。仕様もこれから変わるかも、ってちゃんと但し書きが付いてる。期待の新人、まだデビュー前、って感じね。
ひなた:ふぁ〜……“カナリア”って、あの黄色い小鳥さんなのです? ……あのね、Denoって、しっぽの長い恐竜さんがマスコットなのです。恐竜さんが、小鳥さんを連れて、おうちのアプリを作ってくれる……なんだか、ゆめのあるお話なのです。
みずき:…ゆめのある感じで締めようとするな。まだカナリアだっつーの。……でも、軽いのは、いいことだ。
まとめ:ブラウザの中で動くWebアプリを、そのままWindows/Mac/Linuxの“配れるアプリ”に包んでくれる新機能「Deno Desktop」がHacker Newsで話題。使っているフレームワーク(Next.jsなど)を自動で見つけて動かし、既存のコードにほとんど手を入れなくていい。最大のウリは“軽さ”——ChromeブラウザをまるごとアプリにつめこむElectronと違い、OS標準の表示部品(webview)を使うので、ふつうは小さく仕上がる(必要ならChromiumも選べる)。画面と裏方は同じプロセス内の直通で速い。ただし、まだ完成品ではなく、次の「Deno 2.9」で入る予定の“カナリア版”段階で、仕様も変わりうる。みずき曰く、夢のある話だけど、まだカナリア——でも、軽いのは、いいことだ。