hijk 是一个简单实用的WebAPI开发包,使用了JDK8中新加入的执行命令 jjs 启动, 从服务器端到客户端都使用统一的JavaScript语言, 所有修改都会在访问时自动加载,而不需要再编译.
hijk 包括了完整的Web服务器,能直接存取非结构json数据的数据库。开发效率高, 无配置, 所有代码都是JavaScript,简单几行代码就能完成复杂的功能。运行效率高,单机处理每秒几千次的HTTP数据查询请求无压力。
基本用法:
新建一个javascript文件,写入两个HelloWorld
1 | hijk.api.helloworld = function () { |
4 | hijk.api.helloworld2 = function () { |
5 | return {MSG: 'Hello World!' }; |
然后把文件复制到 js 目录下,这两个函数就会自动作为WebAPI执行,支持文本及json数据,也可以使用 http://localhost:8080/edit/js/demo.js 直接在线开发 WebAPI 或者在线编写html页面.

支持WebSocket WebAPI,可以通过 send(), onmessage() 与客户端进行双向的数据通讯,使用这个功能只需要30行JavaScript代码就能完成一个聊天室的服务器端开发。
1 | hijk.api.ws_helloname = function (socket, request, response) { |
3 | .onmessage( function (name) { |
4 | send_all( "Welcome " + name); |
支持HTTP和HTTPS, 内置了Web服务器,把 *.html 复制到 html 目录就可以使用http(s)访问。
支持数据库操作,使用如下脚本指定主键及索引,自动加载时就会自动创建表table1, 智能化编程
2 | data: { "id" : 0, "name" : "" }, |
数据库可以直接存取非结构化的json数据
01 | hijk.api.table1_insert = function () { |
02 | var tid = hijk.db.id(); |
06 | fieldA: "fieldA" + tid, |
07 | fieldB: "fieldB" + tid |
09 | if (hijk.db.insert( "table1" , v)) { |
15 | hijk.api.table1_select_sum = function () { |
17 | hijk.db.select( "from table1" , [], |
支持分布式编程,无需学习一门分布式开发语言,直接使用JavaScript就能进行可读性高的分布式开发,一个简易的JavaScript函数,能同时控制多台Web服务器
快捷系统备份,hijk基于文件夹目录设计,包括数据库文件都位于同一个目录内,备份只需要复制整个文件夹,可以使用操作系统自带的zip工具,一条命令完成压缩加备份,系统还原只需要解压缩文件夹。
hijk的代码全部是JavaScript,能快速阅读,自由修改及测试。
来源:http://www.oschina.net/p/hijk
开源代码:https://github.com/iboxdb/hijk