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 及維護.
這下子, 原來 "軟體部門" 的專案變成了 "設計部門" 的專案... 這才是太極最高奧義呀~

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

4 則留言:

tippy 提到...

i'm interested in this topic. will you write more about it ?

Unknown 提到...

Dear tippy:
I will write more about GRE/XULRunner, and share my project source.

匿名 提到...

GRE 有過沒有很清楚..
對於只要有新的開發程式語言或我沒碰過的程式語言就覺得好奇想了解一下!呵...
不知道阿土伯可否為我開導一下..謝啦!

匿名 提到...

剛剛逛了一下
MDC
是有比較清楚在玩什麼了!
類似於 asp.net開發網頁架構的程式!
想請問筆者,為什麼最後又跟 c 連上線了?