2013年8月4日 星期日

javascript loading的考量

javascript loading有些必須考量的點,比方載入方式、相依性、模組化、最佳化

方式

1. 直接使用script tag的src屬性
2. 使用document.write方式動態載入
3. 自行產生DOM元素加入
4. 使用AJAX動態取得
現在web browser通常使用aysnchronous載入,最佳化性能,但是有時必須考慮相依性

相依性

javascript loading相依性上有RequireJS來處理,一來可以解決相依性,二來可以只載入必要的元素即可

模組化

而引入的javascript通常可以視為一個模組,一個好的模組必須符合一些規範,如AMD,而CommonJS正是這樣的概念下的RIA framework

最佳化

而javascript載入有時取決於script tag的位置,變數名稱以及檔案形式。好比將tag至於文件尾端,讓DOM Tree儘快生成,產生頁面,但是副作用是有時script產生的動態元素會比較慢呈現在網頁上。為了讓javascript parser比較快讀取產生,使用如google closure compiler,縮短變數名稱等等動作,可以讓javascript產生較好的效能,但是會犧牲程式的可讀性

參考資料:

https://developers.google.com/closure/compiler/?hl=zh-TW
http://josephj.com/entry.php?id=349
http://www.jb51.net/article/17992.htm
http://ithelp.ithome.com.tw/question/10120521?tag=rss.qu
http://tc.itkee.com/developer/detail-1a9a.html
http://www.puritys.me/docs-blog/article-160

沒有留言:

張貼留言