论坛首页 Java企业应用论坛

Java开源框架发展的遐想

浏览 27691 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
作者 正文
   发表时间:2007-05-23  
上周末在杭州网侠大会做演讲的时候,我说: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社区其实有很多事情可以做,而且难度也未必很大,但很奇怪的是,为什么社区显得如此沉寂呢?没有创新性的产品出来呢?我也想不明白。



   发表时间:2007-05-23  
做商业是利益驱动;做开源的是兴趣,时间驱动,struts模仿RoR,大概觉得没意思吧。struts2.0,明显冲着struts1的用户群去的,应该算是完成任务,时间长了点。MVC,事件驱动...轻量级各式各样开源或是标准的框架都有得选,开始进入平淡期了...
0 请登录后投票
   发表时间:2007-05-23  
谢谢ROBBIN,学习了。

现在的JAVA 开发,我觉得很多地方都在重复造轮子。

前些天参加BEA的JBPM产品展示,让我深有感触。想实现一个业务逻辑,不用写什么XML, JAVA,用鼠标拖,点几下,就结束了。

JAVA,需要一个行如此类的代码自动生成“框架”(称谓也许不太合适)。不知道有生之年能否得见了。
0 请登录后投票
   发表时间:2007-05-23  
积累多了也就成立包袱,技术的先进性并不代表推广的广泛性,如果放下包袱,在技术上是可以走得更远,可以现在不是还有很多人对诟病T5对T4的不兼容吗
0 请登录后投票
   发表时间:2007-05-23  
三十年河东,三十年河西
  java已经红火过了,也不枉来走一遭了
     虽然不再火暴,依然看好,还指望她挣口饭吃呢
0 请登录后投票
   发表时间:2007-05-23  
各位牛人能否自己来弄一下,某些让你们觉得重要,也不是很困难的事情呢,相对那些成功的开源,牛人们是否也为自己的赫赫声名所累? 
0 请登录后投票
   发表时间:2007-05-23  
其他都同意,不过我认为JSF是有前途的.
另外,我很期待javaFX的发展.
0 请登录后投票
   发表时间:2007-05-23  
最近web这块都不太热

比较High一点的新闻都集中在富客户端了

像Apollo,silverlight和JavaFX

web热闹了这么久,也该休息休息了
0 请登录后投票
   发表时间:2007-05-23  
SSH取得了垄断地位后就走稳妥路线了,也许只有这样才会造就后来者。

但是这段时间确实是太少亮点出现了。

WW就这样被Struts吞没了么,太能改进的和发挥的地方太多了~~~ 唉~~。

现在也改去研究标准和模式去了。

PS: sg552: IBM怎么可能做JBPM的产品演示?是JBOSS吧?
0 请登录后投票
   发表时间:2007-05-23  
javaconfig!!
spring用来解决xml配置复杂问题的子项目!使用也非常的简单
0 请登录后投票
论坛首页 Java企业应用版

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