標籤:javascrip row asc ksh 引入 架構 mst script 表單
最早的軟體都是運行在大型主機上的,軟體使用者通過“啞終端”登陸到大型主機上去運行軟體。後來隨著PC機的興起,軟體開始主要運行在案頭上,而資料庫這樣的軟體運行在伺服器端,這種Client/Server模式簡稱CS架構。
隨著互連網的興起,人們發現,CS架構不適合Web,最大的原因是Web應用程式的修改和升級非常迅速,而CS架構需要每個用戶端逐個升級案頭App,因此,Browser/Server模式開始流行,簡稱BS架構。
在BS架構下,用戶端只需要瀏覽器,應用程式的邏輯和資料都儲存在伺服器端。瀏覽器只需要請求伺服器,擷取Web頁面,並把Web頁面展示給使用者即可。
當然,Web頁面也具有極強的互動性。由於Web頁面是用HTML編寫的,而HTML具備超強的表現力,並且,伺服器端升級後,用戶端無需任何部署就可以使用到新的版本,因此,BS架構迅速流行起來。
今天,除了重量級的軟體如Office,Photoshop等,大部分軟體都以Web形式提供。比如,新浪提供的新聞、部落格、微博等服務,均是Web應用。
Web應用開發可以說是目前軟體開發中最重要的部分。Web開發也經曆了好幾個階段:
靜態Web頁面:由文字編輯器直接編輯並產生靜態HTML頁面,如果要修改Web頁面的內容,就需要再次編輯HTML源檔案,早期的互連網Web頁面就是靜態;
CGI:由於靜態Web頁面無法與使用者互動,比如使用者填寫了一個註冊表單,靜態Web頁面就無法處理。要處理使用者發送的動態資料,出現了Common Gateway Interface,簡稱CGI,用C/C++編寫。
ASP/JSP/PHP:由於Web應用特點是修改頻繁,用C/C++這樣的低級語言非常不適合Web開發,而指令碼語言由於開發效率高,與HTML結合緊密,因此,迅速取代了CGI模式。ASP是微軟推出的用VBScript指令碼編程的Web開發技術,而JSP用Java來編寫指令碼,PHP本身則是開源的指令碼語言。
MVC:為瞭解決直接用指令碼語言嵌入HTML導致的可維護性差的問題,Web應用也引入了Model-View-Controller的模式,來簡化Web開發。ASP發展為ASP.Net,JSP和PHP也有一大堆MVC架構。
目前,Web開發技術仍在快速發展中,非同步開發、新的MVVM前端技術層出不窮。
由於Node.js把JavaScript引入了伺服器端,因此,原來必須使用PHP/Java/C#/Python/Ruby等其他語言來程式開發伺服器端程式,現在可以使用Node.js開發了!
用Node.js開發Web伺服器端,有幾個顯著的優勢:
一是後端語言也是JavaScript,以前掌握了前端JavaScript的開發人員,現在可以同時編寫後端代碼;
二是前後端統一使用JavaScript,就沒有切換語言的障礙了;
三是速度快,非常快!這得益於Node.js天生是非同步。
在Node.js誕生後的短短几年裡,出現了無數種Web架構、ORM架構、模版引擎、測試架構、自動化構建工具,數量之多,即使是JavaScript老司機,也不免眼花繚亂。
常見的Web架構套件括:Express,Sails.js,koa,Meteor,DerbyJS,Total.js,restify……
ORM架構比Web架構要少一些:Sequelize,ORM2,Bookshelf.js,Objection.js……
模版引擎PK:Jade,EJS,Swig,Nunjucks,doT.js……
測試架構套件括:Mocha,Expresso,Unit.js,Karma……
構建工具有:Grunt,Gulp,Webpack……
目前,在npm上發行的開源Node.js模組數量超過了30萬個。
有選擇恐懼症的朋友,看到這裡可以洗洗睡了。
好訊息是這個教程已經幫你選好了,你只需要跟著教程一條道走到黑就可以了。
Web開發曆史課