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) 래퍼를 사용해 HTML/CSS/JS와 Windows UI를 결합한 GUI 앱을 작성할 수 있습니다.
풍부한 라이브러리 팩 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 서비스 연결도 제공합니다.

관련

  • 프로젝트
  • 프로젝트
  • 프로젝트
  • 프로젝트
  • 프로젝트