對Web標准的修訂做得越多Web開發的正確方向越值得懷疑InfoWorld的NeilMcAllister對Web開發的現狀與未來做了很好的思考
最近ECMAScript標准被棄用統一為ECMAScript如果任ECMAScript發展Javascript將帶來巨大變化Adobe的EdRowe告訴作者大部分人對Javascript一類語言存在障礙這是為什麼Adobe當初加入ECMAScript陣營的原因Adobe以及ECMAScript希望帶來一些適於大規模程序的概念
然而盡管大規模程序的開發對Adobe可能是好的可以肯定它未必對任何人都可行傳統程序語言就是一個例子
對任何Java程序開發正規軍來說強類型包裝以及命名空間盡管對維護大型程序來說可能很容易但對Web程序員來說幾乎沒有什麼用處Web程序員僅僅想通過編程對UI搞一點花樣
事實上ECMAScript委員會想創造一種萬能編程語言的初衷非常值得置疑曾經有一群非常聰明的人聯合起來想寫一個終極語言這種語言非常安全有活力且非常標准化幾乎沒有需要解釋的地方這就是Ada現在沒有人還記得Ada因為這種語言非常嚴格缺乏靈活人們寧願使用C
既然沒有人能夠創造一個終極的完美的傳統編程語言又怎麼能指望我們可以為Web創造一個這樣的語言?我們越多討論大規模Web程序越應該知道單一的編程語言將永遠無法適合任何工作
作者非常喜歡ModelViewController設計模式然而這個模式並不適合於任何場合不過這個模式可以為程序開發提供一套指南總體上說ModelViewController的核心是從數據層業務邏輯層分離展示層浏覽器可以算作View(展示層)我們不應強迫它同時成為業務邏輯層
自從有了Javascript我們對它的指望越來越多企圖用它來創建整個程序事實上Javascript不可能適合任何任務我們不應該將越來越多的業務功能硬塞進浏覽器應該讓浏覽器專心作展示而在其它地方展開業務邏輯
比如插件當然很多Web開發者會告訴你插件不是好東西每次你強迫用戶下載安裝插件都相當於在你的代碼前面設置了障礙事實是這樣嗎?
早期的插件絕大多數用來提供多媒體功能很快就成為在線營銷工具那時人們使用撥號上網但很少有人懷疑人們對插件的耐心
現在的例子是GoogleGears一次性安裝GoogleGears任何基於GoogleGears的程序都獲得額外的功能目前基於GoogleGears的站點不僅包含GoolgeDocs與GoogleReader也包含MySpacePicasa甚至Wordpress
人們傾向於GoogleGears的離線運行Web程序的能力卻忽視了WorkerPool模塊WorkerPool允許Javascript在後台執行獨立於網頁代碼WorkerPool是獨立的代碼執行引擎只不過剛好象普通浏覽器那樣運行相同的Javascript代碼
為什麼要用JavaScript而不是PythonLisp或其它如果有一種應用有足夠的說服力就有足夠的動力將它設計成插件尤其是在現在的寬帶世界這樣的例子已經存在Adobe的Flash插件就可以執行ECMAScript標准的腳本其它平台還包括Curl與REBOL
作為Web開發者我們羞於選擇其它道路只是在無休止地對JavaScript進行改進和標准化因為那是Web標准我們告訴自己JavaScript是一個純淨的選項
但如果只拘泥於單一的方式我們為什麼還要費這番力氣?我們已經擁有一個功能齊備的客戶端做任何事情從數據庫到email它已經安裝到成千上萬的企業這就是LotusNotes
這就是我們前進的方向?這就是將來的浏覽器模型?或者對Web開發界來說我們是否應該跳出這個圈子思考問題?
From:http://tw.wingwit.com/Article/program/Java/JSP/201311/20692.html