摘要:首先很遺憾的一點(diǎn)是,雖然是最好的語言,但是它不是最流行的語言。屬于配置比較高的硬件,而低配的呢三星設(shè)計(jì)了引擎,它能夠運(yùn)行在小于內(nèi)存上,且全部代碼能夠存儲在不足的只讀存儲上。你覺得還能做什么
首先很遺憾的一點(diǎn)是,“PHP雖然是最好的語言”,但是它不是最流行的語言。
同時(shí)對不起的還有剛剛在4月TIOBE編程語言排行榜上上榜的各個(gè)語言:
你們都很棒,但是你們都擔(dān)當(dāng)不了這個(gè)大任。
在開始之前,我先說一下我常用的三個(gè)語言:Java、JavaScript、Python。
Java,讓我學(xué)到了很多架構(gòu)層級的知識,這一點(diǎn)可以參考我之前寫的架構(gòu)相關(guān)文檔。雖然我一點(diǎn)兒也不喜歡這個(gè)語言,但是它真的很棒。
Python,它真的足夠簡單,以至于我喜歡拿它學(xué)習(xí)各種理論知識,如推薦系統(tǒng)、貝葉斯定理、自然語言處理等等。
JavaScript,看下文。
數(shù)據(jù)可視化
在過去我閱讀的一些書籍里面,主要是以Processing作為可視化的語言——它起始于2001年,它最初是面向美術(shù)工作者和設(shè)計(jì)者創(chuàng)建的,后來變成了全面的設(shè)計(jì)和原型工具,可以用于創(chuàng)建復(fù)雜數(shù)據(jù)可視化領(lǐng)域。
Processing被帶入了到Web領(lǐng)域產(chǎn)生了Processing.js,還出現(xiàn)了D3.js。
當(dāng)然還有Plotly、Leaflet、Sigma JS等等的工具。
移動端應(yīng)用: Cordova
接著就是PhoneGap(今天的Cordova),將WebView帶向了移動應(yīng)用,也將JavaScript帶向了移動應(yīng)用。
使用Cordova,可以讓我們一次開發(fā)多平臺發(fā)布。我們也順便提一下Ionic,作為混合應(yīng)用的翹楚:
移動端應(yīng)用: React Native
既然我們已經(jīng)提到了Cordova,那么我們也應(yīng)該說說React Native。也是一次開發(fā)多次運(yùn)行:
雖然它的坑還有很多,但是還是值得期待的。
移動端平臺: DeviceOne
既然我們已經(jīng)提到了React Nativie,那么我們也應(yīng)該說說DeviceOne。也是一次開發(fā)多次運(yùn)行:
目前唯一一個(gè)使用javascript來實(shí)現(xiàn)原生跨平臺的(android、ios、windows)。
服務(wù)端:Node.js
正是V8的性能將JavaScript帶到了一個(gè)新的高度,于是Node.js誕生了——前端、后臺都可以用JavaScript,一個(gè)JavaScript的全棧時(shí)代。
Mongodb作為數(shù)據(jù)庫,Express作為Server端MVC,他們可以提供一個(gè)RESTful服務(wù),那么再加上MVVM框架的Angular.js,你就知道我在說什么!
桌面應(yīng)用: NW.js 和 Electron
NW.js 是基于 Chromium 和 Node.js 運(yùn)行的, 它們可以讓我們用HTML和JavaScript來制作桌面應(yīng)用。除了NW.js還有最近比較火的Electron,Atom編輯器的
與Cordova的多平臺構(gòu)建多版本不同的是,Electron可以在一個(gè)平臺上構(gòu)建多個(gè)平臺的應(yīng)用。即我們可以在Mac OS上打包出Linux和Windows上的應(yīng)用,而不需要在Windows再編譯一次。
帶向了桌面端,讓桌面和Web保持了一致。最成功的案例就是估值達(dá)30億美元的Slack:
So,如果你使用桌面端的Slack就會很卡。
全平臺應(yīng)用
我曾經(jīng)寫過一篇《一份代碼構(gòu)建移動、桌面、Web全平臺應(yīng)用》,在Eletcron上運(yùn)行Ionic,就意味著無限的可能性。
游戲
自從WebGL被帶入瀏覽器的那一刻,就決定了這又是一個(gè)新的天地。
讓我們忘記編譯、啟動更新、外掛等等的問題,并且我們還可以一次開發(fā)直接運(yùn)行。
VR
如果你看到過之前的那篇《JavaScript在VR世界的應(yīng)用》,那么你就會對這個(gè)內(nèi)容有更多的印象。
主要思想還是通過WebView來渲染VR視角:
并且各瀏覽器產(chǎn)商各在推進(jìn)WebVR 為虛擬現(xiàn)實(shí)設(shè)備顯示提供支持。
AR
雖然大部分的AR應(yīng)用可能離我們有點(diǎn)遠(yuǎn),但是離我們最近的就是Leap Motion——它可以利用手掌和手指動作來進(jìn)行輸入,但無需手部接觸或者觸摸。
同理于VR,讀取傳感器的數(shù)據(jù),再將其手勢交由瀏覽器端來處理。詳細(xì)可以參考我之前寫的:《Leap Motion JavaScript開發(fā) 手勢控制基礎(chǔ)篇》
硬件
早先我看到了Arduino在編譯的時(shí)候以DSL的方式封裝了API。而NodeMCU則內(nèi)建了Lua語言的支持,可以讓開始者使用Lua來開始。 而Tessel 原生就提供了JavaScript運(yùn)行環(huán)境,我們寫需要寫好JavaScript就可以在上面運(yùn)行。
Tessel 2屬于配置比較高的硬件,而低配的呢?
三星設(shè)計(jì)了JerryScript引擎,它能夠運(yùn)行在小于64KB內(nèi)存上,且全部代碼能夠存儲在不足200KB的只讀存儲(ROM)上。
想想就覺得未來是美好的。
物聯(lián)網(wǎng)
等等,上面三星推出的是IoT.js,這就意味著它已經(jīng)可以在物聯(lián)網(wǎng)領(lǐng)域中應(yīng)用了,為什么還會有這里的應(yīng)用呢?我只是想稍微提一下這個(gè):
上面說到的只是Node.js在Web中的應(yīng)用,而物聯(lián)網(wǎng)和Web的很大不同之處在于,物聯(lián)網(wǎng)可以使用各種不同的協(xié)議,而這些協(xié)議都需要Node.js對其的支持。
因此,如果我們需要開始Web版、移動應(yīng)用,那么我們自然更需要其作為后臺。
操作系統(tǒng)界面
雖然更好的機(jī)器帶來了更好的性能,但是顯然人們對于原生應(yīng)用的需求并沒有那么強(qiáng)烈。Firefox OS已經(jīng)在移動操作系統(tǒng)敗下陣來,但是這個(gè)操作被帶到了物聯(lián)網(wǎng)領(lǐng)域:
這就意味著,我們可以使用JavaScript來開發(fā)操作系統(tǒng)的界面了。
你覺得JavaScript還能做什么?
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://www.ezyhdfw.cn/yun/54325.html
摘要:首先很遺憾的一點(diǎn)是,雖然是最好的語言,但是它不是最流行的語言。屬于配置比較高的硬件,而低配的呢三星設(shè)計(jì)了引擎,它能夠運(yùn)行在小于內(nèi)存上,且全部代碼能夠存儲在不足的只讀存儲上。你覺得還能做什么 首先很遺憾的一點(diǎn)是,PHP雖然是最好的語言,但是它不是最流行的語言。showImg(https://segmentfault.com/img/bVvqTs);同時(shí)對不起的還有剛剛在4月TIOBE編程...
摘要:數(shù)據(jù)科學(xué)包括機(jī)器學(xué)習(xí),數(shù)據(jù)分析和數(shù)據(jù)可視化首先,機(jī)器學(xué)習(xí)是什么解釋機(jī)器學(xué)習(xí)的最佳方法是給你一個(gè)簡單的例子。機(jī)器學(xué)習(xí)算法的工作方式大致相同。這是一個(gè)人們競爭為特定問題構(gòu)建最佳機(jī)器學(xué)習(xí)算法的網(wǎng)站。 showImg(https://segmentfault.com/img/remote/1460000018887722); 來源 | 愿碼(ChainDesk.CN)內(nèi)容編輯 愿碼Sloga...
摘要:但我還是使用它開發(fā)了很多軟件。那么問題就很明顯了為什么今天還在使用除了個(gè)人理想主義的偏好以外,還有很多理由。為什么使用而不是也許和比較的最重要的語言是。為什么選擇而不是你已有專業(yè)知識或者在使用庫。 showImg(https://segmentfault.com/img/remote/1460000018390090?w=790&h=466); 我們來開門見山地說。? PHP 是一門奇...
摘要:調(diào)用棧是單線程編程語言,意味著它只有單一的調(diào)用棧。調(diào)用棧是一種數(shù)據(jù)結(jié)構(gòu),基本記錄了程序運(yùn)行的位置。舉個(gè)例子,先來看如下所示的代碼當(dāng)引擎開始執(zhí)行這段代碼時(shí),調(diào)用棧將是空的。這正是拋出異常時(shí)棧追蹤的構(gòu)造過程這基本上就是異常拋出時(shí)調(diào)用棧的狀態(tài)。 原文 How JavaScript works: an overview of the engine, the runtime, and the c...
閱讀 3905·2021-11-24 09:39
閱讀 1874·2021-11-02 14:41
閱讀 874·2019-08-30 15:53
閱讀 3537·2019-08-29 12:43
閱讀 1267·2019-08-29 12:31
閱讀 3142·2019-08-26 13:50
閱讀 862·2019-08-26 13:45
閱讀 1065·2019-08-26 10:56