melonbox-pro (内置nodejs支持,开发语言js)
melonbox-max (内置go语言支持,支持js和go混合代码,开发语言js+go)
melonbox-plus (支持js代码和静态资源打包,开发语言js+go)
melonbox-lite (支持dotnet扩展,js可直接调用C#编译的DLL,开发语言js+C#)
- net.cs为C#编写的js扩展库,可以自己修改,执行buildcs.bat编译为net.dll
- index.html中的js可以直接调用net.dll中的类和方法
- 读写文件可以使用内置的readFile和saveFile函数,也可使用net.dll中的扩展方法
- 内置sqlite数据库,无需额外依赖便可直接在js中操作sqlite数据库
- 开发一个桌面应用仅3兆,性能好,效率高,成本低,兼容win7系统
//调用dll扩展范例:
//index.html
<script>
// 调用net.dll文件中的方法
xcall('net.Math.Add(44,55)').then(res=>{
res='通过net.dll扩展类计算的结果: 44+55='+res;
h2div.innerHTML=res;
});
xcall('net.FS.GetFiles(".")').then(res=>{
h3div.innerHTML+=res+"<br>";
});
// 操作sqlite数据库
sqlite_init("test.db").then(async db=>{
let res=await sqlite_query("select * from users");
h4div.innerHTML="<h3>来自sqlite数据库的数据</h3>";
h4div.innerHTML+=res.map(x=>JSON.stringify(x)).join("<br>");
});
</script>
- 更丰富更强大的api接口函数。
- 可以在html中执行go语言代码。
- 具体请参考:https://github.com/caixiaogua/jsgo
//调用go语言范例:
//index.html
<script>
jsgo(function(){
let res=api.goRun(`string(ioutil.ReadFile("package.json"))`); //使用go语言读取文件内容
return res;
}).then(res=>{
console.log(res);
alert(JSON.stringify(res));
});
</script>
- 去除了对.net framework的依赖。
- 内置nodejs,与nodejs完美融合。
- 自带mysql和sqlite支持。
//index.html
<h4 id="h4div"></h4>
<script>
nodejs(async function(){
let os=require("os");
let net=os.networkInterfaces();
let cpu=os.cpus();
return {"网卡":net,"处理器":cpu};
}).then(res=>{
console.log("res", res);
h4div.innerHTML=JSON.stringify(res);
});
</script>
//去除窗口标题和最大最小化按钮
xcall(`setWinMode(10)`);
//自动最大化
xcall(`setWinMode(2)`);
//进入全屏
xcall(`setWinMode(3)`);
//设置窗口标题
xcall(`setTitle("标题")`);
//单独禁用最小化按钮
xcall(`setMinBtn(false)`);
//单独禁用最大化按钮
xcall(`setMaxBtn(false)`);
//切换到最小化
xcall(`melonbox.hitMin()`);
//切换到最大化
xcall(`melonbox.hitMax()`);
//关闭窗口
xcall(`melonbox.hitClose()`);
- UI基于微软webview2,稳定可靠,支持最新html5特性。
- 内置本地文件读写,内置支持mysql和sqlite数据库操作。
- 如需调用C#编译的DLL,需要.net4.0以上环境,编译命令为“csc.exe /t:library net.cs”
- 可集成其它后台服务程序,如nodejs,或go开发的后台程序。
- 基于chrome内核,支持所有最新的html5特性。
- 基于jsgo,丰富的系统api接口,轻松愉快的开发体验。
- 内建go语言jit,可使用js和go进行混合开发。
- 代码可编译加密,可放心地打包发布桌面应用。
- 绿色环保,没有依赖,无需安装,省心省力。
- 前后端分离模式,dist目录为前端目录,app.js为后端接口。
https://github.com/caixiaogua/jsgo
jsgo buildx app.js
//例如打包static文件夹,生成static.pkg文件
jsgo pack static