title: Qooxdoo
text: 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 
   Officiële website
  
  Software geschreven in JavaScript