JavaScript起源于Netscape公司的LiveScript语言,这是一种基于对象和事件驱动的客户端脚本语言,最初的设计是为了检验HTML表单输入的正确性。 早些年,JavaScript由于其复杂的文档对象模型(DOM)、糟糕的实现和调试工具、不一致的浏览器实现而不受开发者的待见。而随着技术的发展, JavaScript变得越来越的强大、完善,比如, Ajax技术可以创建更加迷人的Web应用,Node.js将JavaScript的应用范围扩展到了服务器端,各种层出不穷的框架使得JavaScript的开发更加简捷,尤其是近几年HTML5的出现,将 JavaScript提升到了前所未有的高度。 如今 JavaScript已经变成了Web开发必备的语言,甚至开始逐步向移动领域渗透,由于JavaScript的跨平台特性,使得它在移动互联网时代有更大的作为。 凡是可以用 JavaScript 来写的应用,最终都会用 JavaScript 来写。 不会JavaScript怎么办?如今 JavaScript已经成为了Web开发的“标配”语言,不管你喜不喜欢,在Web开发中,必定要涉及到JavaScript。JavaScript可以实现真正的“一次编写,到处运行”,并可以控制所有常用的浏览器,因此,JavaScript 还被称作“Web的虚拟机”以及“Web上的汇编语言”。 尽管如此,但是如果你还没开始学习JavaScript,这也不影响你编写Web应用。你完全可以用你喜欢的语言(Java、.NET、C/C++、Python、Ruby……)来编写应用程序,然后将它们编译为JavaScript语言,然后再运行于浏览器上。 如果你对JavaScript的语法不满意,你也可以使用一些JavaScript的增强版语言。比如,如果你更喜欢经典的面向对象方式,并想要一些语法糖,那么你可以试试CoffeeScript;如果你希望有一个更严格的类型系统,那么你可能会发现Dart或TypeScript更有趣一些;如果你更喜欢函数式编程,那么ClojureScript或Roy可以帮助你。 将你擅长的语言编译为JavaScript将Java代码编译为JavaScript 尽管JavaScript名字中包含“Java”,实际上JavaScript和Java没有任何关系,只是由于当时Java火得一塌糊涂,为了借助Java的名气来推广,就起名为JavaScript了。 各种强大的工具的出现,使得JavaScript代码和Java代码之间有了一定的联系,就是可以将Java代码编译为JavaScript代码,以便在浏览器中运行。当然,除了Java外,其他基于JVM的语言都可以如此做。 可以实现此类操作的工具如下。
将C/C++代码编译为JavaScript C/C++如今也可以用来编写Web应用程序,同样可以将它们编译为JavaScript。一些工具如下。
由于Emscripten可以将LLVM二进制代码编译成JavaScript,LLVM是一种很流行的中间编译格式,几乎所有语言都有LLVM编译器,因此Emscripten也可以作为大部分语言转换为JavaScript的通用工具。 将Python代码编译为JavaScript 可以使用如下工具将Python代码编译为JavaScript代码。
将Ruby代码编译为JavaScript 在Ruby领域,有一个使用JavaScript实现的Ruby标准库—— RubyJS,它实现了Ruby中的所有方法,如Array、Numbers、Time等。Ruby之父松本行弘称“如果我必须编写JavaScript代码,我会使用RubyJS”。 另外,你也可以使用如下工具将Ruby代码编译为JavaScript代码。
将.NET代码编译为JavaScript 你可以使用如下工具将C#、F#以及其他.NET代码编译为JavaScript代码。
将Scala代码编译为JavaScript 你可以使用如下工具将Scala代码编译为JavaScript代码。
将Flash转换为JavaScript HTML5(HTML/JavaScript/CSS3技术组合)的最大对手就是Flash,尽管目前Flash的市场份额还高居70%,但也不可否认,未来将是HTML5的天下。 就连Flash的开发商Adobe也开始拥抱HTML5,并发布了Toolkit for CreateJS工具,方便Web开发者将Flash转换为HTML5格式。 去年,Google曾发布了一套基于网页的的工具——Swiffy,在线即可将SWF格式的Flash文件转化为HTML5格式。 除了转换外,Mozilla还推出了一个新的解决方案——Shumway,这是一个“基于JavaScript的Flash虚拟机和运行时”,目的是在浏览器中构建一个可靠有效的SWF(Flash文件格式)渲染器,无需插件直接在浏览器中运行Flash。 由此可见,这些工具将进一步加速HTML5取代Flash的步伐。 其他编译工具 |