新聞中心
受這周我在企業(yè)中看到的JS現(xiàn)狀的啟發(fā),我寫(xiě)了這篇文章。10年之前,我從來(lái)沒(méi)有想過(guò)現(xiàn)在的JavaScript竟然會(huì)變得幾乎無(wú)處不在。下面是幾個(gè)你之所以要關(guān)注JavaScript的原因。

首先,我認(rèn)為JavaScript能夠得到普及的主要原因之一是,JavaScript非常易于接近。學(xué)習(xí)JavaScript,對(duì)于初學(xué)者而言,相對(duì)比較容易,對(duì)于高級(jí)用戶(hù)而言,又非常強(qiáng)大,可以用它來(lái)構(gòu)建復(fù)雜又可靠的系統(tǒng)。
其次,之所以要關(guān)注JavaScript是因?yàn)楝F(xiàn)今的JavaScript已經(jīng)無(wú)處不在。
你可以使用JavaScript在幾乎所有平臺(tái)上開(kāi)發(fā):客戶(hù)端應(yīng)用程序,服務(wù)器端業(yè)務(wù)邏輯,嵌入式芯片/物聯(lián)網(wǎng)設(shè)備,管理構(gòu)建腳本和依賴(lài)關(guān)系,等等。
不過(guò),這并不意味著你可以在任意情況下使用完全相同的代碼,但你可以使用相同的技能——JavaScript開(kāi)發(fā)——提供跨越多個(gè)范式的解決方案。
客戶(hù)端
JavaScript可被用于支持客戶(hù)端應(yīng)用程序/用戶(hù)界面,以及眾多平臺(tái)和設(shè)備的用戶(hù)交互。
web
當(dāng)然,JavaScript支持web,這是肯定的。 JavaScript是所有web瀏覽器基本的腳本語(yǔ)言。
移動(dòng)
JavaScript也可用于支持安裝到本地設(shè)備上的移動(dòng)應(yīng)用程序。
-
Apache Cordovn/ PhoneGap—— 你可以使用PhoneGap或Cordovn建立本地安裝的web技術(shù)app。 PhoneGap是Adobe的Cordovn品牌分支,但是從開(kāi)發(fā)者的角度來(lái)看,它們基本上是相同的。運(yùn)行在移動(dòng)設(shè)備上的應(yīng)用程序會(huì)帶有一個(gè)web視 圖,用構(gòu)建動(dòng)態(tài)web應(yīng)用程序相同的方式建立用戶(hù)界面。用戶(hù)界面雖然是用HTML以及CSS樣式實(shí)現(xiàn)的,但是所有的交互都是用JavaScript創(chuàng)建 的。
-
React Native ——得到JavaScript支持的web應(yīng)用程序不僅可以?xún)?nèi)置web視圖。React Native框架還允許開(kāi)發(fā)人員使用JavaScript和聲明式的UI元素編寫(xiě)他們的應(yīng)用程序,并生成一個(gè)可以在移動(dòng)設(shè)備上運(yùn)行的本地應(yīng)用程序。在運(yùn)行 時(shí),邏輯被解釋為JavaScript,但是所有(所有UI元素)與用戶(hù)交互的東西,100%是本地的,這就提供了一個(gè)非常高品質(zhì)的用戶(hù)體驗(yàn),而且現(xiàn)在還 可用于iOS和Android應(yīng)用程序。
-
Unity 3D——使用Unity 3D引擎,哪怕全部由JavaScript支持,你也可以開(kāi)發(fā)出豐富多彩又身臨其境的移動(dòng)3D模擬或游戲體驗(yàn)。
-
NativeScript——使用JavaScript的框架,可用于構(gòu)建跨平臺(tái)的本地iOS,Android和Windows移動(dòng)應(yīng)用程序。
桌面
桌面應(yīng)用程序也沒(méi)有被JavaScript排除在外。大多數(shù)桌面解決方案陷入了類(lèi)似于Apache Cordovn的分類(lèi)中,最終導(dǎo)致的結(jié)果是,web視圖擁有的API層次較低,其內(nèi)容開(kāi)發(fā)基于web技術(shù)。
-
Electron——來(lái)自于GitHub的Node.js+Chromium桌面應(yīng)用程序容器
-
app.js——Node+Chromium桌面應(yīng)用程序容器
-
nw.js——另一個(gè)Node+Chromium桌面應(yīng)用程序容器的框架
-
CEF——The Chromium Embedded Framework——嵌入Chrome瀏覽器內(nèi)置于桌面應(yīng)用程序的框架。
…等等。對(duì)了,我記得,微軟對(duì)于如何純粹地用HTML / JS構(gòu)建Windows應(yīng)用程序,已經(jīng)有了一個(gè)解決方案,而且還有更多的解決方案,但現(xiàn)在我一下子記不起來(lái)了。
事實(shí)上,一些我最喜歡的桌面工具,如Slack、Atom和 VS Code實(shí)際上就是在web技術(shù)和HTML / JS的基礎(chǔ)上實(shí)現(xiàn)的。
服務(wù)器端
最明顯的是Node.js——封裝了Chrome的V8 JavaScript引擎的JavaScript運(yùn)行時(shí)——在服務(wù)器端開(kāi)發(fā)和企業(yè)上已經(jīng)取得了巨大的進(jìn)步。 Node.js,受到express.js和loopback.io等框架的支持,使得用JavaScript開(kāi)發(fā)服務(wù)器端和復(fù)雜的企業(yè)應(yīng)用程序中變得可 能。
物聯(lián)網(wǎng)
你可以完全使用JavaScript來(lái)開(kāi)發(fā)可運(yùn)行在Arduino、樹(shù)莓派或其它小平板上的無(wú)頭app,你可以使用JavaScript管理基礎(chǔ)設(shè) 施和物聯(lián)網(wǎng)傳感器信息流,你也可以使用JavaScript為嵌入式系統(tǒng)編寫(xiě)芯片程序,可以用它控制機(jī)器人,你甚至還可以使用JavaScript支持媒 體中心連接電視體驗(yàn)。
就像我說(shuō)的……JavaScript無(wú)處不在。
生態(tài)系統(tǒng)
你不僅可以到處構(gòu)建和運(yùn)行JavaScript應(yīng)用程序。 JavaScript還有一個(gè)龐大而繁榮的開(kāi)發(fā)者生態(tài)系統(tǒng)。
JavaScript是GitHub上最活躍的語(yǔ)言,它不僅是所有代碼倉(cāng)庫(kù)中最活躍的,也是所有push/commit中最活躍的。
來(lái)自于http://githut.info/ 的可視化數(shù)據(jù)
這里有一些統(tǒng)計(jì)數(shù)據(jù)顯示了Node.js / npm.js的增長(zhǎng)幅度。
NPM統(tǒng)計(jì)
Node.js還在不斷增長(zhǎng)中。
圖表說(shuō)明了IBM重視Node.js和Strongloop。 30天時(shí)間里就有2.42億個(gè)@npmjs包!http://t.co/snDt88HQC5 pic.twitter.com/nRMwYyKmdo
——Rod Boothby(@ rod11)2015年9月10日
但是,種種這一切這并不意味著JavaScript就是適用于一切的***語(yǔ)言。也不意味著你取出一段源代碼就能照你想的那樣運(yùn)行在每一種設(shè)備和上下文中。
但是,你可以使用JavaScript技術(shù),去開(kāi)發(fā)幾乎任意類(lèi)型的設(shè)備/下上文。當(dāng)然,它不能一次編寫(xiě),就到處運(yùn)行,用React.js團(tuán)隊(duì)的話就是: learn once, write everywhere。
譯文鏈接:http://www.codeceo.com/article/why-we-pay-attention-to-javascript.html
英文原文:Why You Should Pay Attention To JavaScript
標(biāo)題名稱(chēng):我們程序員為什么要關(guān)注JavaScript?
網(wǎng)頁(yè)網(wǎng)址:http://m.5511xx.com/article/dhdeess.html


咨詢(xún)
建站咨詢(xún)
