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