简单是种美
在Java世界里打拼也好几年了,也看到了各种不同技术的浮浮沉沉,倒是发现了一个简单的规律,最简单的东西往往是最有用的,简单的软件也是种美。
在 Java Web 领域,曾经有无数各种各样的框架,Struts1/2,JSF,Echo1/2,Tapestry,Wicket,等等等等了,这么多不同的框架代表了两 个不同的方向,除了 Struts 这个是基于请求的,其他几个都是算是事件驱动的,但是后面几个在整个市场上所占的份额也赶不上 Struts 一家。HTTP 请求本来是很简单的,而 Struts 就是基于这样简单的概念,但是却有无数人希望重现 VB 时代的那种拖拖拉拉的编程方式,希望用事件驱动一切,但是大部分人都失败了。失败的原因也其实不那么复杂,有的是不够成熟,像 JSF 这样被 Sun 官方大力推崇的框架,但 Ajax 出现的时候,JSF 中想灵活的用 Ajax 都成了一种奢望,有的是资料太少了。像 Echo2 这样的框架资料,少的跟珍惜保护动物似的。
当然也不是没有成功的,微软凭借其强大的开发实力,和开发工具的配合,加上没有给 ASP.net 用户更多选择余地,取得了无人匹敌的成功。但是这个成功在 Java 世界是不会拥有的,Java 世界没有微软这样的巨头,Java 世界中拿得出手的几个开发工具,Eclipse,Netbeans,IDEA,在所见即所得的开发上远远的落后于 Visual Studio。相比微软帝国,Java 世界多的是中小型的,开源的工具产品。规模上都远远落后于微软,Java 世界唯一可走的路便是简单了。对 Java 世界来说,简单不仅仅是种美,更是生存之道。
起初作为 Java 世界 PK 微软产品的重头戏,EJB 在学院派的力捧下诞生了,EJB 似乎从来都不打算让人活的轻松,一个简单的东西非得搞的复杂无比才行。而且其持久层 Entity Bean,似乎连基本功能都没能实现,更别谈大规模使用了。EJB 1/2 的时代是开发人员永远无法忘却的噩梦。
Java 世界也从来不缺活跃分子,Rod Johnson 这个有种音乐家气质的牛人凭借自己多年的积累,推出了 Springframework,这样一个基于 IoC 和 AOP 两个概念的简单易用的框架,完成了很多起初只有 EJB 才能完成的工作,Spring 也一夜成名,成为 Java 世界使用最为广泛的轻量级应用框架。
几乎是同时,来自澳洲的小帅哥 Gavin King 也在用一种与众不同的方案去替代现有比较复杂的 Java 持久化方案,最后他的 Hibernate 也成为替代原有 EJB 持久化方案的选择。相对简单的 Hibernate 也取得了巨大的成功。
其实这样的例子在 Java 世界也非常多,以至于后来来自于 Ruby 开发社区的 Ruby on Rails 的出现,给了 Java 开发者当头一棒,原来还有更简单的做法哦。于是 Java 世界慢慢的开始对多种脚本语言进行支持,包括 Ruby,以及后来自创的 Groovy。以此去打造类似 RoR 那样简单的开放方式。
生活其实是很简单的,软件开发其实也是一样,用简单的方式,去打造简单的软件,Java 世界用无数失败的教训证明了这一点。像我呢,也喜欢用这样简单的方式去工作,最喜欢 IDEA 去写代码,最喜欢 Struts2 + Spring2 + Hibernate3 这套组合,最最喜欢的是简单,因为简单是最美的工作方式。