banner
ホームページ / ブログ / Socket Runtime は、依存関係としてクラウドを削除することを目的としています。 • The Register
ブログ

Socket Runtime は、依存関係としてクラウドを削除することを目的としています。 • The Register

Nov 17, 2023Nov 17, 2023

インタビュー Socket Supply Co は本日、Socket Runtime を発表しました。これは、Web テクノロジーを使用して Linux、macOS、または Windows 用のネイティブ モバイルおよびデスクトップ アプリケーションを作成するためのオープン ソース ランタイムですが、バックエンド クラウドを補完または回避する方法としてオプションのピアツーピア接続を備えています。サービス。

ランタイムはコードを実行するための環境です。 Web ブラウザは JavaScript コードのランタイムとして機能します。 ブラウザーの外部で実行される JavaScript アプリ用の、Node.js、Deno、Bun などのサーバー ランタイムもあります。 また、デスクトップ デバイス (後の 2 つの場合はモバイル) でローカルに実行される JavaScript アプリ用の、Electron、Tauri、Socket Runtime などのアプリ ランタイムもあります。

Electron は、Web テクノロジー (JavaScript、CSS、HTML) を使用してクロスプラットフォーム アプリを構築するための人気のあるオープン ソース フレームワークであり、Web ページのレンダリングに Chromium ブラウザ エンジンと Node.js ランタイム環境に依存しています。 これは、サーバー指向の機能やファイル アクセスなどを処理する Node.js メイン プロセスと、HTML ベースのユーザー インターフェイスを表示する Chrome レンダラー プロセスを統合します。

「Electron の大きな問題は、モバイルで動作するように設計されていないことです」と、Socket Supply Co の CEO、Paolo Fragomeni 氏は The Register のインタビューで述べました。

Tauri は、Rust と HTML レンダリング用の WebView を使用して、さまざまなネイティブ プラットフォーム向けのモバイル アプリとデスクトップ アプリを構築するためのオープン ソース フレームワークです。 最終的なバイナリは Rust でコンパイルされるため、Tauri アプリにはランタイムが付属していません。

しかしフラゴメニ氏は、新たに学ぶべきプログラミング言語がないため、ソケット ランタイムの方が望ましいと主張する。 「Tauri には Rust がありますが、これは Web 開発者の大多数の層にとってはスタート地点ではありません」と彼は言いました。

彼は Google の Flutter フレームワークに対しても同様の異議を唱えました。 同氏は、「Flutterは、学ぶべき新しい言語であるDartを再び導入するが、これは全体像ではかなり曖昧だ」と述べたが、Googleには「その分野に取り組んでいる優れたエンジニアがいる」ことは認めた。

フラゴメニ氏は、JavaScript の作成者であるブレンダン・アイヒ氏の「常に JS に賭けましょう!」という叫びに倣い、Web テクノロジーこそが進むべき道であると主張しています。

「私たちはウェブが大好きです」とフラゴメニ氏は語った。 「他の種類の開発者よりも多くの Web 開発者がいます。Web には最高のドキュメントがあり、最もよく知られたデザイン パターンがあり、最大手の企業が投資しています。」

しかし、ブラウザは特定の種類のクライアント/サーバー ソフトウェア用に設計されているため、Web テクノロジーをネイティブ アプリに導入する Electron や Tauri (Capacitor、Cordova、Ionic、NativeScript、React Native は言うまでもない) のような取り組みを見てきたと彼は言います。発達。 開発と管理の観点から見ると、複数のプラットフォームをターゲットにするのは課題であるため、これらは歓迎されていると彼は言います。

「Android エンジニア、iOS エンジニア、Windows デスクトップ エンジニア、macOS エンジニア、Linux エンジニアを見つけて雇用し、奨励して維持するのは非常に困難です」と彼は言いました。

「Socket は、Web 開発者があらゆる OS、デスクトップ、モバイル向けのアプリを作成するのに役立ちます。それには、HTML、CSS、JavaScript、またはお気に入りのフレームワークが使用されます。」

ソケット ランタイムには、Electron よりもサイズ上の利点もあります。はるかに小さいアプリを生成します。 同氏によれば、Electron は「基本的に 1 日の終わりには 200 メガバイトのバイナリを提供しますが、Socket は 1.5 メガバイトのバイナリを出荷します。新興市場に対応したい場合、これはかなり大きな問題です。」

Tauri はバイナリ サイズの点で競争力がありますが、Fragomeni 氏は、Rust で利用できるメモリ安全性の利点にもかかわらず安全ではないという Tauri のアーキテクチャ上の選択に異議を唱えています。

「タウリ、素晴らしい仕事が含まれています」と彼は言った、「しかし、彼らは[Electronで見られる]メインプロセスのアイデアを引き継いでいます。メインプロセスは、コンピュータ上で実行されるこの種の任意のプロセスです。コンピュータへの完全な無制限のアクセスが可能であり、このプロセスが何を行うかについてユーザーが保証する方法はありません。」

「Socket は Web 標準を採用するという点で、根本的に異なるアプローチを採用しています」とフラゴメニ氏は述べています。 「Web 標準には、CSP (コンテンツ セキュリティ ポリシー) と呼ばれるものがあります。私たちはこれを使用して、中間層に送られる IPC (プロセス間通信) 呼び出しをきめ細かい方法で実際に軽減します。」