2007年7月1日,OperaMasks v1.0正式发布。金蝶中间件在其最近的“OperaMasks全国巡演”宣传中,高调打出了“Web改变世界,我们改变Web”的口号。在Java Web开发领域,各种各样的框架层出不穷,J2EE Without Ajax这句口号能否打动开发人员的心?面对外部的激烈竞争,OperaMask
一.J2EE Without Ajax梦想终成现实
OperaMasks全国巡演拉响了国产Web框架反击的号角,也让沉寂了很久的Java Web领域喧闹了起来。
那么什么是OperaMmsks? 它是一个以JSF为基础引擎、基于JSF规范的、开箱即用的Java Web层框架。选择JSF为基础引擎,在我看来,至少有三大优势。一是Sun的官方标准;二是JSF得到了包括IBM、BEA在内的众多大牌产商的支持,三是JSF是一种与具体显示技术无关的技术,这有助于适应RIA技术的变化。
一.J2EE Without Ajax梦想终成现实
很早以前采访Apusic首席架构师袁红岗的时候,就听到过”J2EE Without Ajax”,在当时我的理解只是一句广告语而已,逆潮流发展这的确是一个挑战,但今天这个梦想成为了现实,也成为了OperMasks的王牌特色。
著名的Rod.Johnson曾提出了J2EE Without EJB,成就了Spring框架。相对于Without EJB的震撼,OperaMasks的J2EE Without Ajax,同样极具吸引力。
近几年,Ajax技术发展迅猛,与之相关的框架也层出不穷,单在Java方面就有DWR、DOJO、GWT、jMaki、Ajax4jsf等等。一方面,这样的框架提高了开发效率、改善了用户体验;另一方面,这些框架都存在一个问题:相对独立。这样的独立,会造成两个问题,一是更高的学习成本。为了在你的应用中加入Ajax功能,你需要另外学习这些Ajax框架;二是与既有Web技术的绑定问题。以jMaki为例,如果想将它应用到JSF程序中,你需要将用到的一些JSF标签换成jMaki标签,这无疑增加了开发者的工作量,并且增加了出错的机会。
OperaMasks提供了“原生”的Ajax支持,无疑是意义重大的。利用OperaMasks开发具有Ajax功能的Web应用,你不需要掌握额外的Ajax框架技术。通过OperaMasks,你只需要采用标准的JSF组件的写法,你唯一需要做的就是指定该组件的Render Kit是Ajax,或者在配置文件faces-config.xml中将全局Render Kit设置为Ajax。
另外OperaMasks提供了丰富的组件库,用于组织、显示和编辑数据,并且集成了强大的YUI-EXT组件库功能。当然,你也可以通过更换Render Kit来使用别的组件库功能。
想一想,只要掌握基础的J2EE知识,就可以进行Ajax开发,这是怎样的美妙?!
二. Apusic Studio和应用服务器
“工欲善其事,必先利其器”。单单有OperaMasks还是不够的,Apusic还提供了一体化的开发、配置、调试、监控的集成开发环境——Apusic Studio,它是一个基于Eclipse的IDE工具。通过Apusic Studio,你可以进行“所见即所得”的可视化设计。Apusic Studio提供了Ajax、Graph、Layout和Widget等控件集。通过简单的拖放,就可以实现很好的Ajax效果。
与其他一些Ajax框架没有提供相应的IDE支持相比,OperaMasks无疑是有一定优势的。当然,Apusic Studio解决的是显示层的问题,那么在业务逻辑层中涉及到的事务、安全等问题,我们又该如何应对呢?
Apusic 提供了应用服务器,该服务器通过了Sun的Java EE5.0最新规范的认证,通过时间在全世界都比较靠前(金蝶宣称是第4个)。
OperaMasks是遵循JSF 1.2规范的,所以基于OperaMasks的应用,都可以运行在支持JSF 1.2规范的服务器上,当然,Apusic应用服务器为OperaMasks提供了一些额外的特性,例如基于NIO的多路复用技术提升并发处理能力、基于gzip形式的状态压缩技术降低网络流量、支持在Managed Bean中通过Annotation进行资源注入等等。所以相比其他的一些Ajax框架,OperaMasks侧重的是一个完整的解决方案,这点对于企业级应用来说,至关重要。
以上两点,是我认为OperaMasks能否引领下一代Java Web开发潮流的机遇所在,当然,笔者认为,OperaMasks还将面临更多挑战:
一. 社区力量
以上两点,是我认为OperaMasks能否引领下一代Java Web开发潮流的机遇所在,当然,笔者认为,OperaMasks还将面临更多挑战:
笔者认为,国内Java开源方面,到目前为止还没有出现一个广受欢迎的产品,忽视社区力量是一个重要的原因。我这里说的忽视社区力量,并不是说国内的开源产品没有社区。相反,我们可以见到,这些开源产品都有各自的开发团队以及用于反馈的论坛、WIKI等等。
这些开源产品都会说,欢迎大家提交BUG、贡献代码。可是实际情况中你会发现,很多开源产品的代码更新速度会越来越慢!原因何在?因为弄来弄去,还是那个开发团队在提交代码!而开发人员的时间和精力又很有限。
我们的开源,其实是开发者内部的开源!国内的开源产品为何吸引不了我们的开发者?我们的开源产品又是如何看待用户的反馈的?
反观国外那些成熟的开源框架,我们可以看到它们的邮件列表非常活跃;在用户的提问中,我们甚至可以看到开源作者们的热心回复;而对于来自社区的积极建议,我们可以很快在下个版本中看到。
作为OperaMasks的开源社区——OperaMasks.org,在宣传中,我们看到“融合官方标准和民间社区智慧”。希望这不仅仅只是句宣传语。这里我们暂且不谈开源模式,单就一个开源产品应该看重社区的邮件列表功能这点,可是透过OperaMasks.org,我暂时还没有发现这个邮件列表。
OperaMasks有金蝶的支持,人力、物力资源,我想都不是问题。希望可以真正借助OperaMasks.org的力量,接受来自社区的反馈。对开源产品而言,社区力量无可取代!
二. 外部竞争
当年的Netscape红极一时,可是它的替代品IE却成了浏览器中的真正霸主。试想,今天的OperaMasks宣称“J2EE Without Ajax”,如果哪天另外一个框架也宣称“J2EE Without Ajax”,那么OperaMasks该如何应对呢?
不错,OperaMasks有Apusic Studio!这是Apusic的砝码之一。可是别忘了,这只是个基于Eclipse的IDE,而在Java IDE市场已有NetBeans,难道你就不需要考虑了?在JSF可视化开发方面,NetBeans的可视化开发包,表现已经相当出色了。试想,如果这个时候,那个同样宣称“J2EE Without Ajax”的框架,不但提供了基于Eclipse的可视化开发插件,还提供了基于NetBeans的可视化开发插件,那么Apusic Studio的优势还在吗?
笔者认为,既然OperaMasks已经有了Apusic Studio,为什么不能再有Apusic Studio for NetBeans或者Apusic Studio for IntelliJ IDEA呢?难道非得有人喊“狼来了”,Apusic再出击吗?
再有就是砝码之二——Apusic应用服务器。但坦率地说,至少从目前来看,国内使用Apusic应用服务器的并不是太多,让开发者舍弃JBoss,用一个知名度相对较弱的Apusic,这不太现实。所以在OperaMasks的宣传上,我们还需要解决Apusic应用服务器的口碑问题。
OperaMasks,作为中国顶尖程序员和最优秀的Java团队开发的创新Web框架,需要走的路还很长。好在,它有一个还不错的起点。笔者相信,如果抓住有利机遇、克服不利因素,OperaMasks会走得很远、很远。
相关链接
号称“世界最好的Web开发框架”http://www.operamasks.org/
金蝶Apusic OperaMasks全国巡演http://www.apusic.com/market/changeweb/home.htm
网友评论