파이즈

Pyjs
파이즈
Logo of the Pyjs project (aka Pyjamas), after forking off in 2012.
원저작자제임스 타우버, 구글
개발자루크 레이튼, 앤서니 C 라이징어, 키스 보스
초기 릴리즈2007년 3월, 15년 전(2007-03)
안정된 릴리스
0[1].8.1a / 2012년 5월 9일; 10년 전(2012년 5월 9일)
저장소
기입처Python, JavaScript
운영 체제Windows, OS X, Linux
이용가능기간:파이썬
유형Ajax 프레임워크, 데스크톱 및 웹 위젯 툴킷, 컴파일러, 위젯 세트
면허증.Apache 라이센스 2.0
웹 사이트pyjs.org

Pyjs(2012년 5월[2] 이전 Pyjamas)는 Python에서 클라이언트 측 웹 및 데스크톱 애플리케이션을 개발하기 위한 풍부한 웹 애플리케이션 프레임워크입니다.생성된 애플리케이션은 웹 브라우저에서 실행하거나 독립 실행형 데스크톱 애플리케이션으로 실행할 수 있습니다.

독립형 Python-to-JavaScript 컴파일러, Ajax 프레임워크위젯 툴킷을 포함하고 있으며, 이러한 컴포넌트를 사용하여 개발자는 자바스크립트를 작성하지 않고도 모든 주요 웹 브라우저에서 실행할 수 있는 포괄적인 애플리케이션을 작성할 수 있습니다.Pyjs는 Java에서 [3]Python으로 이동하는 Google Web Toolkit(GWT) 포트입니다.

발전

개발자는 pyjs를 사용하여 자바스크립트 대신 파이썬으로 웹 애플리케이션을 작성할 수 있습니다.응용 프로그램이 JavaScript로 컴파일됩니다.또한 최신 JavaScript 지원 웹 브라우저의 문서 객체 모델(DOM)에 대한 액세스를 제공하는 Ajax 라이브러리 및 위젯[4] 세트도 포함되어 있습니다.Ajax 라이브러리와 위젯 세트 라이브러리는 Python과 JavaScript를 혼합한 것입니다.Google Web Toolkit과 마찬가지로 pyjs는 라이브러리가 아니며 또 다른 Ajax 프레임워크도 아닙니다.Ajax 프레임워크는 거의 전적으로 맞춤형 JavaScript로 작성된 미리 준비된 특정 기능을 제공하는 데만 엄격히 제한됩니다.JavaScript 컴파일러인 GWT와 pyjs는 모두 개발자가 익숙한 언어(각각 Java 또는 Python)로 작업하여 완전히 처음부터 또는 기존의 사용 가능한 위젯을 기반으로 자체 커스텀 위젯을 작성할 수 있도록 하며 최신 브라우저의 모든 범위를 대상으로 합니다.따라서 fait-accomi Ajax 프레임워크를 웹 개발자에게 제시하는 것과는 달리, pyjs는 독자적으로 개발할 수 있는 자유를 준다.

설계.

pyjs 컴파일러는 프로그래밍 언어 Python으로 작성되며, 컴파일되는 프로그램의 추상 구문 트리를 걸어가면서 입력을 JavaScript로 컴파일하기 위해 사용합니다.컴파일러는 독립형이지만 pyjs의 주요 용도는 웹 개발용이기 때문에 웹 어플리케이션을 구축하기 위한 추가 인프라스트럭처가 있습니다.

DOM[5].py 모델 라이브러리는 JavaScript 코드 스니펫 위에 있는 Python의 얇은 레이어인 추상화 레이어이며, 이를 사용하여 대상 브라우저 플랫폼의 완전한 Document Object Model에 액세스할 수 있습니다.다른 컴파일러와 마찬가지로 JavaScript 스니펫은 인라인 어셈블러로 취급됩니다.

또한 DOM.py 모델 라이브러리 위에는 ui.py라는 추가 추상화 계층이 있습니다.[6]이 계층은 웹 개발자에게 가장 유용한 계층입니다.데스크탑 애플리케이션 개발자가 익숙한 위젯 스위트입니다.현재 사용 가능한 위젯 목록은 Google Web Toolkit 1.2에서 사용 가능한 전체 위젯 집합과 GWT 1.5에서 포워드 포팅된 몇 가지 위젯을 혼합한 것입니다.

구성 요소들

주요 Pyjs 구성 요소는 다음과 같습니다.

pyjs Python-to-JavaScript 컴파일러
프로그래밍 언어 Python을 JavaScript로 변환합니다.
Python 내장 및 표준 에뮬레이션 라이브러리
Python 표준 런타임 라이브러리에서 일반적으로 사용되는 모듈, 빌트인 및 클래스의 JavaScript 구현(예: 문자열, 목록, 사전, 튜플, 세트, getatr, 맵, 필터, 범위 등), 기본 예외 처리, 기본 날짜 및 기본 산술 모듈).
pyjs DOM[5] 라이브러리
브라우저의 DOM을 조작하기 위한 모듈.
pyjs Web UI[6] 모듈
웹 브라우저가 데스크톱 위젯 엔진인 것처럼 위젯을 작성하는 모듈입니다.
pyjs 데스크톱 포트
MSHTML(Trident), Gecko(XULRunner) 또는 WebKit에서 Pyjs 앱을 순수 Python으로 실행할 수 있습니다.Pyjs Desktop은 개념적으로 GWT "호스트" 모드에 가깝습니다.단, 어플리케이션을 디버깅툴로만 사용하는 것이 아니라 pyjs Desktop에서 라이브로 도입할 수 있습니다.

pyjs 데스크톱

pyjs와 함께 제공되는 위젯 세트[4] 라이브러리는 PyQtPyGTK와 매우 유사하여 pyjs 포트가 데스크톱에서 pyjs 애플리케이션을 실행하도록 만들어졌습니다(2012년 5월 이전에는 PyjamasDesktop이었고[7] 원래 버전 0.6 이전에[8] 별도로 호스팅되었습니다).이 프로젝트는 Webkit, XULRunner 또는 MSHTML을 기본 기술로 사용하며, 이러한 브라우저 엔진을 통해 pyjs가 애플리케이션의 DOM 모델을 조작합니다.pyjs와 pyjs Desktop을 함께 사용하면 웹 및 [9][10]데스크톱에서 실행되는 크로스 플랫폼, 크로스 데스크톱, 크로스 브라우저 및 크로스 위젯 응용 프로그램을 쓸 수 있습니다.

레퍼런스

  1. ^ "Release 0.8.1a". 9 May 2012. Retrieved 22 July 2018.
  2. ^ 인프라, 엔드포인트, 프로세스 변경, 잠옷 개발 메일링 리스트에 대한 Lex의 설명(2012년 5월 3일)
  3. ^ Pyjs README
  4. ^ a b UI 모듈 클래스 계층
  5. ^ a b DOM 모듈
  6. ^ a b UI 모듈
  7. ^ PyjamasDesktop 이력, Python Wiki
  8. ^ "Pyjamas Desktop".
  9. ^ Pyjamas - Python Applications for Desktop and Web, Luke Kenneth Casson Leighton (2008년 8월 30일)
  10. ^ 잠옷 코드화: 데스크톱 웹용 애플리케이션 Kenneth Casson Leighton (2008년 11월 7일)

외부 링크