posts - 80,comments - 749,trackbacks - 2
          很久沒關(guān)心Eclipse基金會的動作了,只是不斷在使用,不斷在開發(fā),不斷在教別人使用和開發(fā),然后就是等待Eclipse的下個版本。那么,Eclipse基金會究竟在干什么呢?我不想寫篇很長的Blog了,只是隨便談?wù)勛罱膸讉€映像:

          1。Eclipse 3.3
          如果我的推算沒有問題的話,今年的第三季度我們就可以拿到正式版的3.3了,3.3好像沒有什么太大的動作了,我只記得3.2的時(shí)候搞了一個MDC(百萬下載挑戰(zhàn)),據(jù)說在預(yù)訂一半多的時(shí)間里就實(shí)現(xiàn)了百萬下載量。回頭看看Firefox好像幾乎沒花什么精力下載量就達(dá)到千萬級別了,不是一個類型的軟件確實(shí)沒法比啊。

          看了3.3M6的一些表現(xiàn),F(xiàn)orms包的外觀有些改善,但是不知道有沒有結(jié)構(gòu)上的調(diào)整;Application擴(kuò)展點(diǎn)的API改了很多,名字也比原來合理了,不過最近正在開發(fā)中的一些項(xiàng)目又要重構(gòu)了,呵呵;最令人激動還是View終于可以折疊到一邊了,而不是原來那樣最小化了之后還占很多位置,而且最大化也更酷炫了,得益于View的新折疊方式。

          2。越來越重視MacOSX
          SWT 3.3的“New and Noteworthy”可以看到這個趨勢。記得我去年與Sun公司的James Bai談到Eclipse與NetBeans時(shí),我就表達(dá)了自己的觀點(diǎn),好像Blog里面也有。事實(shí)上,“慣用法和外觀”在MacOSX系統(tǒng)上的重要地位是沒用過蘋果電腦的人無法想象的,Eclipse在Windows確實(shí)很漂亮,但是之前的版本在MacOSX上還是遠(yuǎn)不如NetBeans的。我自己也遇到了這樣的問題,我們在Windows上開發(fā)有“助記符”的問題,比如文件菜單,應(yīng)該寫成“文件(&F)”,這樣F下面有條小橫線,用戶按Alt-F就可以直接打開文件菜單,但是在Mac上沒有這樣的設(shè)計(jì),Eclipse展示出來仍然是這樣,就顯得有明顯從Windows移植的痕跡。除了Mac的菜單外,Mac的窗體、Mac的工具欄、Mac的任務(wù)欄、Mac的快捷鍵都有很多與Windows不同的地方,Eclipse要加油了啊~~

          回到說SWT,3.3在MacOSX上有了不少改善,增加了TrayItem,增加了彩色鼠標(biāo)指針,還改了一個reparent的bug。

          3。Ajax是大方向
          前段時(shí)間炒作了一條新聞,說Eclipse基金會同時(shí)發(fā)布了三款用于Ajax開發(fā)的插件,這個說法是欠妥的。因?yàn)檫@三個項(xiàng)目都是很久以前就有的,現(xiàn)在把他們拿到一起來說,根本原因就是為了回應(yīng)現(xiàn)在炒作很兇的Ajax。其中“Dynamic Languages Toolkit”沒什么稀奇的,NetBeans也已經(jīng)做了,但我相信Eclipse在易用性方面一定又是做到最好;“Ajax Toolkit Framework”也就是ATF是三者中最紅的,現(xiàn)在要合并進(jìn)WTP了,是為Dojo、Rico、Zimbra這些API的開發(fā)人員提供集成,套用行話說,就是“Ajax開發(fā)人員終于有了自己的IDE了(歡呼+大笑)”;唯獨(dú)只有“Rich Ajax Platform”(RAP)最值得一提。

          這是一個與眾不同的項(xiàng)目,非常具有前瞻性和遠(yuǎn)見性,這也是Eclipse一貫的做事風(fēng)格。RAP的縮寫是來自于RCP的,RCP已經(jīng)家喻戶曉了,很多知名項(xiàng)目比如Lotus Notes 8和RSSOwl都是基于RCP的,RCP的程序員也很多,“如遇危難,RCP可以將兵!”但是面對Ajax一夜來襲,很多Rich Client應(yīng)用程序開始希望自己能夠搬到Web上去的,可是怎么搬呢?把Java代碼翻譯成javascript嗎?我們都知道真正偉大的程序員都是在Java平臺上的,而Java程序員大都不喜歡javascript這樣高效但不嚴(yán)謹(jǐn)?shù)娘L(fēng)格,尤其是不好調(diào)試這一項(xiàng),使得javascript項(xiàng)目的成本隨規(guī)模成幾何級數(shù)遞增,這種事情放在Google這樣錢花不掉的公司身上還行,但是要放在小公司上就捉襟見肘了。

          所以行業(yè)內(nèi)的專家經(jīng)過這幾年的反復(fù)斟酌,得到的結(jié)論是,終極的解決方案還是要讓程序員手寫Java代碼,出來的卻是javascript效果。那如何實(shí)現(xiàn)這樣的轉(zhuǎn)變了,有兩個方案。一是寫一個編譯器,首先給出一個限定的Java API庫,只有utils包、io包、lang包的少數(shù)功能和標(biāo)準(zhǔn)控件,最好是SWT式的,大家都很習(xí)慣了,如果程序員僅用這些API(和自己編寫的API)寫代碼,就可以被這個編譯器絲毫不差的編譯成javascript代碼,在本地執(zhí)行和在Web上執(zhí)行達(dá)到相同的效果,這樣完全可以調(diào)試,也可以擴(kuò)展這些API。這種解決方案以Google的GWT為代表。二是寫一個服務(wù)器,這樣就可以用全套的Java API,但是不能用AWT和Swing,再給出一組標(biāo)準(zhǔn)控件,(最好是SWT式的,大家都很習(xí)慣了),程序員所寫的Java代碼其實(shí)是在服務(wù)器上運(yùn)行的,服務(wù)器根據(jù)這段代碼的操作,把相應(yīng)的結(jié)果反饋給Client端也就是瀏覽器,而瀏覽器以javascript的方式展現(xiàn)和接收事件。這種解決方案的代表,就是RAP。

          還要說的一點(diǎn)就是后者其實(shí)有個幫手,也算很多Ajax網(wǎng)站的訣竅,就是JSON。JSON是把一個Map(名值對組)序列化成XML的工具,如果這樣解釋好像沒什么新奇的。。。那么好,應(yīng)廣大JSON粉絲的強(qiáng)烈要求,我把JSON的解釋改成:“JSON就是一個你在服務(wù)器端把JavaObject給它,就能在瀏覽器端取出一個javascript object的神奇而又強(qiáng)大的工具,而它的實(shí)現(xiàn)機(jī)制,只不過是把一個Map序列化成XML”!

          這兩個方案有明顯的差別,可以說根本不是一種技術(shù),但是他們很可能都有前途,都是王者之道,一個齊桓公一個晉文公,都有機(jī)會成為霸主,也完全有可能鼎足而立,開發(fā)人員選擇誰,完全是根據(jù)項(xiàng)目的情況,甚至有可能。。。開發(fā)一個聯(lián)合的方案。。。把GWT封裝成一個Eclipse RAP的插件。

          4。看看Summer Of Code
          不小心點(diǎn)進(jìn)了Google的Summer Of Code,之前就已經(jīng)關(guān)注過一些,但是好奇心還沒有驅(qū)使我點(diǎn)Eclipse Foundation進(jìn)去看,今天終于按奈不住了。。。先簡單介紹一下Google SoC[http://code.google.com/soc/],其實(shí)是這樣的,很多開源軟件基金會想花錢請一些比較牛的大學(xué)生來開發(fā)一些代碼(這些都是最著名的開源軟件,也是最肥的),但是不知道去哪里找大學(xué)生。Google的影響力比較大,所以就挑了個頭,先把這些開源項(xiàng)目的ideas登上去,讓學(xué)生們挑,學(xué)生再把自己的簡歷投給Google,Google安排一個統(tǒng)一的時(shí)間由開源組織去選,選中的學(xué)生由Google撮合雙方見面或不見面開發(fā),主要是利用了學(xué)生在暑期的80天空閑時(shí)間,然后老板把錢付給Google,Google付給學(xué)生,中間40天的時(shí)候Google還要搞個“期中考試”。。。看了一下Eclipse的ideas,挺驚訝的,雖說這不是Eclipse項(xiàng)目發(fā)展的主流,但是也從一定程度上顯示了Eclipse的不小野心。

          其中我最感興趣的是“Eclipse Open Office Integration”,它旨在把OpenOffice.org的組件嵌入到Eclipse的編輯器中去,而在此之前,Eclipse已能方便的嵌入Microsoft Office的組件了(得益于ActiveX)。這樣的功能如果能實(shí)現(xiàn),對我們平時(shí)的開發(fā)也是很有好處的。另一個我感興趣的就是“Eclipse install based manager”,現(xiàn)在的RCP沒有自己的安裝程序,只是在Eclipse的幫助文檔中有一篇制作RCP Install的指南,但這是遠(yuǎn)遠(yuǎn)不夠的,我花在做安裝程序上的時(shí)間太多了,不值得,因?yàn)檫@些都是共性的工作。除此之外,我還對“RCP real-time collaboration based upon ECF and Google Talk XMPP-based messaging service”感興趣,如果Eclipse不做,我們也要做這樣的功能。最后要提到的一個好玩的功能就是“NetBeans in Eclipse”,兩種插件接口對Java陣營還是不利的,如果我為NetBeans編寫的插件能夠跑在Eclipse上的話,那NetBeans的新特性就會都變成Eclipse的新特性了(夠自私了吧!)

          5。RCP仍是無冕之王
          Eclipse官網(wǎng)的黃金位置還是留給了RCP,RCP在全球還是有大量忠實(shí)粉絲的。不久前發(fā)現(xiàn)匯豐銀行某個分行的CRM系統(tǒng)是基于RCP的(客戶端),不久前又發(fā)現(xiàn)英國一個咨詢公司專門提供RCP開發(fā)的咨詢業(yè)務(wù),不久前IBM正式進(jìn)入公測階段的Lotus Notes 8/Hannover也是基于RCP的,只是為了外觀重寫了Workbench,不久前。。。被人發(fā)現(xiàn)我們的軟件也是基于RCP的,而且隨時(shí)提供RCP方面的咨詢和培訓(xùn)。

          6。跟Mozilla結(jié)個親家吧
          忘了提Eclipse 3.3的又一大特性了,叫做“Moziila Everywhere”,是指在任何平臺上都可以創(chuàng)建一個Browser控件但是使用Mozilla內(nèi)核(及時(shí)該平臺上沒有安裝Firefox)。這是怎么實(shí)現(xiàn)的呢?其實(shí)很簡單,它要求你必須安裝一個xulrunner,后者是Mozilla的全部內(nèi)核,包括Gecko布局引擎、Javascript解析引擎、XUL解析引擎和XPCOM,其中每樣?xùn)|西都足夠?qū)懸槐緯辛诉@些,僅用XUL+Javascript就可以寫出一個Firefox來,Eclipse洽是利用了這個特性,用Java連接XPCOM所以創(chuàng)建了一個Mozilla的Browser,但是沒有任何行為,包括右鍵菜單。

          這個Browser控件和缺省的Browser控件是不一樣的,我們平時(shí)見到的缺省Browser控件,在Windows上用的是IE內(nèi)核,在MacOSX上用的是Safari,在Linux上。。。不知道,所以它是最最簡單的瀏覽器,不具備任何可以定制的功能,除了顯示一張HTML頁面外,沒有任何用處。(你該不會想用Eclipse寫一個傲游出來吧)

          但是Mozilla內(nèi)核的瀏覽器控件就不同了,它意味著如果程序員平時(shí)為Firefox寫插件的形式,也可以被應(yīng)用到RCP應(yīng)用程序上來,設(shè)想一下我們擁有一個RCP+xulrunner的平臺吧,RCP接收J(rèn)ava擴(kuò)展,xulrunner接收xul和javascript擴(kuò)展,那我們的平臺——要么叫Fireclipse,要么叫Eclifox——就所向披靡了。即使不利用它的可擴(kuò)展性,單單就是能保證在不同平臺上提供對Web應(yīng)用程序的一致性展現(xiàn)一條,就足夠臭美的了,更可以用寫Eclipse插件的形式來限定瀏覽器的行為。。。。。。唉,剛才是不是說過一個NetBeans in Eclipse啊?把那玩意扔了吧~~

          總結(jié)。

          活活,還真是好久沒有寫B(tài)log了呢。本來只想談?wù)凟clipse基金會的,沒想到越說越多,連MacOSX、JSON、Google、Mozilla都說了個遍,是不是說了你的偶像什么壞話,我常干這種事,直接跟我聯(lián)系吧,我愿意分享我的一切感受和看法。忙了,再聊!

          下一個大泡泡
          (轉(zhuǎn)載本文需注明出處:Brian Sun @ 爬樹的泡泡[http://www.briansun.com])

          posted on 2007-04-18 18:53 Brian Sun 閱讀(5492) 評論(18)  編輯  收藏 所屬分類: 軟件

          FeedBack:
          # re: Eclipse在做什么
          2007-04-18 20:16 | 王濤
          看了謝謝,
          可以講講RIA、RCP各自的前景么?

          謝謝,最近也是在這方面選擇。  回復(fù)  更多評論
            
          # re: Eclipse在做什么
          2007-04-18 23:21 | Brian Sun
          好的,請等我的下一篇Blog,盡快獻(xiàn)上。
            回復(fù)  更多評論
            
          # re: Eclipse在做什么
          2007-04-19 11:57 | 匿名
          rcp是ibm主推的技術(shù)。

          先講講背景
          1,swt
          swt是ibm開發(fā)的一套原生GUI接口(類似AWT)。
          2,eclipse
          以swt為UI組件,設(shè)計(jì)的插件體系IDE。3.0用osgi(沒拼錯吧!)重寫。
          3,osgi
          是一個插件體系結(jié)構(gòu)(你可以想想為USB式的軟件體系),定義了插件體系一系列標(biāo)準(zhǔn)。eclipse是以其一個實(shí)現(xiàn)****q**為基礎(chǔ)改寫的3.0,內(nèi)核級基于osgi
          4,rcp
          rcp是以swt為圖形表現(xiàn),結(jié)合osgi的,結(jié)合了workbench的rich client platform。是ibm主推的ria技術(shù)。



          5,ria
          什么是ria,就是富客戶體驗(yàn)。技術(shù)很多,有ajax,flex,xaml(??)。有的是重新定義一套標(biāo)準(zhǔn)如xaml,有的是在現(xiàn)有標(biāo)準(zhǔn)小修小改如ajax,還有技術(shù)創(chuàng)新flex(用script的方式生成swf)。
          java方面暫時(shí)沒有在ria上有太大的動作(JSF是么?)

          偶覺得(個人意見啊,有不愛聽的笑笑吧)ajax在web2模式上有些用途,rcp搶占的是企業(yè)erp客戶。

          不過偶不太看到rcp。野路子。  回復(fù)  更多評論
            
          # re: Eclipse在做什么
          2007-04-19 12:01 | 匿名
          偶覺得java方面ria的最佳選擇是
          webstart+swing

          不過sun不力推,也木有第三方swing framework(ms有IBM也會封殺),所以開發(fā)起來可能對設(shè)計(jì)要求高一點(diǎn)。  回復(fù)  更多評論
            
          # re: Eclipse在做什么
          2007-04-19 12:06 | BeanSoft
          誰能做出 MS ASP.NET Web Form 那樣的框架 + IDE, 才能大肆的吹噓自己引領(lǐng)了 Java Web 開發(fā)的潮流, 否則, 就自己吹自己吧. RCP 作 Web 層, 個人之見, 學(xué)習(xí)曲線那么高, 還是省省吧.  回復(fù)  更多評論
            
          # re: Eclipse在做什么
          2007-04-19 12:43 | 匿名
          @BeanSoft
          你說rcp作為web層,這句我就可以直接忽略  回復(fù)  更多評論
            
          # re: Eclipse在做什么
          2007-04-19 13:25 | icom
          多謝,在用eclipse  回復(fù)  更多評論
            
          # re: Eclipse在做什么
          2007-04-19 14:27 | dennis
          @BeanSoft
          JSF也許滿足你的要求  回復(fù)  更多評論
            
          # re: Eclipse在做什么
          2007-04-19 16:10 | BeanSoft
          RCP 做客戶端也是同樣的問題. 全是 XML 配置文件, 不容易實(shí)現(xiàn)可視化. 早晚還是出現(xiàn)類似于 VJ# .NET 這樣的東西才是王道, 既能快速開發(fā), 又能深入修改. 要不然現(xiàn)在都有人說了, 把愛因斯坦拉來作 Java(含客戶端 RCP, Netbeans Platform 這樣的東西), 他也得先學(xué)個半年才能開工, 什么 Provider啊, editor 啊, renderer 啊, Struts, Spring, Hibernate 啊,都看了才能開工, 外加: 請先學(xué)好 J2SE.  回復(fù)  更多評論
            
          # re: Eclipse在做什么
          2007-04-21 09:49 | Brian Sun
          是這樣嗎?我們公司的所有程序員都在用RCP開發(fā),他們中最慢的一個人也只花了半天就上手了,RCP并不難,而且有大量的文檔,要善于用Google啊。。。

          即使我們中對平臺、IDE和編程語言的使用存在分歧,我也能理解你的觀點(diǎn),但我不能理解這個世界上為什么會有VJ#.NET這樣的爛東西,我曾被迫在VJ#下開發(fā),寫了15行程序就已經(jīng)受不了了,因?yàn)槲也荒苤貥?gòu)!不能方便對一個類提取本地化字符串。我不能找到整個項(xiàng)目對一個方法的全部調(diào)用。另一個同事用C#不能調(diào)用我寫的代碼(因?yàn)橐粋€包名叫internal!)。最終我不得不放棄VJ#。最終我聽說原來微軟的員工也用SourceInsight。
            回復(fù)  更多評論
            
          # re: Eclipse在做什么
          2007-04-21 22:08 | E.T
          平日較少見這樣的有邏輯的狂侃+狂想
          有點(diǎn)頭暈了
          RIG (Rich Imagination Guy)  回復(fù)  更多評論
            
          # re: Eclipse在做什么
          2007-08-22 09:58 | 八號當(dāng)鋪老板
          MSN:shangbo98@hotmail.com
          泡泡我希望你能幫幫我,讓我開下竅。
          我現(xiàn)在很迷惘,沒有方向感...  回復(fù)  更多評論
            
          # re: Eclipse在做什么
          2007-09-21 15:27 | kefeiq
          我看了你寫的,我想百你為師不知道你原不愿意教我兩下,
          如果你愿意教的話,那就加我的QQ 634266320   回復(fù)  更多評論
            
          # re: Eclipse在做什么
          2008-01-09 10:52 | 木偶人
          我是新手,你們說的好多不知道,,,有沒有誰愿意帶帶我呀,,,,
          QQ:357755532  回復(fù)  更多評論
            
          # re: Eclipse在做什么
          2008-05-12 10:26 | BeanSoft
          呵呵 RCP 做Web層 現(xiàn)在已經(jīng)有了 RIA 忽略我的話是不對滴。。。  回復(fù)  更多評論
            
          # re: Eclipse在做什么
          2008-07-29 00:02 | moonandsun
          如此深刻,學(xué)習(xí)中  回復(fù)  更多評論
            
          # re: Eclipse在做什么
          2015-01-21 17:01 | jogos friv
          使用的是Mac就像是真實(shí)的,但很難比正常機(jī)  回復(fù)  更多評論
            
          主站蜘蛛池模板: 上思县| 赫章县| 泊头市| 宜章县| 乌拉特中旗| 德清县| 香河县| 吕梁市| 黎城县| 兴城市| 泗洪县| 克什克腾旗| 缙云县| 咸宁市| 江西省| 万安县| 新巴尔虎右旗| 沂南县| 东丽区| 博湖县| 恩平市| 额敏县| 潍坊市| 阜康市| 虹口区| 冕宁县| 伊金霍洛旗| 清远市| 津南区| 娄烦县| 沂源县| 大方县| 屯留县| 连南| 论坛| 正镶白旗| 长岭县| 岫岩| 竹北市| 临洮县| 曲靖市|