RapydScript:将特定代码转换成JavaScript的预编译器

jopen 10年前

是什么?

RapydScript是一个将特定代码转换成JavaScript的预编译器。支持使用Python语法来编写程序,然后再将其转换成 JavaScrip。转换后的代码运行性能表现与纯Javascript编写的代码是一样的。与CoffeeScript很相似,但在语法 上,RapydScript更加简洁,更加易读。并且还允许在代码段中使用Javascript语法(嵌入式)。

起初RapydScript项目的创建,目的是给那些希望能用类似Python的语法编写JavaScript的人一个替代Pyjamas方案,它不会像Pyjamas那样引入一些额外开销和复杂性。

对于熟悉Pyjamas的人来说,RapydScrip引入了许多相同的Python特性和语法支持,但不会带来同样的额外开销。

如果你没有使用过上面提到的两个编译器,那么也不用着急。要是你曾使用过纯Javascript艰难地编写过代码,那么你一定会喜爱上 Rapydscript。Rapydscript将Python和JavaScript两者的特性做了最好地结合,并带给你大多数其他Pythonic的 JavaScript替代方案所没有的特性:

  • 类(Class):使用和感觉上都与Python相似。
  • 模块(module):用于逻辑上抽象,并具有与Python模块相比的更多灵活性。
  • 可选的函数参数:使用与Python相似。
  • 继承机制:比Python还要强大,并且比JavaScript更简洁。
  • 支持定义匿名函数对象:与JavaScript的匿名函数相同。
  • 在代码中直接调外部的JavaScript/DOM 对象/函数/方法。不需要使用特殊的语法,并且不用管他们是不是在同一个框架中。
  • 变量和对象具有有意义的作用域,再也不需要重复那些 ”var“ 或者 ”new“关键字了。
  • 两种方式定义方法或函数。可以使用Python的定义方式,也可以使用JavaScript的定义方式。
  • Python或JavaScript的教程(tutorial)都可以用于学习使用,包括那些小部件。
  • self-hosting:编译器本身就是用RapydScript编写,然后编译成JavaScript代码,最终运行在NodeJS上面的。

下面是一个集成jQuery的例子:

RapydScript:将特定代码转换成JavaScript的预编译器

安装

首先确定你已经安装了node.js的最新版本(这一步之后可能需要您重启电脑),同时还需要你安装optimist库。

从NPM用作命令行应用:

npm install rapydscript -g

编程使用:

npm install rapydscript

从Git:

RapydScript:将特定代码转换成JavaScript的预编译器

如果你用的是OSX,你可以使用相同的命令。如果是Windows,你应该在安装完node.js后遵循类似的命令。

当你安装完rapydscript之后,运行下面的命令会让编译应用变得会场简单:

rapydscript [options]

注意

RapydScript在使用类生成时会自动附加新关键字,它不会将其附加到其他库所创建得到对象上。但是它会将其附加到本地JavaScript对象上,比如Image和RegExp。

jQuery错误的假设没有其他的库会修改JavaScript的对象,并不能正确的执行object.hasOwnProperty()检查它应 该检查的地方。所以我们必须贯彻标准函数库,这样dictionary方法就是不同对象的方法。常规的Python允许你调用hash.keys()和 dict.keys(hash),而RapydScript仅支持第二点——这是无可否认的痛点。


完整的指南可查看其在GitHub上的地址,点此进入

如果你有问题、Bug报告,或特性请求,点击这里提交

这里有几个展示RapydScript的Demo,点击下面链接了解:

来自:http://geek.csdn.net/news/detail/30917