Pyjs
![]() | |
Originalautor (en) | James Tauber, Google |
---|---|
Entwickler (en) | Luke Leighton, Anthony C Risinger, Kees Bos |
Erstveröffentlichung | März 2007 |
Stabile Version | 0,8,1a[1] ![]() |
Repository | |
Geschrieben in | Python, JavaScript |
Betriebssystem | Fenster, Os x, Linux |
Verfügbar in | Python |
Typ | Ajax Framework, Desktop und Web Widget Toolkit, Compiler, Widget -Set |
Lizenz | Apache -Lizenz 2.0 |
Webseite | Pyjs |
Pyjs (früher Pyjama vor Mai 2012[2]), ist ein Reiche Webanwendung Framework für die Entwicklung von clientseitigen Web- und Desktop-Anwendungen in Python. Die resultierenden Anwendungen können in a ausgeführt werden Webbrowser oder als eigenständig Desktop -Anwendungen.
Es enthält eine eigenständige Python-zu-JavaScript Compiler, an Ajax Framework und Widget Toolkitund durch die Verwendung dieser Komponenten können Entwickler umfassende Anwendungen schreiben, um in allen wichtigen Webbrowsern auszuführen, ohne JavaScript zu schreiben. Pyjs ist ein Port von Google Web Toolkit (GWT) von Java zu Python.[3]
Entwicklung
Mit PYJs können Entwickler schreiben Web Applikationen in Python Anstatt von JavaScript. Die Anwendung wird mit JavaScript zusammengestellt. Ebenfalls enthalten ist eine AJAX -Bibliothek und ein Widget -Set[4] Das bietet Zugang zum Zugriff auf die Dokumentobjektmodell (DOM) von modernen JavaScript-fähigen Webbrowsern. Die AJAX -Bibliothek und die Widget -Set -Bibliothek sind eine Hybridmischung aus Python und JavaScript. Genau wie bei Google Web Toolkit ist PyJS nicht seine Bibliotheken, und es ist auch nicht ein weiteres AJAX -Framework. Ajax Frameworks sind streng beschränkt auf die vorbereitete spezifische Funktionalität, die fast ausschließlich im maßgeschneiderten JavaScript geschrieben wurde. Sowohl GWT als auch PyJs, die JavaScript -Compiler sind, ermöglichen dem Entwickler, in der Sprache zu arbeiten, mit der sie bekannt sind (Java oder Python), und ihre eigenen benutzerdefinierten Widgets schreiben, entweder vollständig von Grund auf neu oder basierend auf den vorhandenen verfügbaren Widgets Zielen Sie immer noch auf die gesamte Palette der modernen Browser. Also weit davon entfernt, Webentwickler mit a zu präsentieren beschlossene Sache Ajax Framework, PYJS gibt Ihnen die Freiheit, Ihre eigenen zu entwickeln.
Entwurf
Der PYJS -Compiler ist in der Programmiersprache Python geschrieben und verwendet ihn, um seine Eingabe in JavaScript zu kompilieren, wobei Sie die Zusammenfassung Syntaxbaum des Programms, das zusammengestellt wird. Obwohl der Compiler eigenständig ist, ist die primäre Verwendung von PYJS für die Webentwicklung gedacht. Daher gibt es zusätzliche Infrastruktur für das Erstellen von Webanwendungen.
Dom.py[5] Die Modellbibliothek ist eine Abstraktionsschicht - eine dünne Pythonschicht über JavaScript -Code -Snippets - die Verwendung von der Verwendung auf die vollständige Zugriff Dokumentobjektmodell der Zielbrowserplattform. Wie bei jedem Compiler werden die JavaScript -Snippets als behandelt Inline -Assembler.
Darüber hinaus befindet sich auf der DOM.Py -Modellbibliothek eine zusätzliche Abstraktionsschicht, UI.py,[6] die Webentwickler die nützlichste Ebene vermitteln: eine vollständige Suite von Widgets Mit welchen Desktop -Anwendungsentwicklern wird bekannt sein. Derzeit ist die Liste der verfügbaren Widgets eine Mischung aus dem vollständigen Satz von Widgets, die im Google Web Toolkit 1.2 verfügbar waren, sowie einige weitere, die von GWT 1.5 weitergeleitet wurden.
Komponenten
Die wichtigsten PYJS -Komponenten umfassen:
- Pyjs Python-to-JavaScript-Compiler
- Übersetzt die Programmiersprache Python in JavaScript.
- Python -Bau- und Standard -Emulationsbibliothek
- JavaScript -Implementierungen der häufig verwendeten Module, Integration und Klassen in der Python -Standard -Laufzeitbibliothek (z. Basismathematikmodul).
- PYJS DOM Library[5]
- Module zum Manipulieren des Browsers Dom.
- PYJS Web UI -Modul[6]
- Ein Modul zum Erstellen Widgets Als ob der Webbrowser ein Desktop wäre Widget Engine.
- PYJS -Desktop -Ports
- Unterstützung für das Ausführen von PyJS -Apps als reines Python unter MSHTML (Dreizack), Gecko (Xulrunner) oder Webkit. Der PYJS -Desktop liegt konzeptionell in der Nähe des GWT "gehosteten" Modus, mit der Ausnahme, dass die Anwendungen live unter dem PYJS -Desktop eingesetzt werden können, anstatt ausschließlich als Debugging -Tool verwendet zu werden.
Pyjs Desktop
Die Widget -Set -Bibliothek[4] Das kommt mit PyJs so ähnlich wie Pyqt und Pygtk dass ein Hafen von Pyjs dazu gebracht wurde, PyJS -Anwendungen auf dem Desktop zu betreiben, genannt Pyjs Desktop (früher Pyjamasdesktop[7] vor Mai 2012 und ursprünglich separat vor Version 0.6 gehostet[8]). Das Projekt verwendet Webkit, Xulrunner oder MSHTML Als zugrunde liegende Technologie manipuliert PYJS das DOM -Modell der Anwendung. Zusammen ermöglichen PYJS- und PYJS-Desktop das Schreiben von plattformübergreifenden, cross-Desktop-, Cross-Browser- und Cross-Widget-Anwendungen, die im Internet und auf dem Desktop ausgeführt werden.[9][10]
Verweise
- ^ "Release 0.8.1a". 9. Mai 2012. Abgerufen 22. Juli 2018.
- ^ Infrastruktur, Endpunkt, Prozessänderungen, Klarstellung durch Lex auf Pyjamas-dev Mailingliste (03. Mai 2012)
- ^ Pyjs Readme
- ^ a b Die Hierarchie der UI -Modulklasse
- ^ a b DOM -Modul
- ^ a b UI -Modul
- ^ Pyjamasdesktop -Geschichte, Python Wiki
- ^ "Pyjamas Desktop".
- ^ Pyjama - Python -Anwendungen für Desktop und Web, Luke Kenneth Casson Leighton (30. August 2008)
- ^ Codierung im Pyjama: Apps für Desktop und Web Luke Kenneth Casson Leighton (7. November 2008)