原文作者:Dylan Schiemann原文連結:AMD for the Business-Side你可能已經讀過了我們最近的部落格 “AMD: The Definitive Source”。這篇部落格詳盡地介紹了了AMD(Asynchronous Module Definition)。AMD是一個頗具技術性的話題,但本文將著重為你介紹AMD對於你的業務有何價值。AMD是一個旨在高效開發模組化JavaScript庫/應用程式的新興事實標準。將JavaScript應用程式轉化到AMD將給你的業務帶來諸多優勢。如果你在使用Dojo 1.7+,那你已經在使用AMD,享受它帶給你的好處了。在你的Web應用程式中使用AMD將極大地改善代碼的可維護性,應用的效能、互用性。這些無疑會為你的業務來帶以下優勢:1. 高效的開發2. 更佳的使用者體驗3. 技術上的領先
代碼可維護性AMD通過使用諸多最佳實務解決了在JavaScript和HTML5開發項目中出現的大量問題。JavaScript開發的技術門檻很低,這經常導致全域變數有意無意地被到處使用。舊版本的Dojo使用命名空間來解決這個問題,但命名空間並非最佳辦法,它帶來了效能上的影響並且具有唯一性。使用AMD解決方案,你在開發中將碰到更少的問題。在比較大的項目中,不同團隊分工開發一個應用程式/庫的不同部分是很常見的。使用AMD可以建立出可複用模組,這些模組可以協助各個項目組/團隊節省合并代碼的時間的,更方便地共用代碼。AMD模組的代碼架構還能協助減少整個開發過程的時間。開發人員一旦有了一個堅實的模型來寫出乾淨、模組化的代碼,那麼開發過程中出現的錯誤將大大減少,這將帶動整個項目的開發速度,提高團隊的開發效率。
使用AMD來進行功能偵測,可以方便地為你的應用程式針對移動平台進行最佳化或是移除對過時的瀏覽器的支援。此外,對於不同瀏覽器的支援邏輯通過高效、易維護的方式被儲存起來,一旦不再需要這些支援,可以很容易地移除這部分代碼。
應用程式效能AMD和附帶的應用程式最佳化工具可以將你的應用的代碼變得更小,直接提高效能。(參見business benefits of improving performance)代碼更小意味著更少的網路頻寬開銷,更快的頁面載入時間以及使用者滿意度的提高、使用者數的增長。AMD的非同步本質使得並行載入模組變成可能,進一步提高了應用的效能。藉助於AMD,一個典型的Dojo應用的代碼大小可以減少25%-90%,載入速度提高5-10倍的例子也比比皆是。
互用性Dojo Toolkit的初衷是提供一系列工具和庫來協助開發人員更高效地進行Web應用開發。從未想過挑起不同JavaScript Toolkit之間的戰爭或是強制使用者只使用Dojo一個工具包,放棄其它豐富多彩的模組。我們一直篤信使用者擁有自由選擇最適合自己項目的技術/模組的權利。AMD可以很好地解決不同工具包之間的衝突。使得混用不同工具包中的模組變得更加簡單。比如你可以在一個jQuery應用中使用dgrid模組或是在Dojo的應用中加入些MooTools的功能。但還是建議在一個應用中完全載入多個不同工具包時需要謹慎,因為這很可能帶來效能上的影響。整個Dojo已經變得更加模組化,你可以從中獲得微工具包所帶來的好處,同時這些模組又是經過充分測試,符合你的期望的。AMD已經被許多大型公司、組織所使用,如IBM,BBC和Twitter等。我們期待今年使用AMD的主流網站數能呈指數增長。
總結代碼可維護性、應用程式效能以及互用性為建立更動態應用提供了足夠的靈活性。AMD在這些技術和業務方面為我們帶來了諸多優勢。許多公司有一個共同的目標:儘可能高效地留住客戶,同時保證產品品質。 AMD正是為此而生,我們期待著它的進展。
擴充閱讀
- AMD: The Definitive Source
- Beyond Dojo: The Rise of AMD
- BBC adopting AMD as part of their responsive design efforts
- Twitter article on improving performance, including using AMD