2007年11月13日 星期二

GRE 開發備註二

阿土伯手上專案終於完工了, 並 Release 給客戶以及交付生產線試用了.

看看最後一篇文章, 足足隔了一個多月(手腳變慢了 = =), 各位朋友, 久違了..

近期會整理一下及發表阿土伯在開發 Gecko / XULRunner Application 時, 所開發的一些 Utilities Libraries.

這篇主要介紹及回答為什麼當時阿土伯要用 GRE 而不是 Java RCP(eclipse RCP / netbeans RCP...etc,)

##CONTINUE##

GRE/XULRunner 特色

* Cross Platform -
只要是有 mozilla or firefox 都可以執行您的 Application. 這部份的特色和阿土伯喜愛的 Java 一樣可愛.

* Gecko Rendering Engine -
有了 Gecko Rendering Engine, 可以用大家最熟悉的 HTML 技術來開發富豐的 GUI.
更可以內崁 Flash Object 來開發更炫麗 GUI.
當然, 你要內崁 Java Applet 來開發 GUI 也可以.

* Javascript
使用 Javascript 來開發 Application. 任何您原來在 Web 上開發的技巧都可以直接使用.
再加上豐富大量的 3rd-party Libraries (jQuery / Dojo / YUI) + Firebug 開發效率及入門門檻低.

* XUL / XML / XBL / SOAP
做為 Rich Client Platform , XUL+XBL 配合的讓人讚賞.. 而 XBL 讓您利用 CSS Selector 的方式, 讓 XUL / HTML 可以
binding 到 Content / Properties / Methods / Events / Style .
這部份讓您對於開發 XUL 有很大的彈性.
在部份的應用下, 可以開發類似於 jsp / jsf 的 custom tag .

* XPCOM
透過 XPCOM, 可以讓 javascript 使用原生的方法.
利用 XPCOM 開檔 , 網路連線 , 資料庫操作等.
亦可以自行利用 C++ 或 javascript 實作自己的 XPCOM , 有點像 JNI.


心得
對於一個中/大型的 Application 專案, 建議採用 Java RCP.
對於一個小型的 Application 專案或設計專案 Prototype 時, 這時利用 GRE/XULRunner 是在適合不過的了..
(大專案也行啦.... firefox/thunderbird 就是, 它們可不是小專案呀...)

而且...... 還有一個當初我採用的最大原因....... ....
若是利用 Java RCP, 每次換個客戶,換個 UI , 或是加點小功能..工作就會再回到我們手上來...
用了 Gecko.. 現在變成美術設計的事了, 除非 XPCOM / XBL 有問題, 才需要 debug 及維護.
這下子, 原來 "軟體部門" 的專案變成了 "設計部門" 的專案... 這才是太極最高奧義呀~

歡迎大家來信或留言討論...
張貼留言