티스토리 뷰

지금은 Web 브라우저에서 제대로 동작하는 프로그래밍 언어는 


JavaScript 밖에 없습니다. 


따라서 Web 응용 프로그램을 개발하는 데 JavaScript의 습득은 필수입니다 만, 


가급적이면 쓰고 싶지 않은 분들도 많습니다. 


만약 당신이 Python 프로그래머라면 사용해보고 싶은 것이 JavaScripthon입니다. 


Python 코드에서 ECMAScript2016 (ES6)로 변환 해주는 소프트웨어입니다.



JavaScripthon 사용 코드 예입니다. 


일반적으로 Python 코드 보입니다.



  1. # -*- coding: utf-8 -*-
  2. # :Project: metapensiero.pj
  3. # :Author: Andrew Schaaf <andrew @andrewschaaf.com>
  4. # :License: See LICENSE file
  5. #
  6. from mylib.color import Color
  7. from mylib.tweening import Tween, easeInOut
  8. from mylib.random import randint
  9. CHANGE_EVERY = 1000
  10. TRANSITION_DURATION = 250
  11. class Controller:
  12. def __init__(self):
  13. self._newColor = self._oldColor = Color(255, 255, 255)
  14. self._changeColor()
  15. def _changeColor(self):
  16. self._oldColor = self._newColor
  17. self._newColor = Color(
  18. randint(0, 255),
  19. randint(0, 255),
  20. randint(0, 255))
  21. def callback(t):
  22. transient_color = self._oldColor._interpolatedToward(self._newColor, t)
  23. document.body.style.background = transient_color ._webString()
  24. def onComplete(t):
  25. document.title = self._newColor._webString()
  26. Tween({
  27. '_duration': TRANSITION_DURATION,
  28. '_callback': callback,
  29. '_easing': easeInOut,
  30. '_onComplete': onComplete,
  31. })
  32. setTimeout(self._changeColor.bind(self), CHANGE_EVERY)
  33. def main():
  34. print("Hello World")
  35. Controller()
  36. window.colorflash = {
  37. 'main': main,
  38. }

이를 실행 한 것이 다음의 코드입니다.






소스 맵에 대응하고 있기 때문에, Python 코드에서 디버깅 수 있습니다.


브레이크 포인트도 사용할 수 있습니다.


ES6에 대응하고 있다고 있고, 


생성 된 코드는 JavaScript가되고 있습니다. 


가독성도 높고, 만일의 경우에 JavaScript 코드도 디버깅하기 쉬운 것이 아닐까요. 


JavaScripthon는 Python 제, GPL v3의 오픈 소스 소프트웨어입니다.



azazel75/metapensiero.pj: Javascript for refined palates: a Python 3 to ES6 Javascript translator



댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/05   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
글 보관함