javascript是全棧語(yǔ)言;JavaScript是一種解釋型的腳本語(yǔ)言,傳統(tǒng)意義下的JavaScript僅僅是指運(yùn)行在客戶端瀏覽器中的腳本語(yǔ)言,隨著“Node.js”的出現(xiàn),將JavaScript應(yīng)用到了服務(wù)器端,因此JavaScript開始稱為了全棧語(yǔ)言。

本教程操作環(huán)境:windows10系統(tǒng)、javascript1.8.5版、Dell G3電腦。
javascript是全棧語(yǔ)言
傳統(tǒng)意義下的JavaScript僅僅是指運(yùn)行在客戶端瀏覽中的腳本語(yǔ)言。
隨著Node.js的出現(xiàn),將JavaScript應(yīng)用擴(kuò)展到了服務(wù)器端,JavaScript開始成為了全棧語(yǔ)言。
JavaScript是Web的標(biāo)準(zhǔn)編程語(yǔ)言,本身隨著B/S架構(gòu)模式的Web應(yīng)用開發(fā)及萬(wàn)維網(wǎng)服務(wù)的普及而普及。當(dāng)前Web已經(jīng)成為有史以來(lái)最常用的計(jì)算平臺(tái),而HTML5技術(shù)標(biāo)準(zhǔn)的推出為JavaScript編程語(yǔ)言的發(fā)展提供了強(qiáng)有力的支持。
vaScript開發(fā)移動(dòng)桌面應(yīng)用及使用JavaScript實(shí)現(xiàn)服務(wù)端編程角度,對(duì)JavaScript強(qiáng)大的生命力及應(yīng)用前景進(jìn)行說(shuō)明。當(dāng)然對(duì)于個(gè)人學(xué)習(xí)者而言,選擇JavaScript作為入門語(yǔ)言主要優(yōu)勢(shì)表現(xiàn)在以下2個(gè)方面:
1、簡(jiǎn)單易學(xué)
作為一種高級(jí)別的程序語(yǔ)言,JavaScript簡(jiǎn)單易學(xué),容易上手。JavaScript對(duì)機(jī)器實(shí)現(xiàn)過(guò)程進(jìn)行了抽象,讓編程者專注于學(xué)習(xí)編程。編程者無(wú)需設(shè)置復(fù)雜開發(fā)環(huán)境即可編寫程序并在瀏覽器中運(yùn)行顯示,這是初學(xué)者選擇JavaScript的最常見(jiàn)原因。
2、編程社區(qū)較多、規(guī)模較大
編程語(yǔ)言社區(qū)規(guī)模及數(shù)量對(duì)于學(xué)習(xí)編程者非常重要,社區(qū)越強(qiáng)大,學(xué)習(xí)者獲取的支持越多。JavaScript在社區(qū)規(guī)模方面已超過(guò)Java,并且可能會(huì)繼續(xù)增長(zhǎng)。當(dāng)前JavaScript也是GitHub上標(biāo)記最多的語(yǔ)言,有超過(guò)3100個(gè)GitHub項(xiàng)目,超過(guò)500顆星。
擴(kuò)展知識(shí):
全棧工程師是Web應(yīng)用程序開發(fā)最主要的角色之一,下面我們將概述為什么全棧JavaScript更加適合全棧開發(fā)。
從1998年開始,我們?cè)诜?wù)器端的大部分開發(fā)中都使用了Perl。但即Perl占據(jù)大部分市場(chǎng),但我們?cè)诳蛻舳艘灿蠮avaScript。在過(guò)后Web服務(wù)器技術(shù)發(fā)生了巨大的變化:我們經(jīng)歷了一波又一波的語(yǔ)言和技術(shù),例如PHP,ASP,JSP,.NET,Ruby,Python等,開發(fā)人員開始意識(shí)到,為客戶端和服務(wù)器環(huán)境使用兩種不同的語(yǔ)言會(huì)使事情變得復(fù)雜。
在PHP和ASP的早期階段,當(dāng)模板引擎只是一個(gè)想法時(shí),開發(fā)人員在其HTML中嵌入應(yīng)用程序代碼。看到這樣的嵌入式腳本并不罕見(jiàn):

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

對(duì)于初學(xué)者來(lái)說(shuō),語(yǔ)言之間存在典型的錯(cuò)誤和令人困惑的陳述,例如for和foreach。此外,即使在今天,在服務(wù)器和客戶端上編寫這樣的代碼來(lái)處理相同的數(shù)據(jù)結(jié)構(gòu)也是不舒服的(當(dāng)然,除非你有一個(gè)開發(fā)團(tuán)隊(duì),工程師專門負(fù)責(zé)前端,工程師負(fù)責(zé)后端 – 但是如果他們可以共享信息,他們將無(wú)法在彼此的代碼上進(jìn)行協(xié)作):

在單一語(yǔ)言下統(tǒng)一的最初嘗試是在服務(wù)器上創(chuàng)建客戶端組件的是JavaScript,我們都知道大多數(shù)編程語(yǔ)言想在單一語(yǔ)言下統(tǒng)都失敗了(例如,ASP MVC取代了ASP.NET Web表單,而GWT可能在不久的將來(lái)被Polymer取代)。
JavaScript 在Netscape Enterprise Server 中實(shí)際上是服務(wù)器端,但當(dāng)時(shí)語(yǔ)言還沒(méi)有準(zhǔn)備好。經(jīng)過(guò)多年的反復(fù)試驗(yàn),Node.js終于出現(xiàn)了,它不僅將JavaScript放在服務(wù)器上,而且還提升了非阻塞編程的思想,將它從nginx世界帶來(lái),這得益于Node創(chuàng)建者的nginx背景,這要?dú)w功于JavaScript的事件循環(huán)特性。
Node.js改變了我們永遠(yuǎn)處理I / O訪問(wèn)的方式。作為Web開發(fā)人員,我們?cè)谠L問(wèn)數(shù)據(jù)庫(kù)(I / O)時(shí)習(xí)慣了以下幾行:var resultset = db.query("SELECT * FROM 'table'");drawTable(resultset);通過(guò)Node.js和非阻塞編程,我們可以更好地控制程序流
MongoDB是一個(gè)基于NoSQL文檔的數(shù)據(jù)庫(kù),它使用nodejs作為查詢語(yǔ)言,從而完成了服務(wù)器與前端的數(shù)據(jù)對(duì)接過(guò)程。
全棧JavaScript開發(fā)技術(shù)將來(lái)要有很長(zhǎng)的路要走,使用JavaScript,可以創(chuàng)建可擴(kuò)展,可維護(hù)的應(yīng)用程序,并在單一語(yǔ)言下統(tǒng)一,毫無(wú)疑問(wèn),這是一股不可忽視的力量。
【
站長(zhǎng)資訊網(wǎng)