设为首页收藏本站

LUPA开源社区

 找回密码
 注册
文章 帖子 博客
LUPA开源社区 首页 业界资讯 开源资讯 查看内容

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

2015-4-16 22:28| 发布者: joejoe0332| 查看: 996| 评论: 0|原作者: 陈明|来自: CSDN

摘要: RapydScript是一个将特定代码转换成JavaScript的预编译器。支持使用Python语法来编写程序,然后再将其转换成JavaScrip。转换后的代码运行性能表现与纯Javascript编写的代码是一样的。与CoffeeScript很相似,但在语法 ...

是什么?

  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的例子:


data/attachment/portal/201504/16/222730dzfmg55twcl8w58t.jpg


安装

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


安装

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


从NPM用作命令行应用:

npm install rapydscript -g


编程使用:

npm install rapydscript

从Git:

data/attachment/portal/201504/16/222730t3ta5km3k5uavgnn.jpg

  如果你用的是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,点击下面链接了解:


酷毙

雷人

鲜花

鸡蛋

漂亮
  • 快毕业了,没工作经验,
    找份工作好难啊?
    赶紧去人才芯片公司磨练吧!!

最新评论

关于LUPA|人才芯片工程|人才招聘|LUPA认证|LUPA教育|LUPA开源社区 ( 浙B2-20090187 浙公网安备 33010602006705号   

返回顶部