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より)

  1. モジュールの作成lib/sayhello.js
    function say() { console.log("hello"); }
    exports.say = say;
    
  2. エントリスクリプトの作成sayhello.js
    var SayHello = require("lib/sayhello");
    function main() {
        console.log("calling say()");
        SayHello.say();
        console.log("ended say()");
    }
    exports.main = main;
    
  3. コンソールから実行
    cscript app.js sayhello
    
    出力:
    calling 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サービス接続を提供しています。

関連

  • プロジェクト
  • プロジェクト
  • プロジェクト
  • プロジェクト
  • プロジェクト