|
一、軟件開發(fā)技術(shù) 1)服務(wù)器端 在最近5年內(nèi),Java還是主流,不光是因?yàn)楫?dāng)前的普及程度和遺留系統(tǒng)問題,而且除Microsoft幾乎所有大公司都投資到Java上面的原因,此外開源也是一股無法忽略的力量:除了Java方面的開源框架在推動(dòng)Java,也有Linux在帶動(dòng)java企業(yè)應(yīng)用在普及(別忘記dotnet只能在 Windows Server上面運(yùn)行) dotnet有自己的優(yōu)勢(shì),但是在五年內(nèi)無法和Java取得均勢(shì),不光是因?yàn)镴ava普及帶來的優(yōu)勢(shì),也不光因?yàn)殚_源界對(duì)java的推動(dòng),也不光因?yàn)槠渌蠊驹趈ava上面的投資,而是很多公司的行業(yè)性質(zhì)決定了dotnet的出局,例如電信行業(yè),金融行業(yè),電子政務(wù)行業(yè)等等,是根本沒有可能采用 dotnet的。 Python和Ruby算不上后起,但是很有競爭實(shí)力,不過基于上面的原因,仍然不能成為主流。 在Java服務(wù)器端技術(shù)中,清晰的分為兩條路線:高端的商業(yè)路線,這條路線是EJB3,J2EE5.0;低端的開源路線,這條路線是Hibernate, Spring。這兩條路線也有重疊的地方,例如開源的Struts幾乎成為J2EE Web層的標(biāo)準(zhǔn),開源的Hibernate奠定了EJB3的基礎(chǔ)。但是劃分路線不是基于技術(shù)上的區(qū)別,而是基于商業(yè)運(yùn)作上的區(qū)別。注重技術(shù)支持和商業(yè)服務(wù)的公司會(huì)選擇前者,注重成本控制和選擇自由的公司會(huì)選擇后者。 商業(yè)路線的技術(shù)方案是:EJB3+Struts; Struts是一個(gè)很成功的開源框架,它的地位短期內(nèi)還無法動(dòng)搖,JavaEye有一項(xiàng)使命,就是動(dòng)搖Struts在Java Web領(lǐng)域的地位,把它趕下王座,把Webwork扶上位! 商業(yè)的Web層技術(shù),JSTL算是一個(gè)不錯(cuò)的東西,但是和靈活的模板語言如FreeMarker相比,卻有很大的差距。JSF基本上是一個(gè)沒有前途的東西。商業(yè)Web層技術(shù)因?yàn)橐恢睕]有出現(xiàn)好的應(yīng)用,這樣也導(dǎo)致了Struts的上位。 服務(wù)器端業(yè)務(wù)層和持久層框架,我非??春肊JB3,原因也不用多談了,從商業(yè)上來說,需要這樣一個(gè)東西,跨國公司們也需要這樣一個(gè)產(chǎn)品來賣,來取代糟糕的 EJB2。開源的方案里面,Spring+Hibenrate是一個(gè)很好的商業(yè)方案的開源替代,他們不存在很直接的競爭,而是一個(gè)互補(bǔ)的關(guān)系。這里比較尷尬的反而是JDO:JDO是商業(yè)產(chǎn)品(目前沒有好的開源實(shí)現(xiàn)),造成開源應(yīng)用不會(huì)對(duì)它感興趣,JDO沒有一個(gè)像EJB容器那樣的脫管環(huán)境,造成商業(yè)方案對(duì)它不感興趣。不過有了JDO,我覺得是對(duì)EJB3,對(duì)Hibernate形成一個(gè)良好的競爭環(huán)境,這一點(diǎn)是非常有利的。 2)客戶端技術(shù) 準(zhǔn)確的說是RIA應(yīng)用。雖然我前面對(duì)XAML進(jìn)行了正面的評(píng)價(jià),但是我認(rèn)為我前面有些結(jié)論給錯(cuò)了。經(jīng)過這段時(shí)間,我覺得,XAML即時(shí)在多年之后,也未必能夠成為一個(gè)非常成功的解決方案。道理很二: 1、XAML會(huì)帶來比ActiveX更嚴(yán)重的安全性問題。 2、XAML應(yīng)用本質(zhì)上也是RIA應(yīng)用,因此必須進(jìn)行大量的RPC調(diào)用 從當(dāng)前的階段來說,最實(shí)際可用的方案有兩個(gè): 1、AJAX 2、Flash 因此比較好的方式可能是兩種混用,一般不過度復(fù)雜的交互交給AJAX,非常復(fù)雜,甚至需要托拽操作的,交給Flash。 總結(jié)一下: 軟件開發(fā)領(lǐng)域服務(wù)器端技術(shù)Java是主流,兩個(gè)技術(shù)路線,一個(gè)是EJB3,一個(gè)是Spring+Hibernate,此外iBATIS也有一席之地;客戶端技術(shù)就是AJAX和Flash。 二、數(shù)據(jù)庫技術(shù) 基本上格局不會(huì)發(fā)生多大變化,Oracle還是高高在上,SQL Server進(jìn)一步蠶食NT平臺(tái)其他數(shù)據(jù)庫的領(lǐng)地。開源方面,MySQL將一枝獨(dú)秀,但是開源數(shù)據(jù)庫在很多方面還是和商業(yè)數(shù)據(jù)庫有無法拉近的巨大差距。這也使得商業(yè)數(shù)據(jù)庫的地位不可替代。我會(huì)比較關(guān)注Oracle,MySQL這兩個(gè)數(shù)據(jù)庫。面向?qū)ο髷?shù)據(jù)庫仍然不會(huì)有什么起色。 三、桌面編程技術(shù) 我還是相信一點(diǎn),對(duì)于桌面應(yīng)用來說,本地代碼的位置永遠(yuǎn)無法被取代,所以我總覺得XAML那樣的東西效率實(shí)在很成問題。Longhorn要像成熟,也不是第一個(gè)版本就可以達(dá)到的。當(dāng)前桌面應(yīng)用開發(fā)技術(shù),還是首推Delphi,不過我覺得Python是后起之秀,非常有可能在未來取代Delphi。 |
|
|