使用脚本开发应用程序有非常高的开发效率,在最新的JDK8中不但有原来的java命令执行java程序,还新加了一个jjs命令用来执行JavaScript程序,JDK8刚发布不久,基于jjs它开发的项目还非常少,这里特别介绍hijk项目,同时大家可以了解下jjs的实用性.
hijk 是一个自动化的WebAPI开发包,因为是自动化开发包,所以使用非常简单
?
基本用法:
新建一个javascript文件,写入两个HelloWorld
?
class="js" name="code">hijk.api.helloworld = function() { return "Hello World!"; }; hijk.api.helloworld2 = function() { return {MSG: 'Hello World!'}; };
?
?
然后把文件复制到 ./js/ 目录,这两个javascript函数就会自动加载为WebAPI, 直接支持json。hijk是基于文件目录管理各模块的工具包,同时支持在线编写代码 ?http://localhost:8080/edit/js/demo.js

?
WebAPI中取参数跟操作普通json对象一样简单
?
hijk.api.get = function(map, request) {
var msg = {
url: request.getRequestURI(),
id : map.id[0],
name: map.name[0]
};
return msg;
};
?
?
定义数据库完全用javascript, 工具包会自动创建数据库表。
?
hijk.table.table1 = {
data: {"id": 0, "name": ""},
key: ["id"],
index: [["name"]]
};
?
?
操作数据库也是javascript标准语法, 非常直观易于理解.
?
hijk.api.table1_insert = function() {
var tid = hijk.db.id();
var v = {
id: tid,
name: "name" + tid,
fieldA: "fieldA" + tid,
fieldB: "fieldB" + tid
};
if (hijk.db.insert("table1", v)) {
return tid;
} else {
return -1;
}
};
hijk.api.table1_select_sum = function() {
var r = 0;
hijk.db.select("from table1", [],
function(v) {
r += v.id;
return true;
});
return r;
};
?
?
上面的javascript代码都是只需要复制到 ./js/ 目录就会自动加载为WebAPI. 可以使用外部应用程序或者普通html配合调用WebAPI.hijk工具包带有一个Web服务器,只需要把html页面复制到 ./html/ 目录就能用http访问,也可以使用?http://localhost:8080/edit/html/index.html 在线编辑html
<html>
<script type="text/javascript">
function hello() {
var req = new XMLHttpRequest();
req.open("GET", "/api/helloworld2", true);
req.onreadystatechange = function() {
if (req.readyState === 4 && req.status === 200) {
var o = eval("(" + req.responseText + ")");
alert(o.MSG);
}
};
req.send();
}
</script>
<body >
<p> <img id="img1" src="" alt="" onclick="hello();"></p>
</body>
</html>
?
hijk开发包使用了JavaScript的简易性,几行代码就能完成复杂的功能,可以自由修改扩展。扩展包复制到./kits/目录下,使用 jjs build.js 就会自动加入到运行命令中。与node.js不同, hijk是一个高层应用开发包,无须关注底层的各种异步机制。
?
?
hijk开发包项目连接地址
?