welsonjs/README.md

5.5 KiB

welsonjs

WelsonJS - Build a Windows desktop apps with JavaScript, HTML, and CSS based on WSH/HTA or GTK.

Structure

Structure

Specifications

Included libraries

  • lib/std (Standard library)
  • lib/system (System library)
  • lib/base64 (BASE64 Encode and Decode)
  • lib/db (Database interface)
  • lib/file (File I/O interface)
  • lib/http (HTTP interface)
  • lib/json (JSON Encode and Decode)
  • lib/registry (Windows Registry interface)
  • lib/security (Security Policy interface)
  • lib/sendmail (Sendmail interface with 3rdparty)
  • lib/shell (Command Prompt interface)
  • lib/timer (setTimeout polyfills)
  • lib/powershell (Windows Powershell interface)
  • lib/service (Windows Service interface)
  • lib/oldbrowser (ES5/ES6, HTML/JS/CSS compatibility)
  • lib/uri (URI scheme interface)
  • lib/winlibs (Windows DLL(Dynamic-link library) interface)
  • lib/autohotkey (AutoHotKey interface)
  • lib/autoit3 (AutoIt3 interface)
  • lib/cloudflare (Cloudflare Argo Tunnel interface)
  • lib/shadowsocks (Shadowsocks interface)
  • lib/excel (Microsoft Excel interface)
  • lib/vbscript (VBScript interface)
  • lib/wintap (Windows-TAP interface)
  • lib/tun2socks (TUN2SOCKS interface)
  • lib/hosts (Hosts file interface)
  • lib/gtk (GTK/GladeXML server GUI interface)
  • lib/chrome (Chrome Web Browser Debugging interface)
  • lib/toolkit (WelsonJS.Toolkit native component)

Make your own sayhello example

1. Write a file lib/sayhello-lib.js

exports.VERSIONINFO = "sayhello library (sayhello-lib.js) version 0.1
exports.global = global;
exports.require = global.require;

exports.say = function() {
    console.log("hello");
}

2. Write a file sayhello.js

var sayhello = require("lib/sayhello-lib");
exports.main = function() {
    sayhello.say();
};

3. Execute file on the command prompt

C:\Users\John\Documents\GitHub\welsonjs> cscript app.js sayhello
hello

Make own setup file

XML Parser (Experimental)

var XML = require("lib/xml");
var nodes = XML.load("config.xml").select("/Config/ApiUrl").toArray();
var node = XML.load("config.xml").select("/Config/ApiUrl").first();
var nodeText = XML.load("config.xml").select("/Config/ApiUrl").first().getText();
var nodeAttribute = XML.load("config.xml").select("/Config/ApiUrl").first().getAttribute("name");

Screenshot

Screenshot 1

Thanks!

Thanks 1

Image stocks

Contact me