0 介绍

windows平台下开发软件的平台非常多,但是想要开发酷炫界面丰富Native函数轻量级上手快快速开发的却几乎没找到。求人不如求己,自己动手开发实现了这个工具,我将其命名为LightCode,体现其轻量级快速开发之意。

LightCode有如下能力:

  1. 提供Native接口给JS调用,如文件相关操作Windows系统相关操作等,并持续扩充中。
  2. 开发者通过HTML5+JS+CSS实现界面,LightCode将其压缩、加密、打包到exe中。
  3. 轻量级,LightCode基座只有~1M,最终打包的exe大小取决于开发者提供的资源体积。

相关文档:

  1. 官网:https://lightcodesoft.github.io/
  2. 文档:https://lightcodesoft.github.io/docs/index.html

最近看到一个巨牛的人工智能教程,分享一下给大家。教程不仅是零基础,通俗易懂,而且非常风趣幽默,像看小说一样!觉得太牛了,所以分享给大家。平时碎片时间可以当小说看,【点这里可以去膜拜一下大神的“小说”】

我们以一个简单的例子来介绍LightCode

1.开发环境

前往https://lightcodesoft.github.io/下载最新的LightCode打包工具到本地,得到如下文件:

LightCode.exe

保存到本地,本文以C:\LightCode.exe为例。

2.配置文件

指定开发工作目录,以D:\MyWork\FirstProj为例,执行如下命令:

C:\LightCode.exe -d -w D:\MyWork\FirstProj

执行完成后,在D:\MyWork\FirstProj目录中生成project.json文件,默认内容如下:

{
	"entry": "index.html",
	"width": 600,
	"height" : 400,
	"bgColor" : "#F0F0F0",
	"appNameCN" : "新建项目",
	"appNameEN" : "NewProject",
	"borderless" : false,
	"borderWidth" : 1,
	"borderColor" : "#FFFFFF",
	"ico" : "",
    "key": "",
	"fileVer" : "0.0.0.1",
	"productVer":"0.0.0.1-apha",
	"copyright":"Copyright(C) 2024-2025 LightCode",
    "companyName":"LightCode Company",
    "fileDesc":"这是个LightCode应用",
	"exclude":[]
}

以上各个字段含义如下:

  • entry:入口文件,即软件启动时的第一个html文件名。
  • width、height:分别表示软件界面的宽和高。
  • bgColor:软件默认背景颜色。
  • appNameCN:软件中文名,用于显示中文名称。必须要设置。
  • appNameEN:软件英文名,用于创建目录相关名称,如没有英文名,可以用拼音代替,必须要设置。
  • borderless:boolean类型,是否去掉默认的标题栏和边界线。
  • borderWidth:边界线的宽度,单位像素,只有当borderless=true时生效。
  • borderColor:边界线的颜色,只有当borderless=true时生效。
  • ico:软件图标文件路径。
  • key:软件加密密码,如果设置了加密密码,打包后的软件需要卡密才能使用,生成卡密功能需要加入QQ群1004749406向群主索要。
  • fileVer:软件版本。
  • productVer:产品版本。
  • copyright:版权信息。
  • companyName:公司信息。
  • fileDesc:软件描述。
  • exclude:不打包进入exe的文件列表。

3. 开发界面

创建index.html文件,内容如下:

<html>

<body>
    <h1>这是我的第一个应用</h1>
</body>

</html>

LightCode提供了很多Native能力,并且还在持续扩充中。LightCode可以直接调用dll中的函数,为开发者提供了js调用C/C++能力,开发者可以将复杂耗时的功能用C/C++实现,js+css实现酷炫的界面。以调用Windows的系统提示窗口为例,修改index.html如下:

<html>

<head>
    <script>
        let Native = window.Native;
        function myAlert(title, msg){
            //调用user32.dll中的MessageBoxA函数,该函数的原型void(int,str,str,int),后面传入4个参数
            Native.invokeDll("user32.dll", "MessageBoxA", "void(int,str,str,int)", 0, msg, title , 64);
        }
    </script>
</head>

<body style="background-color: yellow;">
    <h1>这是我的第一个应用</h1>
    <button onclick="myAlert('我是标题','调用系统提示弹窗!')">点击</button>
</body>

</html>

此时D:\MyWork\FirstProj目录内文件如下:

|- project.json
|- index.html

project.json中的appNameCN,appNameEN修改如下:

"appNameCN" : "FirstProj",
"appNameEN" : "FirstProj",

4. 调试

打开命令控制符,执行如下命令

C:\LightCode.exe -d -w D:\MyWork\FirstProj

显示界面如下:

5. 打包

执行如下命令将脚本打包成exe

C:\LightCode.exe -p -w D:\MyWork\FirstProj

执行如上命令后,在D:\MyWork\FirstProj目录下生成了dist目录,并且在dist目录中生成了FirstProj.exe文件,文件只有~1M

Logo

脑启社区是一个专注类脑智能领域的开发者社区。欢迎加入社区,共建类脑智能生态。社区为开发者提供了丰富的开源类脑工具软件、类脑算法模型及数据集、类脑知识库、类脑技术培训课程以及类脑应用案例等资源。

更多推荐