如果引用或轉貼,麻煩註明出處與本網誌連結,否則視為侵權。

2012年1月5日

Javascript在Web應用系統中的角色

作者: Fred Wang 2012/1/5

摘自http://www.saxue.com/javascript/javascript-jiaose.html 一文描述Javascript在Web的角色 :
"javascript是web中使用最為廣泛也最為重要的web腳本語言,Javascript可以為內容及其表現形式增加行為,javascript的作用就是增強用戶的瀏覽體驗,使得資訊的獲取和傳輸更加容易快捷,用戶的體驗不應該依賴於javascript,但是javascript可以作為這種體驗的工具。

javascript可以實現:
1.建立新圖像翻滾這樣的視覺效果,精細地引導用戶,並且有助於頁面的導航。
2.對一張表格的排列順序,從而使用戶更容易找到所需的要東西。
3.隱藏某些內容。
4.通過和web伺服器直接通信將瀏覽體驗流程化,以便新的資訊無需整個頁面重載就能顯示出來。(AJAX)"


當然,javascript還可以做很多的事,但更重要的是要知道Javascript也有很多事不適合做,也不應該做。也就是不應該扮演他不該扮演的角色。

許多程式設計師從開發Client-Server的應用系統,轉到開發Web應用系統,會發現許多原來可以做的設計在Web應用系統就不能做了,原來不會發生的問題,在Web應用系統就發生了,然後就會批評Javascript是爛東西。

“JavaScript 是爛東西?”(http://www.kenming.idv.tw/javascript_a_mc_a_peyiif) 這篇文章標題看來聳動,文章中要表達的是"會爛的原因是… 程式設計師把它變成爛東西了。"

從開發Client-Server的應用系統轉而開發Web應用系統,程式設計師若無法了解由原來Stateful連線模式轉換為Stateless連線模式等差異,想辦法改變設計習慣,往往造成效能,可用性與安全上的錯誤,例如上面連結文章中提到的例子 : "系統中客戶輸入 ID 後,就能馬上秀出客戶姓名,竟然就一次把位於資料庫的客戶資料全部傳到 Browser端,然後,用 JavaScript 寫個 For-Loop 的迴圈,來找出對應 ID 的客戶姓名。"

或是常見到將商業邏輯寫在Javascript端,或直接在Javascript端檢查輸入內容,而忽略Server端的檢查等錯誤的設計方式。這些都突顯對Web環境,如Http連線與資料傳遞的方式等的基本認識不足。

因此,Javascript主要角色應該用在前端UI呈現與使用者動作事件的控制,而不該做為商業邏輯運算與資料處理用途。  -- Fred




沒有留言:

張貼留言

歡迎提供意見, 謝謝 (註 : 留言經過版主審核通過才會發布)