RapydScript:將特定代碼轉換成JavaScript的預編譯器

jopen 9年前發布 | 9K 次閱讀 RapydScript

是什么?

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,點擊下面鏈接了解: