Pyjs

Pyjs
Logo of the Pyjs project (aka Pyjamas), after forking off in 2012.
Originalautor (en) James Tauber, Google
Entwickler (en) Luke Leighton, Anthony C Risinger, Kees Bos
Erstveröffentlichung März 2007; vor 15 Jahren
Stabile Version
0,8,1a[1] Edit this on Wikidata / 9. Mai 2012; vor 10 Jahren
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.org

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

  1. ^ "Release 0.8.1a". 9. Mai 2012. Abgerufen 22. Juli 2018.
  2. ^ Infrastruktur, Endpunkt, Prozessänderungen, Klarstellung durch Lex auf Pyjamas-dev Mailingliste (03. Mai 2012)
  3. ^ Pyjs Readme
  4. ^ a b Die Hierarchie der UI -Modulklasse
  5. ^ a b DOM -Modul
  6. ^ a b UI -Modul
  7. ^ Pyjamasdesktop -Geschichte, Python Wiki
  8. ^ "Pyjamas Desktop".
  9. ^ Pyjama - Python -Anwendungen für Desktop und Web, Luke Kenneth Casson Leighton (30. August 2008)
  10. ^ Codierung im Pyjama: Apps für Desktop und Web Luke Kenneth Casson Leighton (7. November 2008)

Externe Links