Web Script之战

近几年,Web领域几乎每天都在发生变化,JavaScript的流行,HTML5和CSS3的制定,牵动着无数Web开发者的心.

JavaScript现在以无可撼动的姿态屹立于Web Script之巅,静候着下一个对手.

多年之前Microsoft公司的脚本语言VBScript无法击败它,最终IE被迫走向了JScript之路.

Adobe公司的Flash日渐衰败,ActionScript的效率问题使它在近几年将逐渐被HTML5和JavaScript的组合所取代.

Microsoft的SilverLight以及Oracle的Java更不必说.

随着浏览器(Browser)和解释引擎(Engine)的日益强大,JavaScript作为一门语言的影响力也日渐深厚.

现在JavaScript的领域早已超出Web,走向桌面程序和服务器应用.

新的战役-New Battle

JavaScript作为世界上最流行的语言之一,必然有新的对手在等待着它.

比如,Google公司的Dart语言.Dart语言在很大程度上弥补了JavaScript的设计缺陷,降低了学习JavaScript带来的成本.

即便Dart和JavaScript存在很大不同,但它确实有可能在未来击败JavaScript.

我在博客中也编写着关于Dart的教程,这是一门不错的语言,即便现在它还很幼小.

Microsoft公司作为IT界的万年搅屎棍,近期发布了TypeScript语言,和Dart一样,它可以以JavaScript的形式呈现,与Dart不同的是,TypeScript兼容JavaScript的语法.

TypeScript的强大兼容性带来了无穷的诱惑,试想现有的JavaScript库可以直接使用在TypeScript中,是件多么美妙的事情.

TypeScript相比Dart更加年轻,因为与JavaScript关系密切,其未来的影响力难以预计.

CoffeeScript可能没什么人听说过,它是由Ruby编写的新语言,在原语法上进行了改进,新的语法比原生的更为优雅,按其官方的介绍,CoffeeScript拥有比JavaScript更快的书写速度.

毫无疑问CoffeeScript也加入了战斗,Ruby作为Lisp同根生的Python多年互撸的好基友,在撸死PyvaScript之后将与JavaScript争夺天地.

纵观全局-In All

无论是Dart,TypeScript还是CoffeeScript,都是在JavaScript存在缺陷为前提进行开发的语言.

JavaScript的语法标准来自ECMAScript,如果ECMAScript的下一代标准ES Harmony中能填补缺口,那么Dart,TypeScript和CoffeeScript的竞争力将不复存在.

Google养儿子是出了名的,Dart作为亲生骨肉难以割舍,所以它用的是全新的语法体系,这样即便无法替代JavaScript,也能继续朝着好的方向发展(比如和Go语言一样做服务器软件).

Microsoft这根老油条明显是打着算盘发布TypeScript的,TypeScript的高兼容性使它失败也能回到JavaScript继续发挥作用.

CoffeeScript显然没有战略性,单纯作为一个开源项目发展,一切要看Ruby社区的努力,能否出人头地还很难说.

何去何从-Where To Go

文章开篇我就提到,Web领域几乎每天都在发生变化,对于开发者来说,该怎么去面对形形色色的新语言着实是一件麻烦事.

不过现在,打好JavaScript的基础才是关键,这之后你可以很快的切换到Dart,TypeScript,CoffeeScript上,当然如果日后出现了更为强大的语言打破现在的三国局面,就会有更多的选择余地.

值得庆幸的是,Dart,TypeScript,CoffeeScript都Open Source,再加上本来就有技术人员支持,理应会以好的状态发展下去.

说句题外话,Microsoft公司让TypeScript开源,是一件很难得的事,TypeScript是否能脱离封闭成为Microsoft手下开源语言的领头人,值得关注.

国内发展-Developing

现在国内的技术水平还普遍停留在以JavaScript为主的浏览器应用阶段,JavaScript强大的触手往外伸最多只能碰到服务器应用领域,发展及其缓慢.

在老式IE浏览器和愚笨的使用者的共同阻碍下,想要在让JavaScript作为主要力量作用于应用领域十分困难.

目前只有大企业或者创业公司有这个实力和时间去研究新兴技术,但在无盈利下的大环境内,前景令人担忧.