???? 前了陣子,做了個firefox下的插件,在了解它的插件運作的過程中,才發現,原來程序還可以是這樣組成的。
??? 我們現在的所有B/S程序,UI上就是由HTML+JavaScript組成的,而它這樣的局限就是,這樣的UI只能在瀏覽器上運行;而且它的UI會比較簡單,不能像桌面程序中的一些效果。
??? 前面那個問題,其實很容易回答,大部分桌面程序也只能在Window上運行,大部分人都會裝Windows,但是大部分人也都會裝瀏覽器。
??? 而后面這個問題,就是我要說的內容了。Firefox里面所有界面上的布局,都是用類似于HTML的XUL語言生成的,它比HTML支持更多的UI,更方便的一些操作。
??? 當你發現,用HTML就可以構造出一個功能非常復雜的GUI時,當你發現光光html就可以做出一個Firefox那樣的界面時,當你發現,Firefox這個平臺上所有的程序都是由HTML組成時,這就是我的驚異了。
??? 當你發現,其實用HTML就可以做出所有的GUI程序時,這就是Moliza的思路了(其實NetBean的RPC中各個Plugin的UI的思路跟這個有點類似)。
??? 當你發現,你要打開一個程序,你只需要一個瀏覽器,打開一個網頁,其余啥都不用做時,這就是Google的思路了。
??? 這就是我的感覺。
??? 而且我在做這個Firefox的插件時,我一直感覺我在用AJAX,其實AJAX的思路,最有價值的就是,UI上每次變更,不需要刷新整個頁面,不需要 Reload整個UI,只需要變更它需要變化的部分,就像桌面程序一樣。而你在用Firefox的時候,你會感覺到Firefox在刷新什么東西嗎?