20

来体验一下2019年最快的Javascript框架:

图片描述

速度是纯nodejs2倍,更不用说其他依赖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慢,而NodeV8引擎又不是拿JS写的,而是拿C++写的。

现在的这个es4x (中文文档)它一样能解释JS语言,只不过它的底层换成了Java,用的是EclipseVert.x技术,而原生的Vert.x技术用的是Java旧版引擎,对ES6支持不好,换成Oracle最新的GraalVM就一切都解决了。当然也不能就此说C++Java慢,那样你就又浅薄了。

有人抬杠说JS不能写操作系统底层,有什么不能写的?无非就是个语言而已,你把它编译成二进制就什么都能干了,没听说过nexe吗?

学了编译原理,你就知道语言是什么根本不重要。会说中文的没有必要看不起会说英文的,会说英文的没有必要看不起会说中文的,什么语言好,放在工程项目当中,重要的只是生态,其他都没有可比性。


张京
13.4k 声望4.7k 粉丝

现任北京联云天下科技有限公司技术副总裁。1994年毕业于清华大学计算机科学与技术专业;20多年软件开发及项目管理经验;历任亚洲生活网络公司CTO,摩托罗拉软件中心QSE工具经理,融信恒通技术总监,安必信软件公...