1、空前繁榮的開源世界
大致2000年以前,Java世界還是Sun一言九鼎,唯我獨尊的時代。Sun發布的任何規范和標準都無一例外地被Java社區有意無意的追捧著,Java世界沉浸在一片歌功頌德,前擁后簇的氛圍里。IBM,Bea,Oracle這些Java陣營的代表者也都為能最先最快實現Sun的各種規范而彈冠相慶。
但這三四年來,Java的列車駛進了春秋戰國百家爭鳴,百花齊放的時代,Apache,JBoss,opensymphony,Eclipse,Codehaus等開源組織個個門庭若市,車水馬龍。Java世界似乎天天在過年——張燈結彩,新桃換舊符。打開theserverside.com網站,每天映入眼簾是一條條各種開源項目發布、升級的新聞。雖然嘈雜了些,但卻異彩紛呈,驚艷四座。在Java世界里,十室之內必有隱士,十步之內必有芳草,有才華的程序員太多了,抑或懷才的程序員被獨裁式的統治壓抑太久了,一旦找到了海德公園,龐涓、孫臏、蘇秦、張儀式的高手紛紛走出隱居的鬼谷,在開源舞臺上勁舞一支,高歌一曲,用一個個開源項目彰顯著自己獨特的魅力。
從客戶端到數據庫,從頁面流程控制到業務流程控制,從全文搜索到地圖搜索,從到博客,在各種應用領域你都可以方便地找到多個相似的Java開源框架。開源框架的空前繁榮有力的促進了Java技術的交流和分享。一些面向開源的社區,紛紛建立,國內比較著名的就有滿江紅開源、中文Spring、JavaScud開源平臺、JavaEye社區等,宣講、爭論、協作、互動,無數激情和智慧碰撞出耀眼的火花。
隨著開源項目的日益增多,國內甚至出現了象open-open.com Java開源大全的匯總整理網站,它如一個開源項目的大集市,將開源項目分類整理,提供簡要的描述說明信息,方便使用者了解、查詢和比較。
開源項目的繁榮還為技術圖書業創造了機會,不管是國外的Amazon,還是china-pub或dearbook,開源框架或產品的技術圖書,如Spring,Hibernate,Struts,Eclipse等等都成為榮登榜首的暢銷先鋒。
這場幾乎于民間的開源颶風給開發者和CTO們的思路和決策帶來了巨大的影響,據Bea的調查,全球排名前2000家軟件開發公司中有70%以上在使用一種或多種開源框架——多達28%的公司在開發環境中使用了一種以上的應用服務器。
同時開源也給走傳統路線的Java巨頭們帶來戰略性的影響:Sun去年宣布將其旗艦產品——Solaris開源;去年IBM向第三方廠商開放了其高性能通用并行文件系統(GPFS)的源代碼;Unisys也改變企業戰略定位投入開源懷抱等等不勝枚舉,它們紛紛將營利模式從原來的產品銷售調整為支持與服務。
2、開源框架帶來的煩惱
雖然開源的框架、類庫越來越豐富,可供選擇的替代者越來越多,但Java程序員卻感覺自己慢慢陷入到了技術的漩渦之中:因為他們發現只要一段時間不關注開源社區,就有潮水般陌生的技術框架、專業術語、英文縮略詞挾裹著一團團亢奮的熱浪將自己淹沒,讓他們覺得隨時都有被Java世界拋棄的危險。許多年紀稍大的程序員甚至覺得職位轉換,甩掉技術干管理已經時不我待。
選擇的困惑
雨后春筍般涌現的開源框架都聲稱自己是最好的,有過多次因盲從于技術鼓吹而失望傷心的經歷后,現在的開發者都變得成熟理智了,他們不會輕易相信某個框架自身的承諾,不會輕易附和他人的宣傳,這確實是件好事。為了作出理智的選擇,他們往往要自己親自摸索以做出評判。
有時,我們會發現向上司推薦一個框架已經變成一件困難的事情,因為上司會冒出各種各樣的問題:如Webwork比Struts好在哪里?Hibernate和iBatis有什么區別?OpenWFE比之jBpm有什么優勢等等。所以要確定一個框架時,往往需要將相似的框架都研究一遍,以便有充足的理由讓上司相信我們的選擇是最優的。
但是,要將同類的框架都做一次研究并比較優劣并非易事,如開源工作流引擎就有Willow,OpenWFE,jBpm,Werkflow,OSWorkflow等不下30余種的框架,炫耀的聲音一個比一個響亮。每種框架都有自己的設計思路和實現方案,況且這種技術預研性的工作,又不可能在項目周期內占用太多的時間,而不深入預研又不可能客觀地作出評判,所以往往是熬紅的雙眼依然帶著迷茫的目光。
此外,用人單位為了減少新員工的培訓時間,對求職者往往有明確的框架使用技能和經驗的要求。求職者為了能找到一個好工作,不得不逼迫自己學習更多的框架,以便讓自己擁有更多的求職機會。 mda.com
搭配的困難
開源的繁榮雖然給各個領域都造就了許多優秀的框架,如Spring,Struts,Hibernate,Lucene、OSCache等等,但卻沒有出現一個一站式,統管全局的整合開發框架。開發者在享用大餐之前,事先得充當大櫥的角色,將這些鹽,油、醬、菜按合理的方式調配好。
轉帖于:軟件水平考試_考試吧