RapydScript是一個將特定代碼轉換成JavaScript的預編譯器。支持使用Python語法來編寫程式,並可以將其編譯成可以在瀏覽器運行的JavaScript代碼。轉換後的代碼運行性能表現與純Javascript編寫的代碼是一樣的。 RapydScript與CoffeeScript很相似,但是由於它採用的是Python的語法,因而更加容易閱讀。
基本介紹
- 中文名:RapydScript
- 外文名:RapydScript
- 開發語言:Python,RapydScript,NodeJS
- 作者:AlexanderTsepkov
- 相關產品:GlowScript
編譯器簡介,編譯器特性,語言發展,
編譯器簡介
RapydScript(讀音”RapidScript”)本身是一個預編譯器,它支持使用與Python相近的語法編寫的代碼,並可以將其編譯為JavaScript。類似的項目還有CoffeeScript。但在語法上,RapydScript更加簡潔,更加易讀。並且還允許在代碼段中使用Javascript語法(嵌入式)。
起初RapydScript項目的創建,目的是給那些希望能用類似Python的語法編寫JavaScript的人一個替代Pyjamas方案,並且不會像Pyjamas那樣引入一些額外開銷和複雜性。
也就是說,RapydScript可以讓你用Python來編寫前端代碼,並且不會像其他類似框架那樣引入不必要的開銷。所以,它的性能幾乎與用純Javascript編寫的代碼一樣。
對那些熟悉CoffeeScript的人來說,RapydScript與CoffeeScript看起來是很相似。但是,RapydScript受到的不是Ruby靈巧性,而是Python可讀性的啟發。
對於熟悉Pyjamas的人來說,RapydScript與之相同地引入了大量的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上面。
語言發展
這是一個來自國外開源社區的新的腳本語言,雖然它剛剛興起,但是前景很廣闊,特別是藉助強大的Python社區。在知乎、豆瓣等帶動下,國內有著大量Python編程者。
目前國內已有人開始關注這門語言,雖然並不多。但是,就像Ruby愛好者推崇CoffeeScript一樣,Python愛好者也會對RapydScript表現出極大的熱情。