我自己時(shí)常會(huì)被各種Web應(yīng)用所困惑。我自己的觀點(diǎn)也時(shí)常也會(huì)被某些現(xiàn)實(shí)中的應(yīng)用所推倒。比如,我一向所持的觀點(diǎn)是,在JavaScript橫行的時(shí)代尤其需要注意網(wǎng)站的無障礙,就是說,沒有/禁止JavaScript的情況下保證信息的可傳達(dá)。但是,可以看到很多應(yīng)用,比如Gmail, 比如Google Reader等,都是兩極的做法,提供一個(gè)不需要JavaScript的基本視圖或者干脆明白地告訴你不開JavaScript不給你用。
那么我一直提倡的Unobtrusive JavaScript還有什么意義?其實(shí)跟人交流的時(shí)候我的底氣也不足,因?yàn),確實(shí),不Unobtrusive也不見得有什么壞處啊,最典型的例子就是前面所舉的Gmail例子。跟人論戰(zhàn),若有人舉出如此例子,我一般也只能繳械,確實(shí),我沒能找到合適的理由來反駁。
不斷地翻資料,終于在非技術(shù)層面找到一些看起來應(yīng)該算是比較可靠的理由,不敢獨(dú)吞,遂分享。不敢保證正確,如有任何想法,務(wù)必留言交流,謝謝!
WWW(你可以叫它互聯(lián)網(wǎng),但也有人稱之為萬維網(wǎng))誕生之時(shí),只是一個(gè)超文本(hypertext)的系統(tǒng),所擔(dān)負(fù)的任務(wù)只有一個(gè),依靠線性的超連接來傳遞信息,這是一個(gè)典型的信息系統(tǒng)體系。
隨著各種前端,后端技術(shù)的飛速發(fā)展和成熟,加上商業(yè)的介入,人們不再滿足WWW作為一個(gè)信息系統(tǒng)而已。很多人嘗試將常規(guī)軟件,特別是桌面應(yīng)用軟件的設(shè)計(jì)的規(guī)則搬到WWW中并針對(duì)其弱點(diǎn)(比如無狀態(tài)的傳輸協(xié)議HTTP)進(jìn)行改良,使得WWW儼然成為一種軟件性的應(yīng)用,即使說, 不停留在信息傳播的層面上而已,而是讓人們能夠依靠它完成某些任務(wù)。這就是任務(wù)型的WWW,最典型的,還是前面所舉的例子,Gmail和Google Reader,人們依賴它們?nèi)ネ瓿墒招,抓取Feed等的任務(wù),而且是建立在一種比較直觀的交互方式上,沒錯(cuò),跟桌面軟件一樣直觀。
這種利用WWW的優(yōu)勢(跨平臺(tái),跨時(shí)空)可以說是WWW的一個(gè)發(fā)展趨勢。因?yàn)樗馨讶藗儚膶?duì)某個(gè)特定環(huán)境(比如特定的計(jì)算機(jī),特定的操作系統(tǒng)等)的依賴解放出來。RIA(富互聯(lián)網(wǎng)應(yīng)用)的概念興起已有一段時(shí)日, 但真正引爆流行的是Ajax概念的出現(xiàn)。這個(gè)概念更容易讓人把某些WWW應(yīng)用設(shè)計(jì)成桌面程序,而不分青紅皂白,哦,不,是不分自己所做的項(xiàng)目到底是面向任務(wù)還是面向信息的。
面向信息是WWW天生就具備的功能,可以說現(xiàn)在的WWW大部分應(yīng)用依然如此,比如門戶網(wǎng)站,比如電子商務(wù),這是我為什么每次都強(qiáng)調(diào)要保證信息的可傳達(dá)性,不管在什么情況下。但是就如前所提到,WWW已經(jīng)有了新的發(fā)展模式, 盡管未來可能有更多的面向任務(wù)型的Web應(yīng)用,但不論如何,這兩條線是平衡發(fā)展的,不會(huì)有誰取代誰的機(jī)會(huì),頂多是綜合運(yùn)用。
問題就出在綜合運(yùn)用這里。很多人一聽說Ajax,毫無考慮,雖然心中無面向信息或者面向任務(wù)的概念,但一開始就認(rèn)為這是面向任務(wù)的,因?yàn)锳jax的概念先入為主了。在面向信息的應(yīng)用中,比如門戶網(wǎng)站,比如政府公告,使用Ajax或者其他JavaScript來增色應(yīng)用是沒有問題的,但要確保信息的無障礙(貌似我強(qiáng)調(diào)了好多遍了)。
當(dāng)然,在面向任務(wù)型的應(yīng)用中,這只是把瀏覽器當(dāng)成是一個(gè)軟件的運(yùn)行環(huán)境( Runtime Environment? ),就如同Java程序需要JRE一樣,只不過面向任務(wù)的WWW應(yīng)用充分利用WWW作為數(shù)據(jù)保存、輸送的紐帶而已, 因此,假如運(yùn)行出錯(cuò)或者環(huán)境限制,我們只能告知用戶,你用不了我們的程序,請(qǐng)檢查哪里哪里,如果還不行只能抱歉了。
但是在面向信息的應(yīng)用中,請(qǐng)問,假如用戶在受限的環(huán)境下獲取不了信息,這說得過去嗎?面向信息就是以信息的傳達(dá)為目標(biāo),不應(yīng)該有所限。
所以,在項(xiàng)目的開始之初,我們需要必須明確的第一件事情是,我們是面向信息還是面向任務(wù),這才能讓項(xiàng)目的方向明確,不至于讓各種貌似很高級(jí)的東西迷惑了我們的決策。
出處:Realazy
責(zé)任編輯:moby
◎進(jìn)入論壇網(wǎng)站綜合、網(wǎng)頁制作版塊參加討論
|