|
经过数年的“框架大战”,java界的各种框架找到了自己应有的位置。spring+hibernate+struts已成为java开发的主流体系。在这个体系中,spring+hibernate的地位应该说短期内是难以撼动了。除了新兴的jboss seam作为挑战者之外,几乎难有劲敌。
java b/s编程中历来战火最激烈的其实还在web层,框架的数量最多,争议最大。一切由struts而起,而struts最终也坐稳了第一个时代的王座。在技术层面,struts 1.x已经被无数人抱怨过、批评过,但终于还是稳坐王位,这充分说明了习惯的力量。“稳定压倒一切”,这句话在it技术领域仍旧适用。
在2007年csdn举办的调查中,我们详细的分析了java开发框架的使用状况,发现主要使用的开发框架jsp占26%,struts占21%,hibernate占17%,spring mvc占11%,ejb占7%,jsf占6%,spring web flow和pojo各占4%,其它占4%。就这一调查数据,我们不难看出,spring+hibernate+struts的优势地位还是相当的明显。
struts和hibernate几乎已经成了javaee应用的常规配置,21%的开发者用到 struts,用到hibernate的开发者也有17%;在一个成熟的技术平台上,各个项目的技术方案会在很大程度上趋同——因为所有未知领域都已经被探明,各种问题都有对应的最佳实践,架构师们可以参考的成功案例越来越多。就拿 javaee来说,今天的架构师们需要考虑的问题比之三年前已经简单多了,这就是成熟的价值。
有专家评论:“其实it应用技术,什么新鲜玩意并不难学,难的是标准化和规范化。每个程序员都有自己的思路和习惯,写出来的代码自然是五花八门。java何以成为编程界的占重要地位,很重要的一点在于java的规范化。这种规范化很高的语言适用于多人合作的大型项目,便于沟通和理解,也就便于集成和维护。
java世界为什么会框架横飞,说到底还是规范化的需要。纯jsp和struts写web谁快,摆明了是jsp。那为什么用struts?原因在于100个人写出来的 jsp,有100种写法;而100个人写出来的struts,基本相似。struts之成功,正缘于其在java web层的规范化方面所做出的贡献。
然而长江后浪推前浪,struts 1.x的技术缺陷毕竟是隐患。sun力推jsf,打算一雪web层框架缺失之耻。jsf现在比较有优势的是对ajax的集成,这一点走在了其他框架的前面。未来两年,jsf与struts将展开java web框架的最终战争。”
jsp经过几年风雨洗礼依然把持头把交椅,看来所有的框架表示层都离不开jsp而存在,而作为jsp的手足兄弟jsf也是仅次spring之后又一个后起之秀。jsf能否实现jsp的合理过渡我们还要侍目以待,jsf是否能够撼动struts也是值得我们期待。
|