本文整理自對 @wdd2007 提問的回答:前端框架的做用是什麼?何時須要用到前端框架?javascript
他們出現的緣由是什麼?前端
當前端從 Web Page 變成了 Web App 時,就須要前端框架了。java
更新jquery
在評論中,@C860 說web
就目前的WEB PAGE來講,引入前端框架已是大勢所趨了。不少時候後端的一些數據處理都轉移給了前端去完成,特別是在REST模式下。spring
就他的描述來看,後端的一些數據處理都轉移給了前端去完成 這絕對不是 Web Page,這明顯已是 Web App 了。segmentfault
如今咱們在 web 上,已經不單單是去看了,咱們更多的時候是去用。後端
大公司有沒有用我不敢輕易下結論,可是我知道 TX 他們有本身寫的庫前端框架
看來他還真是把 Web Page 和 Web App 理解錯了,TX 的公司網站是 http://www.tencent.com 我不用看他的源碼,就能夠猜出,這麼個 Web Page 型網站,不會去使用這些 MVC 框架的。若是他提到的 TX網站 是QQ空間、WebQQ,那就是 Web App 了。app
更新2
也許不少人不太理解 Web Page 和 Web App 的區別。不單單是 Web,就連如今的桌面軟件,手機軟件(呃~我提到這個詞會被行家笑話的,應該叫「移動App」、「手機應用」、「……」)。
爲何咱們發明了這麼個新名詞呢?App。
若是你有使用 VC、VB、Delphi、PB 的開發經驗,就會注意到咱們創建新項目時,會有幾個選擇 Win3二、Console、桌面軟件、Lib、……
換句話說:「並非全部的軟件都是 App」,軟件分不少種,若是咱們寫一個水仙花數的解法,那麼,咱們編寫的是「程序program」,廣義的說,這其實也勉強算是一個APP吧(你能夠包裝一下),由於他確實是一個應用,他能夠用來解決咱們的一個或者幾個問題。
或者你把他再包裝一下,寫個文檔,使用手冊,……那麼你能夠說你開發了一個「軟件software」。
若是你開發的是類庫,好比你開發了一個 jquery,開發了一個 spring,那麼即便你的程序編寫的再好,他也不是一個 APP。
若是你開發了一個系統軟件,好比編譯器,好比驅動程序,好比文件系統……那麼這個也不是APP。
那什麼是 web app 呢?就是 Web 應用。(這不廢話嗎!)
Web 最初出現的時候,能夠說僅僅是顛覆了傳統傳媒業,顛覆了報紙業,新聞業,…… 咱們作了那麼多網頁(Web Page 翻譯的多貼切,web就是網,page就是頁)。
後來,java applet、flash、javascript、slivelight、flex……各類技術的出現,改變了人們發佈和部署APP和software的方式,雖然悄無聲息,但也絕對是軟件發佈方式的一次革命。