來體驗一下2019
年最快的Javascript
框架:
速度是純nodejs
的2
倍,更不用說其他依賴nodejs
的框架例如express/koa/hapi
了,根本不值一提,不但如此,性能還能吊打spring
以及一衆php7
框架。
百聞不如一見,下面我們就來安裝嚐鮮:
npm install -g es4x-pm
這就裝好了。下面我們來用它創建一個項目,新建一個空文件夾,然後:
es4x init
項目就建好了。
我們需要寫一個最簡單的index.js文件:
console.log('hello')
直接啓動吧:
yarn start
嗯,報了個錯誤:
error package.json: Name can't start with a dot
我們package.json
裏的名字不能只是一個點,得改一下:
"name": "hello",
再次啓動,還是啓不起,哦,我們還沒有安裝依賴:
yarn add @vertx/core
這樣就能運行了,但是會報一個警告:
ES4X is using graaljs in interpreted mode! Add the JVMCI compiler module in order to run in optimal mode!
對於我們這樣有潔癖的人不能忍受啊。
這是因爲我們現在系統環境裏的Java
還是個舊的Java
,而Oracle
最新推出的Graal
纔是最新最好的Java
,所以我們先安裝一下Graal
:
brew cask install graalvm/tap/graalvm-ce
再次執行yarn start
現在警告也沒有了,一切順利!
試着寫點ES6
的語法:
const a = () => {
console.log('hello')
}
a()
一樣可以順利執行!
再往後就是生成http
服務器,連接mysql
等等,這些就跟其他框架大同小異了,不再細講。
原理
我始終認爲,用什麼語言根本就是無所謂的,只有外行纔講什麼語言是最快的。JS
慢只是因爲底層的Node
慢,而Node
的V8
引擎又不是拿JS
寫的,而是拿C++
寫的。
現在的這個es4x (中文文檔)它一樣能解釋JS
語言,只不過它的底層換成了Java
,用的是Eclipse
的Vert.x技術,而原生的Vert.x
技術用的是Java
舊版引擎,對ES6
支持不好,換成Oracle
最新的GraalVM就一切都解決了。當然也不能就此說C++
比Java
慢,那樣你就又淺薄了。
有人擡槓說JS
不能寫操作系統底層,有什麼不能寫的?無非就是個語言而已,你把它編譯成二進制就什麼都能幹了,沒聽說過nexe嗎?
學了編譯原理,你就知道語言是什麼根本不重要。會說中文的沒有必要看不起會說英文的,會說英文的沒有必要看不起會說中文的,什麼語言好,放在工程項目當中,重要的只是生態,其他都沒有可比性。