内容简介:GoSqlGo ( https://gitee.com/drinkjava2/gosqlgo) 天下武功,唯快不破,程序无非就是接收用户输入、存到数据库。GoSqlGo能让前端直接存取数据库,独立完成项目开发。 GoSqlGo是一个运行于服务端的工具,它的最大...
GoSqlGo ( https://gitee.com/drinkjava2/gosqlgo)
天下武功,唯快不破,程序无非就是接收用户输入、存到数据库。GoSqlGo能让前端直接存取数据库,独立完成项目开发。
GoSqlGo是一个运行于服务端的工具,它的最大特点就是在运行期动态编译客户端 Java 代码,所有 SQL 和Java代码都可以在前端Html页面完成,可以彻底甩掉后端。开发完成后再利用打包 工具 将SQL和Java从前端移到后端,以实现安全。忘掉MVC吧,因为现在架构变成MV两层了;忘掉FreeMaker之类模板吧,因为Java内嵌到HTML里去了;忘掉后端 程序员 吧,因为前端把后端的活给干了;忘掉前端校验吧,因为后端校验这活也归前端了,前端校验能偷懒就偷吧。
本次v1.2.0版更新内容:添加了对Node.js脚本的支持,以下为使用示例:
<!DOCTYPE html>
<html>
<head>
<script src="/js/jquery-1.11.3.min.js"></script>
<script src="/js/jquery-ajax-ext.js"></script>
<script src="/js/gosqlgo.js"></script>
</head>
<body>
...略...
<div>
<script>
document.write($script(`
const process = require('process');
var i= parseInt($1)+ parseInt($2);
result="当前Node.js版本号:"+process.version+"<br/> 运行结果1+2="+ i;`,
1, 2));
</script>
</div>
</body>
</html>
从上面的例子未尾可以看到,Node.js服务端的Javascript可以用一个script方法,直接写在客户端的Javascript里了。简单地说,就是Javascript可以嵌入Javascript了,惊不惊喜? 意不意外?
它的原理是GoSqlGo对于script方法传来的片段,先编译出一个Java文件在服务端,然后每次调用这个Java时,会将调用转发到Node.js服务端上,Node.js服务端根据调用的ID,从磁盘或缓存里读取script文本片段,并用eval方法转为Javascript来执行。
在发布阶段,用goServ.bat或goServForce命令,将所有的Javascript片段会抽取成服务端的Java源文件,以实现安全性,防止客户端进行Javascript的eval方法的注入攻击。
示例中的nodeServer.js是我临时学了Node.js之后现编的,没有加上DAO存取数据库的功能,如果对它不满意,Node.js高手们请自已上。
GoSqlGo下一个目标是加入对 php 的支持,以后在Javascript里可以直接嵌入php,或者大家有什么更好的目标及建议也可以提出来。
另外考虑到有些人不清楚GoSqlGo是干什么的,下面简单贴上另一个GoSqlGo的使用示例,它允许在前端html里直接写SQL和Java进行服务端操作:
<!DOCTYPE html>
<html>
...略...
<body>
<script>
document.write($java(`return new WebBox("/page/menu.html").setAttribute("title", $1);`, "Transaction demo, use jQuery"));
function getUserListHtml(){
var users=$$qryMapList(`select * from account where amount>=? order by id`,0);
var html="User List:<br/>";
for(var i=0;i<users.length;i++)
html+="User ID:" + users[i].ID+", AMOUNT:"+ users[i].AMOUNT+"<br/>";
return html;
}
</script>
...略...
</body>
</html>
以上示例用到了Java、Sql、Javascript三种语言。详细的介绍可以参见项目主页#GoSqlGo
另外请大家顺手在码云点个赞,开源不容易,这么优秀的开源项目更是不容易碰到。额,好吧我承认,第一次拉赞助没经验,这么说显得太诚实、太谦虚了,以后会改进。
以上所述就是小编给大家介绍的《GoSqlGo 1.2.0 发布,添加Node.js支持》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
ANSI Common Lisp
Paul Graham / Prentice Hall / 1995-11-12 / USD 116.40
For use as a core text supplement in any course covering common LISP such as Artificial Intelligence or Concepts of Programming Languages. Teaching students new and more powerful ways of thinking abo......一起来看看 《ANSI Common Lisp》 这本书的介绍吧!