簡單是種美
在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 這套組合,最最喜歡的是簡單,因為簡單是最美的工作方式。