Qooxdoo
| {{#if: | {{{Name}}} | {{#invoke:WLink|getArticleBase}} }}
{{#if: | | ||||||||
|---|---|---|---|---|---|---|---|---|
colspan="2" class="notheme" style="text-align:center; background:#Vorlage:Standardfarbe; color:#202122;" | |
{{#if: {{#invoke:Wikidata|claim|P154}} |
| ||||||||
[[Datei:{{#invoke:Wikidata|claim|P154}}|150px]]
}} }}{{#if: Datei:Qooxdoo-feedreader.png | | ||||||||
| Datei:Qooxdoo-feedreader.png{{#if: Qooxdoo-Beispielanwendung | Qooxdoo-Beispielanwendung }}| }} | ||||||||
| Basisdaten
{{#if: | | ||||||||
| Hauptentwickler |
{{#if: {{#invoke:Wikidata|claim|P126}} |
| |||||||
| Maintainer | claim|P126|parameter=link|references=ja|list=, }}
}} }}{{#if: | | |||||||
| Entwickler |
{{#if: {{#invoke:Wikidata|claim|P178}} |
| |||||||
| Entwickler | claim|P178|parameter=link|references=ja|list=, }}
}} }}{{#if: | | |||||||
| Erscheinungsjahr |
{{#if: {{#invoke:Wikidata|claim|P577}} |
| |||||||
| Erscheinungsjahr | claim|P577|references=ja|list=, }} |
{{#if: {{#invoke:Wikidata|claim|P571}} |
| |||||||
| Erscheinungsjahr | claim|P571|references=ja|list=, }}
}} }} }}{{#ifeq: | KEINE_ANGABE || {{#if: | | |||||||
| Aktuelle Version | ({{#if: | Vorlage:Datum – die Form mit drei unbenannten Parametern oder anderen einzelnen Zeiteinheiten ist veraltet und wird nicht mehr unterstützt. Bitte gib das Datum einfach im Klartext an. |
format | | {{#timefl:now|date}}}} | {{{2}}} | T._Monat JJJJ}} | lang= {{#switch: | -|=de | #default=de-AT
}} }} }}) }} |
{{#if: {{#invoke:Wikidata|claim|P348|P548|!Q3295609,Q51930650,Q2122918,Q21727724,Q1072356,Q6736813}} |
|
| Aktuelle Version | claim|P348|P548|!Q3295609,Q51930650,Q2122918,Q21727724,Q1072356,Q6736813|references=ja}} {{#if: {{#invoke:Wikidata|claim|P348|P548|!Q3295609,Q51930650,Q2122918,Q21727724,Q1072356,Q6736813|qualifier=P577}} | ({{#invoke:Wikidata|claim|P348|P548|!Q3295609,Q51930650,Q2122918,Q21727724,Q1072356,Q6736813|qualifier=P577}}) }}}}}} }}{{#ifeq: {{{AktuelleVorabVersion}}} | KEINE_ANGABE || {{#if: | | |||||||
| Aktuelle Vorabversion | ({{#if: | Vorlage:Datum – die Form mit drei unbenannten Parametern oder anderen einzelnen Zeiteinheiten ist veraltet und wird nicht mehr unterstützt. Bitte gib das Datum einfach im Klartext an. |
format | {{{AktuelleVorabVersionFreigabeDatum}}} | {{#timefl:now|date}}}} | {{{2}}} | T._Monat JJJJ}} | lang= {{#switch: | -|=de | #default=de-AT
}} }} }}) }} |
{{#if: {{#invoke:Wikidata|claim|P348|P548|Q1072356,Q51930650,Q3295609,Q2122918,Q21727724}} |
|
| Aktuelle Vorabversion | claim|P348|P548|Q1072356,Q51930650,Q3295609,Q2122918,Q21727724|references=ja}} {{#if: {{#invoke:Wikidata|claim|P348|P548|Q1072356,Q51930650,Q3295609,Q2122918,Q21727724|qualifier=P577}} | ({{#invoke:Wikidata|claim|P348|P548|Q1072356,Q51930650,Q3295609,Q2122918,Q21727724|qualifier=P577}}) }}}}}} }}{{#if: | | |||||||
| Ausführungsumgebung |
{{#if: plattformunabhängig |
| |||||||
| Betriebssystem | plattformunabhängig |
{{#if: {{#invoke:Wikidata|claim|P306}} |
| |||||||
| Betriebssystem | claim|P306|parameter=link|references=ja|list=, }}
}} }} }}{{#if: JavaScript | | |||||||
| Programmiersprache | JavaScript |
{{#if: {{#invoke:Wikidata|claim|P277}} |
| |||||||
| Programmiersprache | claim|P277|parameter=link|references=ja|list=, }}
}} }}{{#if: Klassenbibliothek | | |||||||
| Kategorie | Klassenbibliothek | |||||||
| Lizenz | LGPL und EPL |
{{#if: {{#invoke:Wikidata|claim|P275}} |
| |||||||
| Lizenz | claim|P275|parameter=link|references=ja|list=, }}
}} }}{{#if: nein | | |||||||
| deutschsprachig | faculty|nein}} | ja | nein }}
}}{{#if: | | |||||||
| Sonstiges | {{{Sonstiges}}}
}}{{#if: qooxdoo.org | | |||||||
qooxdoo.org |
{{#if: {{#invoke:Wikidata|claim|P856|notdeprecated=1}} |
| ||||||||
{{#invoke: WLink | formatURL | {{#invoke:Wikidata|claim|P856|parameter=link|notdeprecated=1}}}}
}} }}{{#if: | | ||||||||
| Dateien | [[c:Category:Created with {{{Dateien}}}|{{{Dateien}}}]]
}} | |||||||
Qooxdoo ({{#invoke:Vorlage:lang|full|CODE=en|SCRIPTING=Latn|SERVICE=englisch}} [<templatestyles src="IPA/styles.css" />
| ] <phonos file="{{{Tondatei}}}"></phonos>
}}{{#invoke:TemplatePar|check
|all= 1= |opt= 2= Tondatei= |template=Vorlage:IPA |errNS= 0 |cat=Wikipedia:Vorlagenfehler/Vorlage:IPA |format=@@@ }}]; eigene Schreibweise: „qooxdoo“) ist ein clientseitiges Webframework für den Bau grafischer Benutzeroberflächen für Webanwendungen mit Hilfe des Programmierkonzepts Ajax. Die Quelltexte des Projekts sind frei und stehen unter der Eclipse Public License und der GNU Lesser General Public License.
Qooxdoo ist ein Framework für die Entwicklung von Anwendungen, die der Benutzer über seinen Webbrowser aufruft und bedient. Es stellt in einer Programmbibliothek zahlreiche auf der Skriptsprache JavaScript basierende Komponenten zur Verfügung, die Aussehen und Bedienung von Webanwendungen an klassische Desktop-Anwendungen angleichen. Dabei verwendet es das Programmierkonzept Ajax, das es erlaubt, Benutzereingaben zu verarbeiten, ohne die gesamte Webseite neu zu laden.
Der Name ist eine Verballhornung des Ausspruchs „guckst du“ in einem badischen Dialekt.
Eigenschaften
- Portabilität
- Diese Anwendungen laufen im Webbrowser und stehen somit dem Anwender auf allen Systemen zur Verfügung, auf dem ein von Qooxdoo unterstützter Webbrowsertyp vorhanden ist (u. a. Internet Explorer, Mozilla, Safari).
- Einfache Bedienung
- Die Anwendungen haben das von klassischen Desktopanwendungen gewohnte Look & Feel und sind daher für den Anwender leicht zu bedienen.
- Anpassbarkeit
- Die Entwickler können eigene Themes definieren und damit das Look & Feel geeignet für ihre Anwendung anpassen.
- Einheitlichkeit
- Die entwickelte Anwendung verfügt auf jedem gängigen Browser über ein einheitliches Look & Feel.
- Skalierbarkeit
- Entwickler können neue eigenständige Widgets entwickeln.
Die Ähnlichkeit zu klassischen GUI-Toolkits, wie Qt, Swing, MFC etc. besteht auch auf der Programmierebene, die Anwendungen werden aus Widgets zusammengestellt und mit Hilfe von Events gesteuert.
Geschichte
Das Framework wurde von 1&1- und GMX-Mitarbeitern als Open-Source-Projekt gestartet.<ref>c’t Magazin 1/2009 S. 182 ff</ref>
Ein ähnliches Ziel, nämlich den Browser als GUI-Plattform zu verwenden, verfolgte bereits das Mozilla-Projekt mit seiner XUL-Technik, diese ist jedoch auf deren Browservarianten beschränkt.
Ähnlicher zu Qooxdoo ist das Dojo Toolkit, welches ebenfalls auf die Implementierung einer Cross-Plattform-GUI rein via JavaScript und DOM setzt.
Am 17. Dezember 2009 ist Qooxdoo in der Version 1.0 erschienen.
Einsatz
- Innerhalb der Rich Ajax Platform der Eclipse Foundation wird Qooxdoo als Rendering-Engine für die Implementierung des RWT-Toolkits verwendet. Dies ist als Pendant zu SWT gedacht, mit den gleichen Softwareschnittstellen, aber in Ajax-Technik für den Einsatz im Webbrowser realisiert. Der Entwickler braucht nur noch eine Quellcodeversion für beide Plattformen (Desktop und Webbrowser) zu erstellen und pflegen. Er entscheidet dann lediglich, für welche Plattform der Code generiert werden soll, die beträchtlichen Unterschiede zwischen beiden Plattformen werden durch die Frameworks und Toolkits verborgen.
- Embarcadero Technologies setzt Qooxdoo als Rendering-Engine in seinem Produkt RadPHP (vormals {{#invoke:Vorlage:lang|flat}}) ein.<ref>Neue Delphi-Versionen für Win32- und PHP-Entwicklung – Artikel bei Golem.de, vom 21. Februar 2007 (Abgerufen am: 22. Juni 2012)</ref><ref>Siehe auch: <templatestyles src="Webarchiv/styles.css" />{{#if:20070423010645
| {{#ifeq: 20070423010645 | *
| {{#if: Projektseite | {{#invoke:WLink|getEscapedTitle|Projektseite}} | {{#invoke:Webarchiv|getdomain|http://www.qadram.com/vcl4php/}} }} (Archivversionen)
| {{#iferror: {{#time: j. F Y|20070423010645}}
| {{#if: || }}Der Wert des Parameters {{#if: wayback | wayback | Datum }} muss ein gültiger Zeitstempel der Form YYYYMMDDHHMMSS sein!
| {{#if: Projektseite | {{#invoke:WLink|getEscapedTitle|Projektseite}} | {{#invoke:Webarchiv|getdomain|http://www.qadram.com/vcl4php/}} }} {{#ifeq: | [] | [ | ( }}{{#if: {{#if: 2019-05-08 16:48:19 InternetArchiveBot | 2019-05-08 16:48:19 InternetArchiveBot | }} | des Vorlage:Referrer }} vom {{#time: j. F Y|20070423010645}} im Internet Archive{{#if: | ; }}{{#ifeq: | [] | ] | ) }}
}}
}}
| {{#if:
| {{#iferror: {{#time: j. F Y|{{{webciteID}}}}}
| {{#switch: {{#invoke:Str|len|{{{webciteID}}}}}
| 16= {{#if: Projektseite | {{#invoke:WLink|getEscapedTitle|Projektseite}} | {{#invoke:Webarchiv|getdomain|http://www.qadram.com/vcl4php/}} }} {{#ifeq: | [] | [ | ( }}{{#if: {{#if: 2019-05-08 16:48:19 InternetArchiveBot | 2019-05-08 16:48:19 InternetArchiveBot | }} | des Vorlage:Referrer }} vom {{#time: j. F Y| 19700101000000 + {{#expr: floor {{#expr: {{#invoke:Str|sub|{{{webciteID}}}|1|10}}/86400}} }} days}} auf WebCite{{#if: | ; }}{{#ifeq: | [] | ] | ) }}
| 9 = {{#if: Projektseite | {{#invoke:WLink|getEscapedTitle|Projektseite}} | {{#invoke:Webarchiv|getdomain|http://www.qadram.com/vcl4php/}} }} {{#ifeq: | [] | [ | ( }}{{#if: {{#if: 2019-05-08 16:48:19 InternetArchiveBot | 2019-05-08 16:48:19 InternetArchiveBot | }} | des Vorlage:Referrer}} vom {{#time: j. F Y| 19700101000000 + {{#expr: floor {{#expr: {{#invoke:Str|sub|{{#invoke:Expr|base62|{{{webciteID}}}}}|1|10}}/86400}} }} days}} auf WebCite{{#if: | ; }}{{#ifeq: | [] | ] | ) }}
| #default= Der Wert des Parameters {{#if: webciteID | webciteID | ID }} muss entweder ein Zeitstempel der Form YYYYMMDDHHMMSS oder ein Schüsselwert mit 9 Zeichen oder eine 16-stellige Zahl sein!{{#if: || }}
}}
| c|{{{webciteID}}}}} {{#if: Projektseite | {{#invoke:WLink|getEscapedTitle|Projektseite}} | {{#invoke:Webarchiv|getdomain|http://www.qadram.com/vcl4php/}} }} ({{#if: {{#if: 2019-05-08 16:48:19 InternetArchiveBot | 2019-05-08 16:48:19 InternetArchiveBot | }} | des Vorlage:Referrer}} vom {{#time: j. F Y|{{{webciteID}}}}} auf WebCite{{#if: | ; }}{{#ifeq: | [] | ] | ) }}
}}
| {{#if:
| Vorlage:Webarchiv/Today
| {{#if:
| Vorlage:Webarchiv/Generisch
| {{#if: Projektseite | {{#invoke:WLink|getEscapedTitle|Projektseite}} | {{#invoke:Webarchiv|getdomain|http://www.qadram.com/vcl4php/}} }}
}}}}}}}}{{#if:2019-05-08 16:48:19 InternetArchiveBot
| Vorlage:Webarchiv/archiv-bot
}}{{#invoke:TemplatePar|check
|all = url=
|opt = text= wayback= webciteID= archive-is= archive-today= archiv-url= archiv-datum= ()= archiv-bot= format= original=
|cat = Wikipedia:Vorlagenfehler/Vorlage:Webarchiv
|errNS = 0
|template = Vorlage:Webarchiv
|format = *
|preview = 1
}}{{#ifexpr: {{#if:20070423010645|1|0}}{{#if:|+1}}{{#if:|+1}}{{#if:|+1}}{{#if:|+1}} <> 1
| {{#if: || }}{{#invoke:TemplUtl|failure| Fehler bei Vorlage:Webarchiv: Genau einer der Parameter 'wayback', 'webciteID', 'archive-today', 'archive-is' oder 'archiv-url' muss angegeben werden.|1}}
}}{{#if:
| {{#switch: {{#invoke:Webarchiv|getdomain|{{{archiv-url}}}}}
| web.archive.org =
{{#if: || }}{{#invoke:TemplUtl|failure| Fehler bei Vorlage:Webarchiv: Im Parameter 'archiv-url' wurde URL von Internet Archive erkannt, bitte Parameter 'wayback' benutzen.|1}}
| webcitation.org =
{{#if: || }}{{#invoke:TemplUtl|failure| Fehler bei Vorlage:Webarchiv: Im Parameter 'archiv-url' wurde URL von WebCite erkannt, bitte Parameter 'webciteID' benutzen.|1}}
| archive.today |archive.is |archive.ph |archive.fo |archive.li |archive.md |archive.vn =
{{#if: || }}{{#invoke:TemplUtl|failure| Fehler bei Vorlage:Webarchiv: Im Parameter 'archiv-url' wurde URL von archive.today erkannt, bitte Parameter 'archive-today' benutzen.|1}}
}}{{#if:
| {{#iferror: {{#iferror:{{#invoke:Vorlage:FormatDate|Execute}}|}}
| {{#if: || }}{{#invoke:TemplUtl|failure| Fehler bei Vorlage:Webarchiv: Der Wert des Parameter 'archiv-datum' ist ungültig oder hat ein ungültiges Format.|1}}
| }}
| {{#if: || }}{{#invoke:TemplUtl|failure| Fehler bei Vorlage:Webarchiv: Der Pflichtparameter 'archiv-datum' wurde nicht angegeben.|1}}
}}
| {{#if:
| {{#if: || }}{{#invoke:TemplUtl|failure| Fehler bei Vorlage:Webarchiv: Der Parameter 'archiv-datum' ist nur in Verbindung mit 'archiv-url' angebbar.|1}}
}}
}}{{#if:{{#invoke:URLutil|isHostPathResource|http://www.qadram.com/vcl4php/}}
|| {{#if: || }}
}}{{#if: Projektseite
| {{#if: {{#invoke:WLink|isBracketedLink|Projektseite}}
| {{#if: || }}
}}
| {{#if: || }}
}}{{#switch:
|addlarchives|addlpages= {{#if: || }}{{#if: 1 |}}{{#invoke:TemplUtl|failure| Fehler bei Vorlage:Webarchiv: enWP-Wert im Parameter 'format'.|1}}
}}{{#ifeq: {{#invoke:Str|find|http://www.qadram.com/vcl4php/%7Carchiv}} |-1
|| {{#ifeq: {{#invoke:Str|find|{{#invoke:Str|cropleft|http://www.qadram.com/vcl4php/%7C4}}%7Chttp}} |-1
|| {{#switch: {{#invoke:Webarchiv|getdomain|http://www.qadram.com/vcl4php/ }}
| abendblatt.de | daserste.ndr.de | inarchive.com | webcitation.org =
| #default = {{#if: || }}{{#if: 1 |}}{{#invoke:TemplUtl|failure| Fehler bei Vorlage:Webarchiv: Archiv-URL im Parameter 'url' anstatt URL der Originalquelle. Entferne den vor der Original-URL stehenden Mementobestandteil und setze den Archivierungszeitstempel in den Parameter 'wayback', 'webciteID', 'archive.today' oder 'archive-is' ein, sofern nicht bereits befüllt.|1}}
}}
}}
}} und {{#switch:
|0|=Vorlage:Toter Link/Core{{#if: http://vcl4php.svn.sourceforge.net/viewvc/vcl4php/trunk/vcl/qooxdoo/
| {{#if: Sourceforge-Subversion-Quellcodebaum | Sourceforge-Subversion-Quellcodebaum }} (Seite {{#switch:|no|0|=|dauerhaft }}nicht mehr abrufbar{{#if: 2018-12 | , festgestellt im {{#invoke:DateTime|format|2018-12|F Y}} }}. Suche im Internet Archive ){{#if: 2018-12-11 11:14:39 InternetArchiveBot
| {{#if: | | Vorlage:Toter Link/archivebot }}
}}
| (Seite {{#switch:|no|0|=|#default=dauerhaft }}nicht mehr abrufbar{{#if: 2018-12 | , festgestellt im {{#invoke:DateTime|format|2018-12|F Y}} }}.)
}}{{#switch:
|no|0|=
|#default={{#if: || }}
}}{{#invoke:TemplatePar|check
|opt = inline= url= text= datum= date= archivebot= bot= botlauf= fix-attempted= checked=
|cat = Wikipedia:Vorlagenfehler/Vorlage:Toter Link
|errNS = 0
|template = Vorlage:Toter Link
|format =
|preview = 1
}}{{#if: http://vcl4php.svn.sourceforge.net/viewvc/vcl4php/trunk/vcl/qooxdoo/
| {{#if:{{#invoke:URLutil|isWebURL|http://vcl4php.svn.sourceforge.net/viewvc/vcl4php/trunk/vcl/qooxdoo/}}
|| {{#if: || }}
}}
| {{#if: Sourceforge-Subversion-Quellcodebaum
| {{#if: || }}
| {{#if: || }}
}}
}}{{#if: 2018-12
| {{#if:{{#invoke:DateTime|format|2018-12|F Y|noerror=1}}
|| {{#if: || }}
}}
}}{{#switch:
|checked|deadurl|=
|#default= {{#if: || }}
}}|#default= https://wiki-de.moshellshocker.dns64.de/index.php?title=Wikipedia:Defekte_Weblinks&dwl=http://vcl4php.svn.sourceforge.net/viewvc/vcl4php/trunk/vcl/qooxdoo/ Die nachstehende Seite ist {{#switch:|no|0|=|dauerhaft }}nicht mehr abrufbar]{{#if: 2018-12 | , festgestellt im {{#invoke:DateTime|format|2018-12|F Y}} }}. (Suche im Internet Archive. ) {{#if: 2018-12-11 11:14:39 InternetArchiveBot
| {{#if: | | Vorlage:Toter Link/archivebot }}
}}Vorlage:Toter Link/Core{{#switch:
|no|0|=
|#default= {{#if: || }}
}}{{#invoke:TemplatePar|check
|all = inline= url=
|opt = datum= date= archivebot= bot= botlauf= fix-attempted= checked=
|cat = Wikipedia:Vorlagenfehler/Vorlage:Toter Link
|errNS = 0
|template = Vorlage:Toter Link
|format =
|preview = 1
}}{{#if: http://vcl4php.svn.sourceforge.net/viewvc/vcl4php/trunk/vcl/qooxdoo/
| {{#if:{{#invoke:URLutil|isWebURL|http://vcl4php.svn.sourceforge.net/viewvc/vcl4php/trunk/vcl/qooxdoo/}}
|| {{#if: || }}
}}
}}{{#if: 2018-12
| {{#if:{{#invoke:DateTime|format|2018-12|F Y|noerror=1}}
|| {{#if: || }}
}}
}}{{#switch:
|checked|deadurl|=
|#default= {{#if: || }}
}}[http://vcl4php.svn.sourceforge.net/viewvc/vcl4php/trunk/vcl/qooxdoo/ }}</ref>
- Die Webmailer, für 1&1 DSL- und GMX Mail-Kunden, basieren auf Qooxdoo.
- Der Web-Desktop eyeOS verwendet Qooxdoo für die Erstellung der grafischen Oberfläche.
Literatur
- Crane, Dave und Eric Pascarello mit Darren James: Ajax in Action, Manning, 2005 – Darstellung der Implementierungstechniken.
Weblinks
- Webpräsenz des Qooxdoo-Projektes
- Demonstration der Oberflächenelemente
- Eclipse Rich Ajax Platform
- Demo Browser zur Demonstration einiger Qooxdoo-Klassen
- Liste in der Realität eingesetzter Anwendungen
- API (Application Programming Interface)
Einzelnachweise
<references />
- Wikipedia:Vorlagenfehler/Parameter:Datum
- Wikipedia:Vorlagenfehler/Vorlage:Webarchiv
- Wikipedia:Vorlagenfehler/Vorlage:Webarchiv/Archiv-URL
- Wikipedia:Vorlagenfehler/Parameter:URL
- Wikipedia:Vorlagenfehler/Parameter:Linktext
- Wikipedia:Vorlagenfehler/Vorlage:Webarchiv/Linktext fehlt
- Wikipedia:Weblink offline fix-attempted
- Wikipedia:Vorlagenfehler/Vorlage:Toter Link
- Wikipedia:Vorlagenfehler/Vorlage:Toter Link/URL fehlt
- Freies Webframework
- JavaScript-Bibliothek