development

Python과 JavaScript를 통합하는 가장 좋은 방법은 무엇입니까?

big-blog 2020. 11. 28. 09:46
반응형

Python과 JavaScript를 통합하는 가장 좋은 방법은 무엇입니까?


Python과 JavaScript를 통합 할 수 있습니까? 예를 들어 JavaScript에서 클래스를 정의하고 Python에서 클래스를 사용할 수 있기를 원한다고 가정 해보십시오 (또는 그 반대로). 그렇다면 가장 좋은 방법은 무엇입니까? 나는 이것이 가능한지뿐만 아니라 누군가가 "심각한"프로젝트 나 제품 내에서 그렇게 했는지에 관심이 있습니다 .

예를 들어 JythonRhino를 사용하면 가능할 것이라고 생각 하지만 실제로이 작업을 수행 한 사람이 있는지 여부와 다른 플랫폼 (특히 CPython )에 대한 솔루션이 있는지 궁금합니다 .


여기 SeaMonkey 자바 스크립트 인터프리터를 둘러싼 파이썬 래퍼가 있습니다 ... http://pypi.python.org/pypi/python-spidermonkey


pyjs어떻 습니까?

위 웹 사이트에서 :

pyjs는 웹과 데스크톱을위한 RIA (Rich Internet Application) 개발 플랫폼입니다. pyjs를 사용하면 JavaScript 기반 웹 애플리케이션을 완전히 Python으로 작성할 수 있습니다.


이 질문은 정확히 젊지는 않지만 몇 가지 대안이 있습니다.

  • " Skulpt완전히 브라우저 내에서 구현 된 Python입니다."
  • Brython- "클라이언트 측 웹 프로그래밍을위한 Python 3 구현"
  • RapydScript- "추가 오버 헤드 나 별다른 문제가없는 Python과 유사한 JavaScript"
  • Transcrypt- "다중 상속, 소스 맵, 정적 유형 검사 및 선택적 연산자 오버로딩을 사용하는 JavaScript 컴파일러에 대한 간결한 Python 3.6." (또한 Github에서 )

파이썬 객체와 자바 스크립트 객체 사이에 "명백한"전환을 허용하는 두 개의 프로젝트가 있습니다. int 또는 float에서 Number로, str 또는 unicode에서 String : PyV8 로 "명백한"변환을 수행 하고 한 작가가 이미 언급했듯이 python-spidermonkey .

실제로 pyv8에는 두 가지 구현이 있습니다. 원래 실험은 sebastien louisel이 수행했고 두 번째 실험은 플라이어 liu가 수행했습니다.

이 프로젝트에 대한 나의 관심은 JIT 파이썬 가속기를 만들기 위해 파이썬-자바 스크립트 컴파일러 인 파자마 에 연결하는 것이 었습니다 .

그래서 거기에는 많은 것이 있습니다-그것은 당신이 무엇을하고 싶은지에 달려 있습니다.


javascript와 python간에 복잡한 데이터 유형을 공유하는 데 관심이 있다면 jsonpickle을 확인하세요 . 표준 Python JSON 라이브러리를 래핑하지만 Python 클래스 및 기타 데이터 유형을 직렬화 및 역 직렬화하는 데 몇 가지 현명한 기능이 있습니다.

상당수의 Google App Engine 프로젝트에서이 라이브러리를 사용했습니다. JooseFirePython은 모두 jsonpickle을 통합합니다.


PyExecJS 는 PyV8, Node, JavaScriptCore, SpiderMonkey, JScript 각각을 사용할 수 있습니다.

>>> import execjs
>>> execjs.eval("'red yellow blue'.split(' ')")
['red', 'yellow', 'blue']
>>> execjs.get().name
'Node.js (V8)'

JavaScriptCore (WebKit에서 제공)를 기반으로하는 브리지가 있지만 매우 불완전합니다. http://code.google.com/p/pyjscore/


PyPy 프로젝트를 확인하고 싶을 수도 있습니다. Python to Javascript, C 및 llvm을 포함하여 Python to (모든) 컴파일러가 있습니다. 이를 통해 Python으로 코드를 작성한 다음 원하는대로 Javascript로 컴파일 할 수 있습니다.

http://codespeak.net/pypy

또한 유익한 블로그를 확인하십시오.

http://morepypy.blogspot.com/

하지만 안타깝게도이 방법으로 자바 스크립트를 Python으로 변환 할 수 없습니다. 전반적으로 정말 잘 작동하는 것 같습니다. 예전에는 Bub'n'Bros 게임의 Javascript (컴파일 된 Python으로 만든) 버전을 사용했습니다 (한동안 서버가 다운되었지만).

http://bub-n-bros.sourceforge.net


나는 얼마 전에 Pyjon을 가지고 놀았고 Python에서 Javascript의 eval을 직접 작성하고 간단한 프로그램을 실행 한 것 같습니다 ... 비록 JS의 완전한 구현이 아니라 실험이긴하지만. 여기에서 얻으십시오 :

http://code.google.com/p/pyjon/


Js2Py사용 하여 JavaScript를 Python으로 번역 하세요. 이것은 사용 가능한 유일한 도구입니다. :)


위에서 언급 한 많은 프로젝트는 죽었거나 죽어 가고 있으며 작가 측의 활동과 관심이 부족합니다. 이 영역이 어떻게 발전하는지 따르는 것이 흥미 롭습니다.

공식적으로, 기반 구현을 플러그인의 시대에, KDE 캠프는 플러그인 및 비 언어 별 방법으로이 문제를 해결하기위한 시도를했다하고 KROSS 생성 https://en.wikipedia.org/wiki/Kross_(software을) - 내 커뮤니티 내부에서도 결코 시작되지 않았 음을 이해합니다.

이 닭고기와 달걀 문제가 발생하는 동안 자바 스크립트 기반 구현은 확실히 갈 길입니다. 아마도 미래에 우리는 브라우저에서 기본적으로 순수하고 깨끗한 완전한 Python 지원을 보게 될 것입니다.


Firefox, Thunderbird 또는 Komodo와 같은 기반 앱 XPCOM에서 XUL사용할 수도 있습니다 .

참고 URL : https://stackoverflow.com/questions/683462/best-way-to-integrate-python-and-javascript

반응형