立即注册
 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
广州大学城网业务调整

[Java/JSP] JavaScript 的替代品 [复制链接] qrcode

查看: 4091 | 回复: 1

广州邓海燕
发表于: 2013-1-13 11:01:12 | 显示全部楼层

JavaScript几乎无处不在,HTML5的出现,使得JavaScript达到了前所未有的高度。如今,JavaScript已经开始向移动应用开发领域渗透,成为开发跨平台应用不可或缺的语言。


如果你不会JavaScript,或者你对JavaScript的语法不满意,这一点都不影响你的web应用的开发工作,相反,你可以使用其他语言来代替JavaScript。尽管目前的浏览器尚不支持这些语言,但你可以将它们编译成为JavaScript代码。


比如,如果你更喜欢经典的面向对象方式,并想要一些语法糖,那么你可以试试CoffeeScript;如果你希望有一个更严格的类型系统,那么你可能会发现Dart或TypeScript更有趣一些;如果你更喜欢函数式编程,那么ClojureScript或Roy可以帮助你。


下面就是一些JavaScript的替代方案。
这些语言之所以能够成为JavaScript潜在的替代品(实际上还无法替代),说明它们足够优秀,而它们优秀的原因,正是因为它们“站在JavaScript的肩膀上”。


1.  CoffeeScript

CoffeeScript是一个使用纯Ruby编写的编程语言,创建者Jeremy Ashkenas戏称它是“JavaScript的不那么铺张卖弄的小兄弟”。优势如下:


    [li]CoffeeScript只使用了JavaScript的“精髓”,抛弃了原来JavaScript晦涩、容易出问题的那部分东西,如全局变量声明、with等。[/li][li]CoffeeScript提供了很多语法糖,让代码更优雅可读。[/li][li]CoffeeScript还提供了一个机会,让你现在就可以使用ECMAScript的新特性。[/li]


2.  Dart

Dart是谷歌推出的一种基于类的可选类型化编程语言,主要用于创建Web应用程序。谷歌称,Dart的设计目标是为Web编程创造结构化但又富有灵活性的语言;编程方法一目了然,符合程序员的自然习惯,易于学习;能在所有浏览器和不同环境中实现高性能。


Dart代码以两种方式执行,一种是原生虚拟机,一种是JavaScript引擎,用编译器将Dart代码翻译成 JavaScript代码。这允许程序员在Dart中创建Web应用,编译后在任何浏览器上运行。




3.  TypeScript

TypeScript是微软开发的开源编程语言,它是JavaScript的一个超集,而且本质上向这个语言添加了可选的静态类型和基于类的面向对象编程。TypeScript扩展了JavaScript的句法,所以任何现有的JavaScript程序可以不加改变的在TypeScript下工作。TypeScript是为大型应用之开发而设计,而编译时它产生 JavaScript 以确保兼容性。




4.  ClojureScript


ClojureScript是由Clojure的创建者Rich Hickey推出的,目标是“做Javascript所能做到的事情”。它是LISP 和 Java 技术结合的产物,兼具函数编程和Java平台的优势,聚焦于低错和易用的并发编程,同时足以完成一个通用编程语言的各种任务。你可以通过ClojureScript使用Clojure语言编写代码,然后将其编译为Javascript。


5.  Opal

一个可将Ruby代码转换为JavaScript的编译器。




6.  IcedCoffeeScript
这是Coffeescript语言的扩展集。iced解析器是标准coffee解释器的非正式替代方案,因为它能解释所有现存的Coffeescript程序。它添加了2个关键字:await 和 defer,为浏览器和服务器两者提供了强大的异步控制功能。




7.  LiveScript

LiveScript是
Coco
的一个分支,是CoffeeScript的间接子集,并在面向对象和命令式编程方面进行了诸多改进。其代码可以编译成JavaScript。




8.  Kaffeine
Kaffeine是JavaScript语法的扩展,与JavaScript非常类似,代码可以直接编译成JavaScript。




9.  Roy

Roy是一个以JavaScript为目标的试验性的编程语言,试图融合JavaScript语义和静态函数语言的一些特点,如Damas-Hindley-Milner类型接口、缩进语法、编译时元编程、模式匹配、Monad语法等。


跳转到指定楼层
ll123122
发表于: 2013-1-13 23:14:02 | 显示全部楼层

   沙发
快速回复 返回顶部 返回列表