談JavaScript就一定要提到JavaScript Libraries, 就如同今年5月19日在中研院辦的JSDC中, 有位講者說: 凡JavaScript強者, 就一定要搞自己的套Framework!
像來'陪榜'的費大, 就專精在Node.js這個Framework, 但有很多'強者'覺得在Node.js中還有很多可以改善的地方, 就自己動手改一改, 做出屬於自己的Framework.
Node.js是屬於伺服器端的元件、架構、平台, 用戶端還有一大堆JavaScript Libraries來支援. 但, 嚴格講起來, Node.js也是JavaScript Libraries之一.
不過, 各位要注意的是, Node.js不是ASP.NET會用到的伺服器端的Framework, 不為什麼, 只因為JavaScript中的強者實在太多....(這是我亂講的)...
讓我們來看看JavaScript Libraries有那些:
其實, 上圖已經有些和現實脫節, 例如Yahoo已經改名為Mojito!, 而Node.js還沒列上去.
在網站開發工具史上, JavaScript曾經一度受到責難, 反對JavaScript者最主要的論點在安全、漏洞問題.
因為JavaScript也是駭客的最愛.
而談JavaScript也必須談到以前常提到的JSP、Servlet及Applet, 因為有這些發展的歷史, 才造就今天JavaScript的輝煌成就.
建立ASP.NET專案有好幾種不同專案類型可選, 請看下圖:
除了空白專案及Ajax伺服器控制項專案外, 開發Web專案都會至少自動帶入一個JavaScript Library: jQuery.
而開發MVC專案, 就會把jQuery及Ajax這兩個JavaScript Libraries帶入:
為什麼jQuery和Ajax?
Ajax有點像前述的Node.js, 就是用來做伺服器端的, 而jQuery多半是用戶端控制.
而ASP.NET專案中還有Ajax伺服器控制項開發專案, 就是給強者們用來開發自己的Framework的.
各位或許會問: 為什麼jQuery和Ajax? 其他Libraries行不行? 行, 只要把.js檔案下載, 然後加入專案的/script資料夾中, 然後在專案中就可以引用了. 如果還是想寫程式來引用, 可以在.aspx原始碼中加入
<script type="text/javascript" src="MyScript.js"></script>
然後就可以引用MyScript.js中的JavaScript Function了.
介紹到這裏, 或許各位會問: 為什麼Microsoft Visual Studion 2010中預設使用jQuery及Ajax? 其實很簡單, 大多數的ASP.NET網站開發者, 都會採用這兩個Libraries, 市場決定一切! That's All!
補充一下Yahoo!有兩套JS框架:
Mojito
Mojito, is a free, open source JavaScript MVC framework for building high-performance, device-independent HTML5 applications running on both client and server.
YUI Library
YUI is a library of JavaScript utilities and controls for building richly interactive web applications using techniques such as DOM Scripting, DHTML, and Ajax.
以上面的列表來說,應該指的是YUI Library