关于Dart与Golang
在chrome浏览器中嵌入一个Dart虚拟机,可以用Dart语言开发Web APP。虽然Dart声称通过Dart2JS可以编译成纯JS文件可运行在各个浏览器商,但一个Hello world的JS编译就让人成了笑话。但不排除未来的精进优化,要知道Dart的负责人是V8引擎负责人,V8是Chrome浏览器中的JS引擎,这是一款优秀的速度闪电的JS引擎,所以Dart JS技术的优化精进似乎不是问题。
Dart更像JAVA。而JAVA要么通过J2SE运行在操作系统桌面上,要么通过J2EE运行在服务器上,要么通过J2ME运行在手机上,还没有JAVA运行在浏览器中(早期Applet不说)。从语法复杂性来说,我个人的感受是Dart不亚于JAVA。 现在Android手机本地App用JAVA开发和C++开发。Android也和Chrome book正在融合。如果把Chrome就当作Android的桌面,Chrome 也有App Store。用Dart开发Chrome Web App,在Android上运行,也就看不出到底是Web App还是Client App。这样就统一了Web客户端APP和原生客户端APP。 在服务器端Google拥有Golang。过去Google写web APP用Python、写android App用JAVA与C++、写服务器端代码用JAVA和C++,现在有了Golang。但显然,Google是想利用android的统治力来推动Dart的普及,想利用云计算的统治力来推动Golang的普及。端+云才构成完整技术闭环世界。 这样来看,JAVA正在趋势退出Google。C++写服务器底层是必不可少也没有专有公司控制,但Dart和Golang在客户端/服务器端出现,Python和JAVA的退出就有隐线。 Google在技术方面,似乎在cpu芯片、服务器、路由器交换器/路由协议/DNS、服务器操作系统、分布式文件系统、移动平板操作系统、数据库、浏览器、开发语言方面都希望自成一套体系。尤其MysqL数据库和JAVA都在Oracle手中,对于巨头来说这必须要有自己的护城河。 过去Google收购Android,但一直无法控制android,Android团队似乎一直和google整体战略保持弱关系。随着人士斗争的结束,Android终于回到Google的掌控手心,开始和Chrome整合、和Chrome book整合、推出Android开发IDE。 世界的另一端是Javascript。 现在浏览器Web页面动作语言是Javascript,可跨浏览器,有很成熟的框架、大量的程序员和社区。 Node.JS是借助V8引擎可以在服务器端运行。Node.js是Javascript语言。但Node.js并不是由V8负责人发明的。 一个Google自己的世界,一个是开源世界,两个世界会并行存在谁也不会强过谁或谁衰退,只是另一种选择,你喜欢你就用。