melonbox(原melonUI)
用于创建基于html5的桌面应用,类似于electron,但是体积更小巧,打包应用不到10兆,支持win7系统。
melonbox目前有四个版本:
melonbox-pro (内置nodejs支持,开发语言js)
melonbox-max (内置go语言支持,支持js和go混合代码,开发语言js+go)
melonbox-plus (支持js代码和静态资源打包,开发语言js+go)
melonbox-lite (支持dotnet扩展,js可直接调用C#编译的DLL,开发语言js+C#)
https://github.com/caixiaogua/melonbox/releases
下载地址:melonbox-max说明:
- 更丰富更强大的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>
melonbox-pro说明:
- 去除了对.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)`);
melonbox-lite说明:
- UI基于微软webview2,稳定可靠,支持最新html5特性。
- 内置本地文件读写,内置支持mysql和sqlite数据库操作。
- 如需调用C#编译的DLL,需要.net4.0以上环境,编译命令为“csc.exe /t:library net.cs”
- 可集成其它后台服务程序,如nodejs,或go开发的后台程序。
melonbox-plus说明:
- 基于chrome内核,支持所有最新的html5特性。
- 基于jsgo,丰富的系统api接口,轻松愉快的开发体验。
- 内建go语言jit,可使用js和go进行混合开发。
- 代码可编译加密,可放心地打包发布桌面应用。
- 绿色环保,没有依赖,无需安装,省心省力。
- 前后端分离模式,dist目录为前端目录,app.js为后端接口。
欢迎加入QQ群:739721147
plus版和max版开发请参考:
https://github.com/caixiaogua/jsgo
plus版可编译app.js为app.sox
jsgo buildx app.js
plus版可打包静态资源文件夹(详细使用说明请参考jsgo6.1更新日志)
//例如打包css文件夹,生成css.pkg文件
jsgo pack css