Qooxdoo
Qooxdoo | ||||
---|---|---|---|---|
![]() | ||||
Een Qooxdoo-applicatie in een webbrowser | ||||
Recentste versie | 5.0.2 (9 januari 2017) | |||
Recentste bètaversie | 6.0.0-beta-20190613-2048 (13 juni 2019), 6.0.0-beta-20190613-2224 (13 juni 2019), 6.0.0-beta-20190614-1058 (14 juni 2019), 6.0.0-beta-20190614-2001 (14 juni 2019), 6.0.0-beta-20190616-1742 (16 juni 2019), 6.0.0-beta-20190617-0802 (17 juni 2019), 6.0.0-beta-20190617-1128 (17 juni 2019), 6.0.0-beta-20190617-1418 (17 juni 2019), 6.0.0-beta-20190617-1533 (17 juni 2019), 6.0.0-beta-20190618-2102 (18 juni 2019), 6.0.0-beta-20190623-0715 (23 juni 2019), 6.0.0-beta-20190625-1405 (25 juni 2019), 6.0.0-beta-20190626-0956 (26 juni 2019), 6.0.0-beta-20190628-1948 (28 juni 2019), 6.0.0-beta-20190628-2056 (28 juni 2019), 6.0.0-beta-20190701-0957 (1 juli 2019), 6.0.0-beta-20190702-0506 (2 juli 2019), 6.0.0-beta-20190702-0929 (2 juli 2019), 6.0.0-beta-20190702-0952 (2 juli 2019), 6.0.0-beta-20190702-1824 (2 juli 2019), 6.0.0-beta-20190703-1037 (3 juli 2019), 6.0.0-beta-20190703-1858 (3 juli 2019), 6.0.0-beta-20190707-1449 (7 juli 2019), 6.0.0-beta-20190708-0854 (8 juli 2019), 6.0.0-beta-20190708-1106 (8 juli 2019), 6.0.0-beta-20190708-1216 (8 juli 2019), 6.0.0-beta-20190719-1342 (19 juli 2019), 6.0.0-beta-20190719-1931 (19 juli 2019), 6.0.0-beta-20190719-2050 (19 juli 2019), 6.0.0-beta-20190720-1219 (20 juli 2019), 6.0.0-beta-20190720-1434 (20 juli 2019), 6.0.0-beta-20190720-1721 (20 juli 2019), 6.0.0-beta-20190722-1246 (22 juli 2019), 6.0.0-beta-20190723-1223 (23 juli 2019), 6.0.0-beta-20190723-1841 (23 juli 2019), 6.0.0-beta-20190725-1233 (25 juli 2019), 6.0.0-beta-20190725-2019 (25 juli 2019), 6.0.0-beta-20190726-1218 (26 juli 2019), 6.0.0-beta-20190726-1609 (26 juli 2019), 6.0.0-beta-20190726-1815 (26 juli 2019), 6.0.0-beta-20190726-1936 (26 juli 2019), 6.0.0-beta-20190727-1808 (27 juli 2019), 6.0.0-beta-20190731-0705 (31 juli 2019), 6.0.0-beta-20190804-1941 (4 augustus 2019), 6.0.0-beta-20190805-1022 (5 augustus 2019), 6.0.0-beta-20190806-1942 (6 augustus 2019), 6.0.0-beta-20190807-2027 (7 augustus 2019), 6.0.0-beta-20190814-1002 (14 augustus 2019), 6.0.0-beta-20190820-2009 (20 augustus 2019), 6.0.0-beta-20190821-1938 (21 augustus 2019), 6.0.0-beta-20190824-1507 (24 augustus 2019), 6.0.0-beta-20190827-2000 (27 augustus 2019), 6.0.0-beta-20190902-0756 (2 september 2019), 6.0.0-beta-20190905-2018 (5 september 2019), 6.0.0-beta-20190910-1956 (10 september 2019), 6.0.0-beta-20190911-1029 (11 september 2019), 6.0.0-beta-20190911-1059 (11 september 2019), 6.0.0-beta-20190911-1342 (11 september 2019), 6.0.0-beta-20190927-1901 (27 september 2019), 6.0.0-beta-20190927-2117 (27 september 2019), 6.0.0-beta-20191001-1646 (1 oktober 2019), 6.0.0-beta-20191002-1403 (2 oktober 2019), 6.0.0-beta-20191005-2006 (5 oktober 2019), 6.0.0-beta-20191009-1415 (9 oktober 2019), 6.0.0-beta-20191014-1238 (14 oktober 2019), 6.0.0-beta-20191014-2017 (14 oktober 2019), 6.0.0-beta-20191015-1840 (15 oktober 2019), 6.0.0-beta-20191030-1321 (30 oktober 2019), 6.0.0-beta-20191030-1401 (30 oktober 2019), 6.0.0-beta-20191031-1343 (31 oktober 2019), 6.0.0-beta-20191123-1842 (23 november 2019), 6.0.0-beta-20191124-1503 (24 november 2019), 6.0.0-beta-20191125-2103 (25 november 2019), 6.0.0-beta-20191206-1835 (6 december 2019), 6.0.0-beta-20191211-0716 (11 december 2019), 6.0.0-beta-20191213-1800 (13 december 2019), 6.0.0-beta-20191218-1008 (18 december 2019), 6.0.0-beta-20191220-0919 (20 december 2019), 6.0.0-beta-20191220-2308 (20 december 2019), 6.0.0-beta-20191221-0902 (21 december 2019), 6.0.0-beta-20191221-1605 (21 december 2019), 6.0.0-beta-20191221-1818 (21 december 2019), 6.0.0-beta-20191223-1226 (23 december 2019), 6.0.0-beta-20191227-1511 (27 december 2019), 6.0.0-beta-20191227-2010 (27 december 2019), 6.0.0-beta-20191228-1339 (28 december 2019), 6.0.0-beta-20200103-1027 (3 januari 2020), 6.0.0-beta-20200103-1100 (3 januari 2020), 6.0.0-beta-20200103-1449 (3 januari 2020), 6.0.0-beta-20200106-0818 (6 januari 2020), 6.0.0-beta-20200109-0908 (9 januari 2020), 6.0.0-beta-20200110-0942 (10 januari 2020), 6.0.0-beta-20200113-1533 (13 januari 2020), 6.0.0-beta-20200114-1454 (14 januari 2020), 6.0.0-beta-20200121-1320 (21 januari 2020), 6.0.0-beta-20200123-0804 (23 januari 2020), 6.0.0-beta-20200123-2125 (23 januari 2020), 6.0.0-beta-20200124-1325 (24 januari 2020), 6.0.0-beta-20200213-0721 (13 februari 2020), 6.0.0-beta-20200213-1523 (13 februari 2020), 6.0.0-beta-20200220-1034 (20 februari 2020), 6.0.0-beta-20200220-1944 (20 februari 2020), 6.0.0-beta-20200220-2057 (20 februari 2020), 6.0.0-beta-20200224-2114 (24 februari 2020), 6.0.0-beta-20200228-1535 (28 februari 2020), 6.0.0-beta-20200228-1841 (28 februari 2020), 6.0.0-beta-20200302-0816 (2 maart 2020), 6.0.0-beta-20200302-1629 (2 maart 2020), 6.0.0-beta-20200304-2137 (4 maart 2020), 6.0.0-beta-20200307-0840 (7 maart 2020), 6.0.0-beta-20200309-0614 (9 maart 2020), 6.0.0-beta-20200309-2040 (9 maart 2020), 6.0.0-beta-20200310-1404 (10 maart 2020), 6.0.0-beta-20200310-1432 (10 maart 2020), 6.0.0-beta-20200311-0922 (11 maart 2020), 6.0.0-beta-20200312-0556 (12 maart 2020), 6.0.0-beta-20200312-0635 (12 maart 2020), 6.0.0-beta-20200312-1154 (12 maart 2020), 6.0.0-beta-20200313-0856 (13 maart 2020), 6.0.0-beta-20200314-1110 (14 maart 2020), 6.0.0-beta-20200314-1204 (14 maart 2020), 6.0.0-beta-20200314-1740 (14 maart 2020), 6.0.0-beta-20200318-1320 (18 maart 2020), 6.0.0-beta-20200318-1642 (18 maart 2020), 6.0.0-beta-20200319-0809 (19 maart 2020), 6.0.0-beta-20200319-1217 (19 maart 2020), 6.0.0-beta-20200320-2201 (20 maart 2020), 6.0.0-beta-20200322-0916 (22 maart 2020), 6.0.0-beta-20200325-1027 (25 maart 2020), 6.0.0-beta-20200326-1703 (26 maart 2020), 6.0.0-beta-20200326-1741 (26 maart 2020), 6.0.0-beta-20200326-1952 (26 maart 2020), 6.0.0-beta-20200327-0820 (27 maart 2020), 6.0.0-beta-20200327-0938 (27 maart 2020), 6.0.0-beta-20200328-1900 (28 maart 2020), 6.0.0-beta-20200328-2140 (28 maart 2020), 6.0.0-beta-20200329-0939 (29 maart 2020), 6.0.0-beta-20200329-1006 (29 maart 2020), 6.0.0-beta-20200329-1035 (29 maart 2020), 6.0.0-beta-20200329-1225 (29 maart 2020), 6.0.0-beta-20200329-1733 (29 maart 2020), 6.0.0-beta-20200329-1842 (29 maart 2020), 6.0.0-beta-20200331-1113 (31 maart 2020), 6.0.0-beta-20200331-1914 (31 maart 2020), 6.0.0-beta-20200401-1413 (1 april 2020), 6.0.0-beta-20200408-1259 (8 april 2020), 6.0.0-beta-20200408-2103 (8 april 2020), 6.0.0-beta-20200409-1439 (9 april 2020), 6.0.0-beta-20200410-1104 (10 april 2020), 6.0.0-beta-20200413-1611 (13 april 2020), 6.0.0-beta-20200414-1701 (14 april 2020), 6.0.0-beta-20200418-1852 (18 april 2020), 6.0.0-beta-20200514-0646 (14 mei 2020), 6.0.0-beta-20200514-0913 (14 mei 2020), 6.0.0-beta-20200515-0957 (15 mei 2020), 6.0.0-beta-20200518-0734 (18 mei 2020), 6.0.0-beta-20200518-1136 (18 mei 2020), 6.0.0-beta-20200518-1400 (18 mei 2020), 6.0.0-beta-20200520-0915 (20 mei 2020), 6.0.0-beta-20200520-1607 (20 mei 2020), 6.0.0-beta-20200527-0045 (27 mei 2020), 6.0.0-beta-20200528-0709 (28 mei 2020), 6.0.0-beta-20200528-1159 (28 mei 2020), 6.0.0-beta-20200528-1737 (28 mei 2020), 6.0.0-beta-20200531-0656 (31 mei 2020), 6.0.0-beta-20200531-0731 (31 mei 2020), 6.0.0-beta-20200601-1542 (1 juni 2020), 6.0.0-beta-20200601-1615 (1 juni 2020), 6.0.0-beta-20200602-1122 (2 juni 2020), 6.0.0-beta-20200603-0537 (3 juni 2020), 6.0.0-beta-20200608-2051 (8 juni 2020), 6.0.0-beta-20200608-2142 (8 juni 2020), 6.0.0-beta-20200608-2214 (8 juni 2020), 6.0.0-beta-20200609-0430 (9 juni 2020), 6.0.0-beta-20200803-1413 (3 augustus 2020), 6.0.0-beta-20200804-2132 (4 augustus 2020), 6.0.0-beta-20200805-2033 (5 augustus 2020), 6.0.0-beta-20200805-2053 (5 augustus 2020), 6.0.0-beta-20200806-2049 (6 augustus 2020), 6.0.0-beta-20200807-0828 (7 augustus 2020), 6.0.0-beta-20200810-1552 (10 augustus 2020), 6.0.0-beta-20200812-2003 (12 augustus 2020), 6.0.0-beta-20200819-1634 (19 augustus 2020), 6.0.0-beta-20200821-0855 (21 augustus 2020), 6.0.0-beta-20200828-1816 (28 augustus 2020), 6.0.0-beta-20200828-1817 (28 augustus 2020), 6.0.0-beta-20200828-1831 (28 augustus 2020), 6.0.0-beta-20200828-2028 (28 augustus 2020), 6.0.0-beta-20200830-1953 (30 augustus 2020), 6.0.0-beta-20200904-1332 (4 september 2020), 6.0.0-beta-20200928-1204 (28 september 2020), 6.0.0-beta-20200928-1212 (28 september 2020), 6.0.0-beta-20200928-1229 (28 september 2020), 6.0.0-beta-20200928-1248 (28 september 2020), 6.0.0-beta-20200928-1832 (28 september 2020), 6.0.0-beta-20200928-1855 (28 september 2020), 6.0.0-beta-20200929-1333 (29 september 2020), 6.0.0-beta-20200929-1432 (29 september 2020), 6.0.0-beta-20200929-1741 (29 september 2020), 6.0.0-beta-20200930-1411 (30 september 2020), 6.0.0-beta-20201001-1018 (1 oktober 2020), 6.0.0-beta-20201001-1413 (1 oktober 2020), 6.0.0-beta-20201003-1033 (3 oktober 2020), 6.0.0-beta-20201022-0844 (22 oktober 2020), 6.0.0-beta-20201026-2041 (26 oktober 2020), 6.0.0-beta-20201103-2023 (3 november 2020), 6.0.0-beta-20201105-1401 (5 november 2020), 6.0.0-beta-20201106-1629 (6 november 2020), 6.0.0-beta-20201106-1652 (6 november 2020), 6.0.0-beta-20201116-0651 (16 november 2020), 6.0.0-beta-20201119-2000 (19 november 2020), 6.0.0-beta-20201123-0729 (23 november 2020), 6.0.0-beta-20201124-1942 (24 november 2020), 6.0.0-beta-20201126-1749 (26 november 2020), 6.0.0-beta-20201127-1243 (27 november 2020), 6.0.0-beta-20201130-0808 (30 november 2020), 6.0.0-beta-20201203-1411 (3 december 2020), 6.0.0-beta-20201203-1458 (3 december 2020), 6.0.0-beta-20201223-1121 (23 december 2020), 6.0.0-beta-20210103-2005 (3 januari 2021), 6.0.0-beta-20210105-1518 (5 januari 2021), 6.0.0-beta-20210109-1906 (9 januari 2021), 6.0.0-beta-20210111-1106 (11 januari 2021), 6.0.0-beta-20210111-1244 (11 januari 2021), 6.0.0-beta-20210111-1408 (11 januari 2021), 6.0.0-beta-20210111-1415 (11 januari 2021), 6.0.0-beta-20210111-1639 (11 januari 2021), 6.0.0-beta-20210115-1240 (15 januari 2021), 6.0.0-beta-20210118-0948 (18 januari 2021), 6.0.0-beta-20210118-1001 (18 januari 2021), 6.0.0-beta-20210118-1319 (18 januari 2021), 6.0.0-beta-20210118-1419 (18 januari 2021), 6.0.0-beta-20210118-1602 (18 januari 2021), 6.0.0-beta-20210118-1930 (18 januari 2021), 6.0.0-beta-20210119-1736 (19 januari 2021), 6.0.0-beta-20210120-1422 (20 januari 2021), 6.0.0-beta-20210121-1516 (21 januari 2021), 6.0.0-beta-20210121-1907 (21 januari 2021), 6.0.0-beta-20210122-0558 (22 januari 2021), 6.0.0-beta-20210122-0944 (22 januari 2021), 6.0.0-beta-20210122-1214 (22 januari 2021), 6.0.0-beta-20210122-1735 (22 januari 2021), 6.0.0-beta-20210123-0633 (23 januari 2021), 6.0.0-beta-20210123-0636 (23 januari 2021), 6.0.0-beta-20210123-1528 (23 januari 2021), 6.0.0-beta-20210123-1750 (23 januari 2021), 6.0.0-beta-20210123-1929 (23 januari 2021), 6.0.0-beta-20210123-1935 (23 januari 2021), 6.0.0-beta-20210124-1015 (24 januari 2021), 6.0.0-beta-20210124-1120 (24 januari 2021), 6.0.0-beta-20210125-1010 (25 januari 2021), 6.0.0-beta-20210125-1214 (25 januari 2021), 6.0.0-beta-20210126-0913 (26 januari 2021), 6.0.0-beta-20210127-0731 (27 januari 2021), 6.0.0-beta-20210128-1123 (28 januari 2021), 6.0.0-beta-20210128-1329 (28 januari 2021), 6.0.0-beta-20210128-1836 (28 januari 2021), 6.0.0-beta-20210129-0619 (29 januari 2021), 6.0.0-beta-20210129-1159 (29 januari 2021), 6.0.0-beta-20210129-1317 (29 januari 2021), 6.0.0-beta-20210201-1340 (1 februari 2021), 6.0.0-beta-20210203-1944 (3 februari 2021), 6.0.0-beta-20210203-1952 (3 februari 2021), 6.0.0-beta-20210203-2043 (3 februari 2021), 7.0.0-beta (16 juni 2021), 7.0.0-beta.1 (18 oktober 2021), 7.0.0-beta.2 (20 oktober 2021), 7.0.0-beta.3 (22 november 2021), 7.0.0-beta.4 (22 november 2021), 7.0.0-beta.5 (9 december 2021), 7.0.0-beta.6 (5 januari 2022), 7.0.0-beta.7 (11 januari 2022), 7.0.0-beta.8 (1 februari 2022), 7.0.0-beta.9 (12 februari 2022), 7.0.0-beta.10 (15 februari 2022) ![]() | |||
Status | Inactief | |||
Besturingssysteem | Webplatform | |||
Geschreven in | JavaScript | |||
Categorie | JavaScriptframework | |||
Licentie(s) | LGPL, EPL | |||
Versiebeheer | Officiële broncode | |||
Website | (en) Officiële website | |||
|
Qooxdoo is een objectgeoriënteerd RIA (JavaScript framework) geschreven in JavaScript. Het biedt softwareontwikkelaars de mogelijkheid om applicaties te ontwikkelen geheel in HTML, CSS en JavaScript met alléén gebruik van JavaScript code. Qooxdoo ondersteunt alle moderne browsers zoals Firefox, Internet Explorer, Chrome, Opera en Safari.
Qooxdoo heeft een aantal functionaliteiten die de ontwikkelaar helpen in verschillende fasen van softwareontwikkeling. Python-scripts verzorgen het aanmaken van applicatiesjablonen, zodat dit werk uit handen van de ontwikkelaar wordt gehaald. Scripts die qooxdoo-applicaties klaarmaken voor gebruik (postcompilatie) creëren één geobfusceerd, geminificeerd en geoptimaliseerd JavaScript-bestand zodat de applicatie sneller en efficiënter wordt uitgevoerd in de browser.
Qooxdoo klassen worden gedefinieerd als volgt:
qx.Class.define("mijnEigenKlasse", { extend: qx.core.ui.Label, include: qx.core.ui.MPlacement, construct: function() { // roep superklasse constructor aan this.base(arguments); // initialiseer variabelen __mijnEigenWidget = new qx.ui.core.Widget(); }, properties: { naam : { nullable: true, check: "string" } } members: { __mijnEigenWidget : null } });
In bovenstaand voorbeeld wordt een klasse "mijnEigenKlasse" gemaakt, die overerft van de klasse qx.ui.core.Label. De "construct" regel definieert een constructor-methode. In het voorbeeld wordt de constructor van de superklasse aangeroepen, door de regel
this.base(arguments);
De "properties" regel geeft aan dat er een lijst van properties wordt gedefinieerd. Qooxdoo's postcompile process interpreteert deze definities, om in de postcompiled code "getters" en "setters" te genereren en in te voegen. Wanneer de klasse "mijnEigenKlasse" wordt geïnstantieerd kunnen de methodes "getNaam" en "setNaam" worden gebruikt.
Vereisten
Client
- Moderne browser voor uitvoeren applicatie
Ontwikkeling
Om in qooxdoo te ontwikkelen, heb je de volgende kennis en tools nodig:
- Python 2.6 (uitvoering scripts)
- Shell (console)
- JavaScript kennis
- Objectgeoriënteerd ontwikkelen
- Voor koppeling met servergeoriënteerde applicaties is een "backend" benodigd. Voor ontwikkeling voldoet het lokale bestandssysteem, eventueel in combinatie met het mock-ontwikkelpatroon (om data van/naar de client te testen).
Externe link
- (en) Officiële website