1. 程式人生 > >全棧工程師之全棧JavaScript簡介

全棧工程師之全棧JavaScript簡介

如今,使用構建的任何Web應用程式,需要做出許多架構決策,追求要做出正確的選擇:能夠實現快速開發,不斷迭代,最大效率,速度與穩健性等的開發技術。

全棧工程師是Web應用程式開發最主要的角色之一,下面我們將概述為什麼全棧JavaScript更加適合全棧開發。

從1998年開始,我們在伺服器端的大部分開發中都使用了Perl。但即Perl佔據大部分市場,但我們在客戶端也有JavaScript。在過後Web伺服器技術發生了巨大的變化:我們經歷了一波又一波的語言和技術,例如PHP,ASP,JSP,.NET,Ruby,Python等,開發人員開始意識到,為客戶端和伺服器環境使用兩種不同的語言會使事情變得複雜。

在PHP和ASP的早期階段,當模板引擎只是一個想法時,開發人員在其HTML中嵌入應用程式程式碼。看到這樣的嵌入式指令碼並不罕見:

或者,更糟糕的程式碼有這樣:

對於初學者來說,語言之間存在典型的錯誤和令人困惑的陳述,例如for和foreach。此外,即使在今天,在伺服器和客戶端上編寫這樣的程式碼來處理相同的資料結構也是不舒服的(當然,除非你有一個開發團隊,工程師專門負責前端,工程師負責後端 - 但是如果他們可以共享資訊,他們將無法在彼此的程式碼上進行協作):

在單一語言下統一的最初嘗試是在伺服器上建立客戶端元件的是JavaScript,我們都知道大多數程式語言想在單一語言下統都失敗了(例如,ASP MVC取代了ASP.NET Web表單,而GWT可能在不久的將來被Polymer取代)。

JavaScript 在Netscape Enterprise Server 中實際上是伺服器端,但當時語言還沒有準備好。經過多年的反覆試驗,Node.js終於出現了,它不僅將JavaScript放在伺服器上,而且還提升了非阻塞程式設計的思想,將它從nginx世界帶來,這得益於Node建立者的nginx背景,這要歸功於JavaScript的事件迴圈特性。

Node.js改變了我們永遠處理I / O訪問的方式。作為Web開發人員,我們在訪問資料庫(I / O)時習慣了以下幾行:var resultset = db.query("SELECT * FROM 'table'");drawTable(resultset);通過Node.js和非阻塞程式設計,我們可以更好地控制程式流

MongoDB是一個基於NoSQL文件的資料庫,它使用nodejs作為查詢語言,從而完成了伺服器與前端的資料對接過程。

全棧JavaScript開發技術將來要有很長的路要走,使用JavaScript,可以建立可擴充套件,可維護的應用程式,並在單一語言下統一,毫無疑問,這是一股不可忽視的力量。