這是很久以前看到的一篇文章了,分析的很有條理,但唯一給我留下印象的只是文章中的一句話:Struts是一個(gè)很成功的開源框架,它的地位短期內(nèi)還無法動(dòng)搖,JavaEye有一項(xiàng)使命,就是動(dòng)搖Struts在Java Web領(lǐng)域的地位,把它趕下王座,把Webwork扶上位!
今天聽到了webwork加入struts的消息,不知道文章的作者有何感想。
整理一下技術(shù)路線
這是Java視線論壇 robbin斑竹2005-6-28 發(fā)的帖子,希望能對大家將來技術(shù)發(fā)展有所幫助。
一、軟件開發(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)勢,但是在五年內(nèi)無法和Java取得均勢,不光是因?yàn)镴ava普及帶來的優(yōu)勢,也不光因?yàn)殚_源界對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;
開源路線的技術(shù)方案是:Spring+Hibernate+Struts/Webwork
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ù)層和持久層框架,我非常看好EJB3,原因也不用多談了,從商業(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ì)對它感興趣,JDO沒有一個(gè)像EJB容器那樣的脫管環(huán)境,造成商業(yè)方案對它不感興趣。不過有了JDO,我覺得是對EJB3,對Hibernate形成一個(gè)良好的競爭環(huán)境,這一點(diǎn)是非常有利的。
2)客戶端技術(shù)
準(zhǔn)確的說是RIA應(yīng)用。雖然我前面對XAML進(jìn)行了正面的評價(jià),但是我認(rèn)為我前面有些結(jié)論給錯(cuò)了。經(jīng)過這段時(shí)間,我覺得,XAML即時(shí)在多年之后,也未必能夠成為一個(gè)非常成功的解決方案。道理很二:
1、XAML會(huì)帶來比ActiveX更嚴(yán)重的安全性問題。
XAML本質(zhì)上就是一個(gè)本地應(yīng)用程序,雖然號(hào)稱可以在IE瀏覽器里面運(yùn)行,但I(xiàn)E就是一個(gè)皮而已,XAML應(yīng)用具備對本地資源完全的訪問能力(就算IE限制也沒有用,IE限制就喪失功能,那樣的話,功能并不會(huì)比Javascript來得更多;不限制的話,就為所欲為了),因此只要IE具備了運(yùn)行XAML的能力,黑客將可以非常輕易的通過IE進(jìn)行入侵,這僅僅需要引導(dǎo)用戶在不知不覺中訪問一個(gè)惡意的網(wǎng)頁就搞定了!用戶必須面臨選擇:要么禁止IE對XAML的運(yùn)行能力,要么接受隨時(shí)被攻擊的危險(xiǎn)。
2、XAML應(yīng)用本質(zhì)上也是RIA應(yīng)用,因此必須進(jìn)行大量的RPC調(diào)用
當(dāng)前XAML采用XML Web Services進(jìn)行通訊,這是一種低效的RPC。當(dāng)前的XAML案例中并沒有注意到RPC領(lǐng)域,實(shí)際上根據(jù)我現(xiàn)在做RIA的體驗(yàn)來說,RPC絕對不是一個(gè)簡單的事情,要考慮的問題非常多。
從當(dāng)前的階段來說,最實(shí)際可用的方案有兩個(gè):
1、AJAX
實(shí)際上就是基于XMLHTTP的JS異步交互,這個(gè)東西已經(jīng)出現(xiàn)很多年了,最近隨著Google應(yīng)用和Sun Blueprint的推出開始火熱。我原來對這個(gè)東西持否定態(tài)度,但是后來轉(zhuǎn)變了。我原來否定態(tài)度的一個(gè)前提就是:XMLHTTP缺乏成熟的組件庫!但是沒有想到的是,現(xiàn)在XMLHTTP從去年下半年開始,如雨后春筍般冒出來。AJAX應(yīng)用最大的好處就是充分利用現(xiàn)有資源,我認(rèn)為應(yīng)成為RIA應(yīng)用的首選。
2、Flash
Flash的優(yōu)勢也很明顯,強(qiáng)大的AS支持,強(qiáng)大的組件可視化設(shè)計(jì),強(qiáng)大的交互能力和很炫的用戶體驗(yàn),并且Flash Remoting也已經(jīng)非常成熟了。Flash的缺點(diǎn)就是Flash雖然嵌入網(wǎng)頁,但是和網(wǎng)頁沒有數(shù)據(jù)交互能力,F(xiàn)lash另一個(gè)缺點(diǎn)就是不適合處理大量文本內(nèi)容(HTML最適合)。現(xiàn)在有些人開始濫用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),對于桌面應(yīng)用來說,本地代碼的位置永遠(yuǎn)無法被取代,所以我總覺得XAML那樣的東西效率實(shí)在很成問題。Longhorn要像成熟,也不是第一個(gè)版本就可以達(dá)到的。當(dāng)前桌面應(yīng)用開發(fā)技術(shù),還是首推Delphi,不過我覺得Python是后起之秀,非常有可能在未來取代Delphi。
初探在下一代 Windows 中編寫和部署應(yīng)用程序
http://www.microsoft.com/china/MSDN/library/windev/longhorn/DevelopAppLonghorn.mspx 首先,以Microsoft公司的實(shí)力和Windows操作系統(tǒng)的占有率來說,Longhorn遲早會(huì)被普及,而XAML的開發(fā)方式也有可能普及的。記得當(dāng)初WindowsXP剛出來的時(shí)候,因?yàn)橘Y源占用率和新的激活制度招致一片罵聲,但是慢慢的,現(xiàn)在也都接受了下來。由此可以推斷,Longhorn以其更加豐富的桌面功能和誘人的外觀,會(huì)在將來成為主流。
但是Longhorn什么時(shí)候才會(huì)全面普及,這是很值得琢磨的問題。WindowsXP是2001年推出的,在隨后的幾年,Microsoft采用了一些商業(yè)手段來迫使用戶升級,例如企圖取消Windows98的技術(shù)支持,不再提供WindowsNT技術(shù)支持,不再銷售 WindowsNT/Windows98,將Windows2000保持在一個(gè)比較高的售價(jià)的同時(shí),對WindowsXP推出優(yōu)惠價(jià)格,讓 WindowsXP的售價(jià)低于Windows2000等等手段。但是直到現(xiàn)在,Windows2000仍然占據(jù)了非常高的份額,據(jù)我個(gè)人的觀察是比 WindowsXP略高。按照這種情況來推斷,Longhorn要普及,恐怕難度更大,非常多的用戶現(xiàn)在仍然是Windows2000的死忠派, WindowsXP推廣了四年還未能超過Windows2000,那么Longhorn究竟要幾年才能超過WindowsXP呢?我估計(jì)四年以上是起碼的。
XAML應(yīng)用程序不同以往,它只能跑在Longhorn上面,甚至比Java和dotnet要求更嚴(yán)格,后者僅僅下載安裝一個(gè)運(yùn)行環(huán)境就可以了,但是前者要求你必須更新操作系統(tǒng)。XAML在IE瀏覽器中運(yùn)行雖然肯定是下一代RIA的主流,但是不可忽視的問題是,只要Longhorn沒有徹底淘汰 Windows2000/XP,軟件開發(fā)商和網(wǎng)站開發(fā)商就不敢大面積采用XAML。而根據(jù)我的觀察,現(xiàn)在企業(yè)中,Windows98仍有少部分市場份額。因此Longhorn必須要等待到徹底的,毫不殘留的淘汰Windows98,Windows2000,WindowsXP之后,才會(huì)全面普及,而在此之前,不得不經(jīng)歷一個(gè)漫長的過渡期。
就好像現(xiàn)在,假設(shè)你開發(fā)桌面應(yīng)用程序,你敢只針對WindowsXP開發(fā)嗎?而徹底不支持98和2000嗎?我想,沒有哪個(gè)軟件開發(fā)商敢這樣做。除非 Windows2000幾乎被徹底淘汰了,你才敢這樣做,但是WindowsXP已經(jīng)推出四年了,還沒有Windows2000占用率高,哪全面淘汰究竟要幾年呢?再看看現(xiàn)在dotnet winforms應(yīng)用,推出也已經(jīng)五年時(shí)間了,但是到現(xiàn)在仍然沒有普及開來,根本的原因就是Windows2000/WindowsXP沒有預(yù)裝 dotnet framework。僅僅是需要打包安裝一個(gè)運(yùn)行環(huán)境就使得winforms五年都推廣不了,更何況要求你升級操作系統(tǒng)呢?
我個(gè)人的估計(jì)是,假設(shè)2006年Longhorn如期上市,那么將需要7-9年時(shí)間來徹底淘汰Windows2000/WindowsXP。 Longhorm上面XAML應(yīng)用的初步普及也至少需要4-5年時(shí)間以后才會(huì)有軟件開發(fā)商大量去做(想向dotnet是2000年開始宣傳和推廣的,到 2004年開始普及,今年和明年才會(huì)全面普及)。因此,基于XAML應(yīng)用的普及可能是在2010年以后!上面的估計(jì)中還沒有包括MacOS 和Linux在桌面會(huì)否有什么表現(xiàn)。
先說說服務(wù)器端吧:
從可預(yù)見的未來來看,服務(wù)器和客戶端TCP通訊的主流方式一定是HTTP協(xié)議(即時(shí)通訊軟件走UDP端口,不在討論范圍)。在基于HTTP協(xié)議之上,又分為兩類:一類是SOAP協(xié)議,異構(gòu)系統(tǒng)支持良好,但是性能很差,目前Microsoft很喜歡用這種方式;一類是輕量級二進(jìn)制協(xié)議,例如Flash的 AMF協(xié)議,Resin的Hessian協(xié)議。值得一提的是,不管哪種方式,他們都支持異構(gòu)的系統(tǒng),所以完全可用在客戶端采用dotnet,在服務(wù)器端采用Java或者Python。因此,XAML的流行不會(huì)對服務(wù)器端技術(shù)產(chǎn)生致命的影響(肯定會(huì)提高dotnet的服務(wù)器的市場份額)。所以我們可用拋開客戶端影響,單獨(dú)來看服務(wù)器端技術(shù):
1、Java
Java是當(dāng)前服務(wù)器端技術(shù)當(dāng)之無愧的王者,在未來五年內(nèi),也不會(huì)有任何動(dòng)搖(受到dotnet和python的影響,市場份額會(huì)下降一些)。Java特別有利的一點(diǎn)是,現(xiàn)在有太多的現(xiàn)存系統(tǒng)基于Java,這些系統(tǒng)都不會(huì)輕易遷移到其他平臺(tái)上。另外還有一個(gè)決定因素是除了Microsoft之外的幾乎全部 IT大公司都在Java方面的投資巨大,放棄Java對他們來說也意味著沉重的打擊,甚至毀滅性的打擊。這些公司可以列很長很長,IBM,HP, Oracle,SAP,Sun,BEA,Macromedia等等。
2、dotnet
由于Microsoft的影響力,dotnet會(huì)成為為僅次于Java的第二大服務(wù)器端技術(shù),但是Microsoft有一個(gè)隱憂,就是Linux操作系統(tǒng)在服務(wù)器端的高速成長。雖然現(xiàn)在Linux在整個(gè)服務(wù)器端市場的出貨量只有13%左右,但是成長率驚人,根據(jù)我看到的資料顯示,到2008年,將占據(jù) 25%以上的市場份額。考慮到很多公司是自己安裝Linux,因此不會(huì)被硬件服務(wù)器廠商統(tǒng)計(jì)進(jìn)來,因此Linux的服務(wù)器端的市場份額應(yīng)該比25%高一些。并且現(xiàn)在主要的服務(wù)器廠商都對Linux有非常巨大的投入和支持,這些公司包括IBM,HP,Dell(只有Sun不支持),因此Linux在未來會(huì)對Windows在服務(wù)器端的市場構(gòu)成最嚴(yán)重的威脅。
不要忘記dotnet只能在Windows平臺(tái)上面跑,雖然有mono,但是你不可能移植MTS,COM+,SQL Server etc。所以只要Linux在服務(wù)器市場對Windows構(gòu)成持續(xù)的威脅,dotnet就不可能超過Java,Java的地位還是穩(wěn)穩(wěn)的老大。從某種程度上來說,Java的命運(yùn)是和Linux聯(lián)系在一起的,只要Linux在服務(wù)器端不輸于Windows,Java就穩(wěn)穩(wěn)壓制dotnet。
BTW:從未來來看,Linux和Windows會(huì)在低端和中端服務(wù)器市場成為主要競爭對手,由于各自都有其不可替代性,所以雙方都不可能徹底消滅對方,最大的可能性是Linux和Windows平分市場,或者Windows市場份額略高一點(diǎn)。
3、Python
我個(gè)人認(rèn)為Python會(huì)成長為第三大服務(wù)器端技術(shù),Python成長于開源,但是又有商業(yè)公司來商業(yè)運(yùn)作,并且背后還有大公司的支持,在歐洲普及的非常好。當(dāng)然最重要的原因是我覺得Python在技術(shù)上非常先進(jìn),并且技術(shù)發(fā)展方向上比較統(tǒng)一,不會(huì)出現(xiàn)Java那種吵架的事情。
4、PHP
PHP這東西是不錯(cuò),Yahoo也在用,IBM現(xiàn)在也對他感興趣,但是我還是要說PHP沒有太廣闊的前途,原因很簡單,PHP沒有服務(wù)端中間件,例如 Java有App Server,dotnet有IIS/MTS,Python有Zope,但是PHP他就是一個(gè)腳本,沒有自己的中間件就是致命問題。Yahoo用PHP有其特定的原因,主要是從原先自己的技術(shù)遷移到PHP很方便,而IBM支持PHP,顯然醉翁之意不在酒,IBM意不在推廣PHP,而在于爭取到那些使用 PHP的商業(yè)大客戶們,向他們賣服務(wù)。
BTW:感覺歐洲用Python/PHP的很多,似乎開源在歐洲非常深入人心。
從服務(wù)器端技術(shù)來說,Java還是我們最需要下功夫去學(xué)習(xí)和掌握的,此外,我會(huì)比較傾向于鉆研和應(yīng)用Python,而不是dotnet。原因也很簡單,跟隨Micorsoft的技術(shù)會(huì)很辛苦,Microsoft產(chǎn)生的新概念多,他總是會(huì)猛的推出n多種技術(shù),然后讓他們在市場上自己生存,最后根據(jù)市場反饋,無情的拋棄某些東西,大力推進(jìn)有市場前景的東西,這樣的例子太多了,舉不勝舉了。我的感覺就是這種方式會(huì)讓Microsft經(jīng)過市場嘗試在技術(shù)競爭中篩選最優(yōu)秀的技術(shù),但是對于Microsoft技術(shù)的跟隨者來說,未免有點(diǎn)太不公平,整天吭哧吭哧被Microsoft拿來當(dāng)免費(fèi)的試驗(yàn)品來用。我特別不理解的是MSDN宇宙版,Microsoft總是把無窮無盡的文檔灌給你,讓你永遠(yuǎn)學(xué)不完,但實(shí)際上我真的不需要那么多概念,我只需要能夠很好的完成我工作的技術(shù),并且這個(gè)技術(shù)可以持續(xù)的完善就好了。而不是今天給我這樣一個(gè)東西,明天灌給我無窮的文檔,后天當(dāng)我用順手以后,又告訴我這東西作廢了,你給我重新學(xué)習(xí)新東西,然后又是無窮的文檔,總之很惱火。
所以就是:重點(diǎn)學(xué)習(xí)Java,有時(shí)間去學(xué)習(xí)Python,保持對dotnet的關(guān)注即可。
客戶端:
前面說了那么多XAML的東西,都是和這有關(guān),七年以后肯定是XAML的天下,但是五到七年之內(nèi)還不是:
1、Java
Java在客戶端真的是扶不起的阿斗,這都怪Sun。Sun造就了Java的成功,又一手毀了Java在客戶端的市場。那些個(gè)Swing和SWT的死忠團(tuán)也不要和我爭什么,我也懶得和你們爭,你們覺得好就好吧,道不同不相與謀,你覺得好你就用你的,我覺得不好我就用別的。用不著纏著我非逼我說Java做客戶端好,沒必要,況且就算你逼我承認(rèn)又怎樣?我就是玉皇大帝金口玉言了?得到我的承認(rèn),Java就有前途了?我好像還沒有那么大本領(lǐng)吧?就是IBM, Sun也沒有那么大本領(lǐng),所以好不好也不是我說了算,用不著逼我。
2、dotnet winforms
由于Windows2000/WindowsXP不帶dotnet CLR,所以winforms一直沒有能夠普及得很好,等Longhorn一出來,又變成了XAML了,winforms又被淘汰了,所以 winforms的地位特別尷尬,但是在這5-7年中,你想開發(fā)既能夠在Windows2000/WindowsXP,又能夠在Longhorn上面跑的桌面程序,winforms好像又是Microsoft技術(shù)中最好的選擇。所以只好一直尷尬下去。
3、VC,VB
dotnet出來以后就開始尷尬了,說用吧,好像很落伍了,都dotnet時(shí)代了,說不用吧,又沒有好的替代品,現(xiàn)階段開發(fā)桌面程序,還真得不得不用,而且還挺好用的。所以VC6SP5,VB6的死忠團(tuán)也比較多。
4、Delphi
dotnet出來以后Borland就開始跟風(fēng)了,這一跟風(fēng),連老本都跟沒有了。未來的XAML時(shí)代,我也不知道Borland怎樣找自己的定位,但不管怎么說,從歷史來看,本地代碼的應(yīng)用程序永遠(yuǎn)有它一席之地!就算XAML又如何如何做得漂亮了,關(guān)鍵的地方,和特定資源處理相關(guān)的部分,還是本地代碼的程序管用。你看VB出來多少年了,用VB開發(fā)的都是一些上層的項(xiàng)目級別的應(yīng)用軟件,一旦涉及產(chǎn)品領(lǐng)域,還是VC和Delphi管用。所以現(xiàn)在大家還是不得不用Delphi7阿。
BTW:XAML應(yīng)用致力于快速開發(fā)項(xiàng)目級別的應(yīng)用,特別是可以跑在IE瀏覽器里面的,因此是RIA的首選。但是畢竟也有很多不適合用RIA的場所,特別是例如我要備份某些文件,你用XAML?那性能就不用提了。所以Delphi如果好好發(fā)展VCL,封裝Windows32 API,我覺得也是一條路,未必比現(xiàn)在跟隨dotnet差。
5、Flash RIA
其實(shí)我覺得Flash不適合做RIA的,但是Flash普及率太高,XAML又離普及太遙遠(yuǎn),而Flash現(xiàn)在就可以用了,所以是當(dāng)前RIA的首選。不過我對Macromedia公司比較失望,如果Macromedia能夠公布Flash實(shí)現(xiàn)細(xì)節(jié),作為一個(gè)公開的標(biāo)準(zhǔn)向ISO提交,同時(shí)免費(fèi)開源Flex,我敢說,F(xiàn)lash RIA會(huì)迅速普及的。等5-7年XAML的時(shí)代,由于Flash的市場占有率,XAML就未必能拼得過Flash。可惜的是Macromedia公司目光過于短淺,只知道賺眼前的小錢。
6、Python
這5-7年內(nèi),RIA應(yīng)用和RCP應(yīng)用不會(huì)統(tǒng)一,XAML才具備將RIA和RCP統(tǒng)一的實(shí)力。從這5-7年來看,F(xiàn)lash是RIA的首選,而RCP的首選,我要推薦Python。原因前面已經(jīng)提過,簡單總結(jié)一下:
1)wxWidgets是一個(gè)比MFC優(yōu)雅的庫,TortoiseCVS用wxWidges而不用MFC,就是因?yàn)閣xWidgets好用,而不是為了可以移植。
2)Python的面向?qū)ο竽_本語言編程適合快速界面開發(fā)
3)Python在服務(wù)器端和客戶端都非常有前途,可以形成一個(gè)統(tǒng)一的解決方案,這一點(diǎn)明顯比Java有優(yōu)勢
4)Python桌面應(yīng)用程序可以完全編譯為本地代碼,脫離Python運(yùn)行環(huán)境,這一點(diǎn)比dotnet winforms都有優(yōu)勢
5)Python可以不受限制的任意調(diào)用Windows32 API,所以凡是VC6可以做的事情,Python就可以做
試想一下,現(xiàn)在我們開發(fā)桌面應(yīng)用程序有什么要求?
一、不要附帶一個(gè)JRE或者CLR的累贅
二、可以快速開發(fā)
三、性能要有保證
四、方便的遠(yuǎn)程方法調(diào)用支持
此外如果能夠跨平臺(tái)就最好了
Java前三點(diǎn)都不符合;dotnet winforms不符合一;VC6不符合二和四,VB6不符合三和四;Delphi7符合前四點(diǎn);Flash RIA不符合三;Python全部都符合!并且請記住Python是一個(gè)完全開源免費(fèi)的方案!
客戶端技術(shù)在這5-7年中,在RIA領(lǐng)域我會(huì)學(xué)習(xí)一下Flash,在RCP領(lǐng)域我會(huì)重點(diǎn)學(xué)習(xí)Python,此外會(huì)觀望一下XAML
posted on 2005-11-28 23:43
小強(qiáng) 閱讀(806)
評論(0) 編輯 收藏 所屬分類:
J2EE