gnh1201/welsonjs
WelsonJS - Build apps with the Windows built-in JavaScript engine
WelsonJS とは?
WelsonJS は Windows専用のJavaScriptフレームワーク であり、組み込みのWindows Script Host (cscript/wscript) エンジン で実行される言語(JavaScript、TypeScript、CoffeeScriptなど)を使って、コンソール型およびGUI型のデスクトップアプリケーションを開発できるようにします。外部ランタイム(例:Node.js)をインストールせずに、トランスパイラ(TypeScript、CoffeeScript、ReScript、LiveScript)と豊富なライブラリのバンドルを提供し、開発・パッケージ化・実行が可能になります。
主な特徴
| 特徴 | 意味 |
|---|---|
| ネイティブWindows ECMAScriptエンジンで動作 | Windowsに標準搭載されているJavaScriptエンジンでコードを実行するため、追加のランタイムは不要です。 |
| 自己完結型アプリ | アプリはzipファイルや実行可能のような.jsファイルとして配布でき、WelsonJSランチャーが実行します。ネイティブWindowsアプリに似ています。 |
| レガシー環境対応 | Windows XP SP3以降で動作するため、現代的なランタイムが利用できない古い企業環境でも有用です。 |
| 組み込みUIサポート | HTA(HTML Application)ラッパーを使用してGUIアプリを記述でき、HTML/CSS/JSとWindows UIを組み合わせられます。 |
| 豊富なライブラリバンドル | jQuery、Monacoエディタ、React、多数のポリフィル(core-js、json2、yaml)、CSSフレームワークに加え、Windowsサービス、画面キャプチャ、仮想マウス/キーボード、ESENTデータベースアクセスなどネイティブモジュールも含まれます。 |
| AIアドオン | ChatGPT、Google Gemini、Azure AIサービスなど、LLM APIへのオプション接続がランチャーに事前に組み込まれています。 |
| パッケージング&デプロイ | インスタンス管理を行うランチャー、PowerShellブートストラップスクリプト、Inno Setupテンプレート、zipベースの配布モデルを提供します。 |
一般的な利用シーン
- レガシーPCでの自動化 – Node.jsのインストールが不可能な環境で、Office、ファイルシステム、Windowsサービスと対話するスクリプトを実行。
- 組み込みまたはリソース制限環境向けツール – 余分なバイナリなしの軽量実行。産業用コントローラーや薄型クライアントマシンに適しています。
- セキュリティが厳しい環境 – スクリプト実行を隔離し、ネットワークアクセスなしでも動作可能。必要に応じてオプションのAIサービスも利用可能。
- Office中心のアプリ – Excel、Word、Outlookなどを、なじみ深いJavaScript構文で自動化。
- Windows GUIのプロトタイピング – HTML/CSSでHTAベースのウィンドウを構築し、単一パッケージとして配布。
クイックスタート(READMEより)
- モジュールの作成 –
lib/sayhello.jsfunction say() { console.log("hello"); } exports.say = say; - エントリスクリプトの作成 –
sayhello.jsvar SayHello = require("lib/sayhello"); function main() { console.log("calling say()"); SayHello.say(); console.log("ended say()"); } exports.main = main; - コンソールから実行
出力:cscript app.js sayhellocalling say() hello ended say()
アプリの配布方法
- Zip + ランチャー – ソースファイルをアーカイブし、WelsonJSランチャーと併せてzipで配布。
- Inno Setupインストーラ – 事前準備された
setup.issスクリプトが提供されています。 - PowerShellブートストラップ –
irm https://catswords.blob.core.windows.net/welsonjs/bootstrap.ps1 | iexでランタイムを取得し、コードを実行。 - 単純コピー – フォルダをターゲットマシンにコピーするだけ。
注目すべき統合機能
- LLMサービス – ChatGPT、Google Gemini、Azure AI ServicesはWelsonJSスクリプト内から呼び出せます。
- Windows固有ネイティブモジュール (
WelsonJS.ManagedObject) – サービス制御、ウィンドウ操作、ビットマップ操作、仮想入力、共有メモリIPC。 - データベース – 組み込みのESENT(拡張ストレージエンジン)データベース用ラッパー。
- 開発者ツール – Chrome DevTools Protocol、ADBサポート、gRPC/JSON-RPCクライアント、各種HTTPユーティリティ(cURL、BITS、certutil)。
- その他のAPI – AviationStack、SerpApiフライトデータ、VMware OVFTool、SEO/SERPツール。
ダウンロード先
- ランチャーのダウンロード –
https://catswords.blob.core.windows.net/welsonjs/welsonjs_launcher_latest.zip - PowerShellブートストラップ –
irm https://catswords.blob.core.windows.net/welsonjs/bootstrap.ps1 | iex - コミュニティ – READMEからDiscord、Teams、ActivityPub、XMPP、および公開Discordサーバーへのリンクがあります。
開発者情報
このプロジェクトは gnh1201(Catswords)によって維持されており、GitHub Sponsors、Liberapay、Buy-Me-A-Coffeeを通じてスポンサードされています。SerpApi、Microsoft ISVプログラム、Tenstorrentなど複数の企業協力者をリストアップしており、複数のニュースレターおよびテックブログで紹介されています。
まとめ
WelsonJSは、Windowsに標準搭載されているJavaScriptエンジンのみを使用してWindowsデスクトップアプリを開発できる実用的でオープンソースのフレームワークです。特に、レガシーまたは厳格に制御されたWindowsマシンでJavaScriptを実行したい場合に最適であり、現代的な生成AIユースケースにもオプションのAIサービス接続を提供しています。
関連
- プロジェクト
- プロジェクト
- プロジェクト
- プロジェクト
- プロジェクト