JavaScripthon - Pythonで書いてES6のコードを生成
今のところ、Webブラウザで適切に動作が保証されているプログラミング言語はJavaScriptしかありません。そのため、Webアプリケーションを開発する上でJavaScriptの習得は必須なのですが、なるべくなら書きたくないという方も多いです。 もしあなたがPythonプログラマーであれば使ってみたいのがJavaScripthonです。PythonコードからECMAScript2016(ES6)へ変換してくれるソフトウェアです。
JavaScripthonの使い方
コード例です。普通にPythonのコードに見えます。
# -*- coding: utf-8 -*-
# :Project: metapensiero.pj
# :Author: Andrew Schaaf <andrew @andrewschaaf.com>
# :License: See LICENSE file
#
from mylib.color import Color
from mylib.tweening import Tween, easeInOut
from mylib.random import randint
CHANGE_EVERY = 1000
TRANSITION_DURATION = 250
class Controller:
def __init__(self):
self._newColor = self._oldColor = Color(255, 255, 255)
self._changeColor()
def _changeColor(self):
self._oldColor = self._newColor
self._newColor = Color(
randint(0, 255),
randint(0, 255),
randint(0, 255))
def callback(t):
transient_color = self._oldColor._interpolatedToward(self._newColor, t)
document.body.style.background = transient_color ._webString()
def onComplete(t):
document.title = self._newColor._webString()
Tween({
'_duration': TRANSITION_DURATION,
'_callback': callback,
'_easing': easeInOut,
'_onComplete': onComplete,
})
setTimeout(self._changeColor.bind(self), CHANGE_EVERY)
def main():
print("Hello World")
Controller()
window.colorflash = {
'main': main,
}
これを実行したのが次のコードです。
ソースマップに対応しているので、Pythonのコード上でデバッグができます。
ブレークポイントも使えます。
ES6に対応しているとあって、生成されるコードもモダンなJavaScriptとなっています。可読性も高く、いざという時にのJavaScriptコードもデバッグしやすいのではないでしょうか。
JavaScripthonはPython製、GPL v3のオープンソース・ソフトウェアです。
azazel75/metapensiero.pj: Javascript for refined palates: a Python 3 to ES6 Javascript translator