论坛首页 Java企业应用论坛

Non MVC ==> View First的框架Asta4D

浏览 8791 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
作者 正文
   发表时间:2014-01-15   最后修改:2014-01-15
sorry, 搞错了,删除。。。
0 请登录后投票
   发表时间:2014-01-15   最后修改:2014-01-15
不好意思,关于页面静态化没描述清楚。
不知道你了解phpcms或dedecms那类的cms系统吗,他们会把php文件生成html文件到磁盘上,这样不紧可以提高性能,还可以提高搜索优化。比如有一个网站,我把动态的东西部署在tomcat下,然后把这个应用静态的东西,比如js、css、html文件部署到apache或你说的nginx下面。但由于用框架Asta4D开发的话,模板文件后缀虽然是html,但其实是动态文件(里面里面有afd标签需要后端程序解析,解析完最终才生成普通标准的html代码到客户端浏览器),我的意思就是asta4d模板引擎里有没有提供方便的把这些标准的html输出到文件到磁盘上保存起来。然后我就可以把这些输出的html文件部署到apache或你说的nginx下面,这样前端apache或nginx一收到是html文件的请求时就到自己的web目录下查找,不需要再将请求转发给后端的tomcat处理了。
0 请登录后投票
   发表时间:2014-01-15   最后修改:2014-01-15
我已经解释过了,Asta4D并不提供接口让你可以把最后的结果缓存起来,虽然支持这个功能只需要很简单的暴露几个接口就可以了,但我们认为没有必要,因为nginx可以很容易的做到这个而且可以做得更好。

你想做的事情,其实根本不需要特意的把内容保存到磁盘上然后再“部署”到nginx下,nginx或者apache的反向代理本来就支持缓存的,通过nginx反向代理访问Asta4D的网页,然后nginx会将得到的页面保存在本地磁盘中,下一次访问nginx就不会再去访问Asta4D服务器了,直接从本地磁盘读入缓存返回给客户端。我们的服务器就是这样配置的。

另外,根据我们的测试,如果snippet的结果可以缓存起来的话,即使每次访问都要通过框架来重新组装页面,就现代服务器而已,这个CPU的代价是非常低的,好处是可以实现比页面更细的细粒度缓存控制。如果对大访问量的网站来说,这个cpu的代价不可接受,如前所述,apache或者nginx的反向代理可以完美的实现基于页面的缓存控制。
0 请登录后投票
   发表时间:2014-01-15  
现在看起来,有点意思,想用到项目里体验下,请问目前的版本是正式稳定版的吗?
单元测试的代码覆盖率是多少?
有没有更完整的文档资料?
0 请登录后投票
   发表时间:2014-01-16   最后修改:2014-01-16
现在总共分为三个包,覆盖率如下:

asta4d-core: 64%
asta4d-web: 54%
asta4d-spring: 0%

asta4d-spring是和spring整合的实现,现在没有写测试

asta4d-core的实际覆盖率应该在80%以上,因为很多类只是一个声明所以没有测试,但工具计算覆盖率的时候认为是0,所以把平均分拉低了。。。

asta4d-web的测试用例的确不足,但核心包com.astamuse.asta4d.web.dispatch的覆盖率超过90%,我们投入的开发成本不多,剩下的只能是慢慢补了。。。


如果投入项目使用,有两个注意点:

1. 文档不足,你所看到的中文文档是目前最全面的文档了,更全面的文档还在编写中,目前的计划是在本月中争取完成一个还算完整的英文版手册,我写中文版的目的主要是为了整理内容,因此单纯的介绍功能的reference部分,会优先完成英文的部分。github上的代码中,asta4d-sample算是一个参考示例,从maven创建的achetype也是一样的内容,算是可以覆盖大部分常见任务,当然,覆盖率仍然不足。。。

2. Form Validation,Asta4D没有集成任何validation功能,因此你必须自己集成一个第三方的validation实现,并且自己负责把validation的结果写到页面上,而spring和struts都以及集成了validation,相对来说比较方便。我们不打算自己实现validation,基本思路是利用第三方实现(我们的网站使用的是公司内部的一个闭源的实现),目前有一个在进行中的工作是帮助程序员更方便的集成第三方validation实现并更方便的把validation结果写到页面上,但还停留在技术验证阶段,有兴趣可以去看github上的代码,FormValidation分支。因此你需要退回到比较原始的时代自己处理form相关的事项。

最后,目前的版本是稳定版,但不是正式版,master分支的版本,就是我们网站目前使用的版本,因为暂时这个框架只有我们自己在用,因此框架新版本release的时机基本上就是我们的网站要求必须修改某个bug或者追加某个功能。

我们的计划是在完成文档以及form validation的辅助功能后,争取能够发布一个1.0alpha版,然后开始社区建设,因此,如果你有兴趣现在就开始用的话,可以直接在qq上跟我联系,我已经私信给你我的qq号了。

0 请登录后投票
论坛首页 Java企业应用版

跳转论坛:
Global site tag (gtag.js) - Google Analytics