“Java產(chǎn)生于網(wǎng)絡(luò)”,這是幾年前java程序員一直津津樂道的話題,伴隨著互聯(lián)網(wǎng)的蓬勃發(fā)展,Java也曾有一股氣吞山河,一統(tǒng)天下之勢。然而今天,我們看到PHP占領(lǐng)全球網(wǎng)站應(yīng)用的大半市場,Microsoft的ASP及.net占領(lǐng)了很大一部份市場(看看國內(nèi)的各種網(wǎng)站、看看中國的黨政網(wǎng)),還有其它Web開發(fā)語言也占據(jù)了一部份,最后剩下給Java可謂寥寥無幾。PHP正在以他深得人心的簡易開發(fā)優(yōu)勢快速擴(kuò)張,如今又冒出個(gè)新貴Rails/Ruby在后面耀武揚(yáng)威宣稱要替代Java、消滅Java。我們不禁感嘆:Java路在何方?
成也蕭何,敗也蕭何。我們認(rèn)為,造成Java今天之局面的一個(gè)主要因素是Java技術(shù)的極度靈活,Java技術(shù)領(lǐng)域的“有組織、無紀(jì)律”。動(dòng)不動(dòng)JCP就給你搞一個(gè)Specification,管你怎么去實(shí)現(xiàn);Java開發(fā)社區(qū)TTS及sourceforge.net每天都有新的框架或開源產(chǎn)品發(fā)布,最終這些技術(shù)及產(chǎn)品到其使用者(軟件企業(yè)及程序員)手里時(shí),他們根本不知道該如何選擇。你不跟潮流別人就會(huì)笑話你古董,而且最讓java程序員煩惱的莫過于昨天才辛辛苦苦掌握并引以為豪的新技術(shù)、新框架,今天就被別人嘲笑你所學(xué)會(huì)的東西已經(jīng)落伍、老掉牙。
另外,Java技術(shù)的“強(qiáng)大功能”及其“復(fù)雜性”也是造成Java應(yīng)用步履蹣跚,舉步為艱的一個(gè)不可忽視的因素。功能的強(qiáng)大是以技術(shù)的復(fù)雜作為代價(jià),一個(gè)功能強(qiáng)大的系統(tǒng)總是由眾多簡單的小系統(tǒng)堆積而成。我們以為:“簡易、實(shí)用才是硬道理”!再強(qiáng)大的功能也要以實(shí)用為基礎(chǔ),脫離了實(shí)際應(yīng)用便是空談烏托邦。如果實(shí)際應(yīng)用中不可能用到,那我們又何必花那么多的精力煞費(fèi)苦心地去搞那么多的設(shè)計(jì)及構(gòu)架,(又何必點(diǎn)燈熬油揮汗如雨地去建一個(gè)很難登上的空中樓閣呢?)縱觀今天java技術(shù)的應(yīng)用,復(fù)雜得有點(diǎn)離普。一個(gè)簡單的Web應(yīng)用動(dòng)輒就要戴上N層高帽,Web使用Struts(JSF)、持久層用hibernate(JDO/Entity Bean)、還引入了Spring或EJB,要IOC、AOP、支持任意數(shù)據(jù)庫、支持任意存諸方式、支持組件對象關(guān)系任意配置、支持Web Service……如此琳瑯滿目的技術(shù),如此強(qiáng)大的功能,想不復(fù)雜?難啊!時(shí)至今日,又有誰能象當(dāng)年IBM總裁郭士納一樣讓Java這個(gè)龐大,復(fù)雜的大象也能跳跳舞呢?
Java在國內(nèi)不能得到很好應(yīng)用的一個(gè)主要原因是國產(chǎn)Java技術(shù)落伍。在Java世界,開源、優(yōu)秀的東西很多很多,但基本全是泊來之品。也只有那些技術(shù)牛人、大型軟件企業(yè)、外資企業(yè),才有實(shí)力研究并很好運(yùn)用。當(dāng)前還有眾多的中小型軟件企業(yè)停留在JSP+Java Bean的時(shí)代,很多中小企業(yè)甚至老牌軟件企業(yè)的CTO或者項(xiàng)目經(jīng)理到現(xiàn)在還常理直氣壯的說:"客戶不就是要求J2EE平臺(tái)嗎?我們的JSP、Tomcat、JBoss不全是J2EE技術(shù)嗎?”是的,軟件嘛,能解決問題就行,好不容易花了兩三年搭建起來的技術(shù)體系,說換就換,哪有那么容易啊!于是,軟件越來越難以維護(hù),越來越難以擴(kuò)充,更加無法滿足客戶的新需求。
再看國內(nèi)很多比較知名的軟件企業(yè)提出的一些新開發(fā)構(gòu)架、開發(fā)體系、中間件及工具等,其基礎(chǔ)核心仍然是國外引進(jìn)的東東。比如很多軟件公司開發(fā)的快速開發(fā)工具,構(gòu)件開發(fā)等,都是以Struts、Spring、Hibernate等為基礎(chǔ),也就是要用他們的工具,開發(fā)東西還得要學(xué)Struts、Hibernate等。對于國內(nèi)很多的初級開發(fā)者來說,學(xué)習(xí)這些框架的難度曲線太大。技術(shù)本土化不僅僅是把一門語言翻譯成另外一門語言,更重要是思想的本土化、核心內(nèi)容的本土化。
說到技術(shù)及框架,一個(gè)國外的先近技術(shù)框架,都是別人先嘗試用了N久證明了它的先進(jìn)以后,我們國內(nèi)才有一部份人拿進(jìn)來開始慢慢學(xué)習(xí),然后再宣傳普及,等我們大部分人剛剛學(xué)會(huì)并以此為榮,奔走相告的時(shí)候,人家又搞了一個(gè)更加先進(jìn)的出來。汗顏啊,難道我們只能疲于奔命地被人家牽著鼻子走嗎?
。。。。。。
(本文摘自《EasyJWeb簡易教程》,作者為大峽、眸寬、stef等
EasyJF開源團(tuán)隊(duì)成員,轉(zhuǎn)載請保留作者聲明!)
posted on 2006-04-18 15:18
簡易java框架 閱讀(10252)
評論(34) 編輯 收藏