论坛首页 Java企业应用论坛

Java开源框架发展的遐想

浏览 27677 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
作者 正文
   发表时间:2007-05-23  
如果可以,跳开WebApp搞点别的嘛。
0 请登录后投票
   发表时间:2007-05-24  
除了Web, Spring和Hibernate之外,不少Java开发人员致力于其它领域的开源项目的开发。比如在测试,工作流,搜索领域等等,不过目前为止没能具有前者那么广泛的影响力。可能是采用前面提到的三大件就可以解决国内大部分信息化系统的建设,因此其它领域关注的开发人员较少的缘故。

blogbin
0 请登录后投票
   发表时间:2007-05-24  
ESB/SOA现在越来越多实质性的开源方案,可以结合ESB/SOA/J2EE搞一把后台业务处理服务器,里面涉及挺多东西:)

不过,的确是用户太少,使用者比SSH差了两三个数量级不止,想想还是没有信心自己做这方面的开源。
0 请登录后投票
   发表时间:2007-05-24  
我倒是认为页面上应该出现一套完整的AJAX的框架。现在的AJAX框架也很多,但与我想象的不太一样,我更愿意称它们为组件。比如说数组件、表格组件、列表组件等等,它们是分离的、破碎的,互相之间缺乏一种强有力的通讯或联系,需要有一个总的框架把页面中所有的这些组件联系起来。就像rcp中那样。这样也就不存在页面的跳转了,one page one application
0 请登录后投票
   发表时间:2007-05-25  
robbin一针见血阿,指出了hibernate和spring的硬伤!

由于这两个框架的问题(hibernate的映射多态支持有限,不能够进行复杂的OO设计,spring不能管理new的对象),导致用他们实现RichDomainObject设计的确比较麻烦。

不知道有没有其他的替代框架,可以弥补他们在这方面的不足?
0 请登录后投票
   发表时间:2007-05-25  
robbin 写道
上周末在杭州网侠大会做演讲的时候,我说:Java开源框架的革命浪潮已经结束了,未来几年,将是Java语言级别的革命。说实话,自从03年Hibernate火爆,04年spring流行之后,Java开源领域实在太缺乏亮点了。但是,Java的主流开源框架真的一点改进的余地都没有了吗?

先来说说Hibernate吧。Hibernate确实功能强悍,但是Hibernate不够易用,而且有一些明显的缺陷:one-to-one必须通过bytecode enhancement才能lazy loading;不支持多态关联;怪异的inverse配置和维护;DetachedCriteria有明显的bug;many-to-one的eager fetch设置不够灵活,让Hibernate的使用者真是又爱又恨,使用起来战战兢兢,如履薄冰阿。Gavin King同学是个很刚愎的人,他似乎从来不觉得这些问题是问题,而且他已经把自己的主要精力放到JBoss Seam产品上面去了,也许我们只好继续忍受了。那么JPA呢?JPA标准就像是Hibernate模子里面刻出来的一样。但是为什么人们总是在忍受Hibernate缺陷的同时,却没有去努力改进这些问题呢?

我想,问题的关键在于一些缺陷的改进需要对Hibernate整个源代码架构进行伤筋动骨的改动,但是对于Hiberante今天所取得的垄断地位来说,显然Hibernate的开发者们已经缺乏足够改进的勇气和魄力了。


Springframework,简直如日中天,定义了轻量级Java企业应用开发的事实标准。但是spring真的很完美吗?我们已经听到太多对于spring的xml bean配置文件的抱怨。也许配置文件不是太大的问题,spring已经开始尝试引入annotation。但是spring的致命问题是无法方便的对动态创建的bean进行依赖注入。Google Guice的出现让我们看到了其实prototype的bean和动态创建的bean其实也可以很容易的管理。spring自身的缺陷事实上造成了很难进行rich domain model架构的实现。

Rod Johnson创办的interface21公司专职从事spring的咨询,最近已经得到了1000万美元的风险投资,是没有足够的资源去改进spring吗?当然不是。是因为spring今天所取得的垄断地位使得spring的开发者们没用足够的勇气去推翻spring现在的架构,进行重大的改进。


Java的Web框架领域这两年非常令人失望:Tapestry在升级的过程中不断的迷失自己,丧失用户;webwork和struts合并了两年了,结果只搞出来一个完全webwork版本的struts2.0.6,毫无改进;JSF叫嚣的厉害,却没有前途;wicket叫好却不叫座;当年令人眼前一亮的stripes两年来一直小修小补。

web框架没有改进余地了吗?其实我们稍微想一下,就发现web框架大有改进余地。例如以struts2.0为例,完全可以仿照RoR,大量使用annotation和CoC,完全消除action的配置文件,完全消除validations配置文件,但是struts2.0叫嚣了两年的Zero Configuration,却干打雷不下雨。

是的,struts2.0有一个叫做restful的actionmapping,但只是徒有其表。我们想一下,只需要稍微修改一下struts2.0的URL Mapping机制,扩展一下FilterDispatcher,再扩展几个URL的JSP Tag,让Struts2.0完全支持REST架构风格,完全不是什么难事。为什么struts2.0两年以来毫无动静?实在让人无法理解。

所以Java社区其实有很多事情可以做,而且难度也未必很大,但很奇怪的是,为什么社区显得如此沉寂呢?没有创新性的产品出来呢?我也想不明白。


其实楼主最后的疑问自己已经部分回答了。
java开源框架担心在升级的过程中不断的迷失自己,丧失用户。

以Tapestry为例,实际上Tapestry并不是迷失自己。Tapestry5是个跨越性的发展,其作者想用质变的方式做一个优异的开源框架。但不幸的是因为跨越的幅度太大了,所以丧失了用户。很显然hibernate和spring很清楚这种后果,所以不敢对框架做大的改动。

用哲学的道理来看很清楚。量变的发展而导致质变。质变的结果是产生新事物。旧事务必定会对新事物的发展起阻碍作用。但新事物必定会产生,旧事物必定会被抛弃。

所以,再过一年或者两年,spring和hibernate必定会被抛弃。即使保留下来,也只是类似sturts2.0那样的品牌名字而已。

0 请登录后投票
   发表时间:2007-05-25  
光说没用,Struts不是开源的吗?
也可以自己去修改,符合自己的使用习惯啊。既然如此简单的话。
0 请登录后投票
   发表时间:2007-05-25  
替楼上回答一下,大家都认为那些框架不难,没什么技术含量,自己写又觉得烦琐,浪费时间,所以就不写了。
0 请登录后投票
   发表时间:2007-05-25  
说白了,各个方面的考虑的因素太多,开源这一块,没有一个强大的社区来统领,组合几大框架的优点,很可能进一步的迷失方向,不管是那个框架,还要注意被ms吞没的市场.
0 请登录后投票
论坛首页 Java企业应用版

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