Adobe Flex is een opensource ontwikkelomgeving voor het bouwen en onderhouden van geavanceerde, expressieve webapplicaties die compatibel zijn met alle belangrijke browsers, desktops en besturingssystemen. Applicaties kunnen worden gebouwd met de gratis SDK, maar een en ander gaat uiteraard veel vlotter met de nieuwe en betalende Adobe Flex Builder 3 ontwikkelomgeving.
De applicatieontwikkeling kende al een hele evolutie. Na de mainframe-architectuur kwam de client/server-architectuur. Vervolgens werden de webapplicaties steeds belangrijker, om uiteindelijk te belanden bij de Rich Internet Applicaties (RIA). Flash speelde altijd al een belangrijke rol bij de ontwikkeling van RIA’s. De initiële release door Macromedia in maart 2004 bevatte naast de gratis Flash Player een geïntegreerde ontwikkelomgeving en een applicatie om Flash te integreren met J2EE (Java Enterprise Edition). Die integratie-applicatie stond bekend als de Flex Data Services. De naam daarvan werd later gewijzigd. Na de overname van Macromedia door Adobe in 2005 werd de naam Flex gekozen als overkoepelend label voor alle Adobe-technologieën voor het ontwikkelen en uitrollen van cross-platform RIA’s gebaseerd op Flash. Adobe gaf de Flex 3 SDK vrij onder de open source Mozilla Public License, maar behield de controle over Flash Player, de runtime-module om Flex-applicaties te draaien, en Flex Builder, de IDE om Flex-applicaties te bouwen. Adobe ontwikkelde met AIR (Adobe Integrated Runtime) ook een cross-platform desktop-runtime module, zodat met Flex ontwikkelde applicaties nu ook kunnen draaien buiten de browser onder Windows, MacOS en Linux.
Applicaties en talen
Voor het bouwen van Flash- en AIR-gebaseerde applicaties kan men kiezen tussen verschillende ontwikkelomgevingen en tools: Adobe Dreamwea-ver CS3, Adobe Flex Builder 3, Adobe Flash CS3 Professional, Aptana Studio en zelfs simpele text editors voor de moedigen die alleen de gratis open source SDK gebruiken. Een voorbeeld van een dergelijke applicatie is de eBay Desktop, waarmee verkopers bijna alle verkooptaken offline kunnen uitvoeren en die dan uploaden naar eBay. Maar AIR kan voor tal van applicaties worden gebruikt, gaande van datavisualisatie, over blogs tot interactieve productcatalogi en Rich Media Applicaties (RMA’s).
De programmeertaal binnen Flex 3 is ActionScript 3, een variant van JavaScript of JScript. Applicaties geschreven in het ene dialect van JScript zullen daarom niet noodzakelijk werken in het andere. Flex probeert meer transparantie en structuur te brengen in die wildgroei. De vrijgave van de SDK moet de populariteit van ActionScript vergroten.
Flex ondersteunt verder ook MXML, een XML-gebaseerde mark-uptaal voor het ontwikkelen van gebruikersinterfaces die door Macromedia geïntroduceerd werd in maart 2004. Flex compileert MXML in binaire SWF (Shockwave Flash)-bestanden, die vervolgens cross-platform kunnen worden uitgevoerd door Flash Player en AIR. Naast MXML en ActionScript 3 bevat de Flex SDK command-line compilers, een Framework- en Class Library en debuggers. Flex Builder is een IDE (Integrated Development Environment) met een visuele editor, compiler, debugger en online documentatie.
Nieuwigheden
De belangrijkste nieuwigheid in Flex Builder 3 is uiteraard de volledige ondersteuning voor Adobe AIR-runtimes, waardoor je eenvoudiger RIA’s voor de desktop kunt ontwikkelen. De integratie met Adobe Creative Suite 3 werd verbeterd, wat het vlot samenwerken van ontwerpers en programmeurs zal ten goede komen. Dankzij code refactoring is de geschreven code beter leesbaar. Ook versiecontrole is nieuw (en ontbreekt in de gratis SDK). Nieuwe profilers helpen bij het controleren en ‘tunen’ van het geheugengebruik. Een nieuwe en verbeterde data-visualisatietool laat toe om (zakelijke) data op een rijkere manier te presenteren. De nieuwe Advanced Data-grid zit overigens alleen in de Professional-versie en ontbreekt in de Standard-versie en in de SDK. Flex 3 genereert ook compactere en efficiëntere swf-bestanden.
Praktijk
Bij wijze van test bouwden we een dvd-bibliotheek met behulp van Flex Builder 3 Professional. We gebruikten de nieuwe Advanced DataGrid. De ontwikkelaar kan kiezen tussen de Source- en de Design-mode; wij kozen voor het laatste en bouwden onze testapplicatie eerst visueel. In de Design-mode kan je heel gebruiksvriendelijk controls slepen van het Components-paneel naar het ontwikkeloppervlak. We plaatsten via drag en drop een ‘Panel’ op de werkplek. Deze control bevat een titelbalk, een omgeving voor statusberichten, een rand en een plaats waar gegevens komen, bijvoorbeeld een Advanced DataGrid. Je kan dan eigenschappen eenvoudig aanpassen door de gewenste control te selecteren en vervolgens de eigenschappen te wijzigen. Op elk ogenblik kun je je vorderingen in de browser controleren door op Ctrl-F11 te drukken. Door op Source te klikken, verschijnt de door Flex gegenereerde MXML-code. Vervolgens kun je ActionScript3-code toevoegen om iets te doen met de gebouwde interface. We hebben een XML-bestand nodig en importeren dat met behulp van de Flex Navigator. Het schrijven van code wordt sterk vereenvoudigd dankzij code completion, waarbij Flex automatisch de juiste syntaxis voor je uitschrijft en code refactoring, waardoor de code gestructureerder en dus beter leesbaar wordt.
Natuurlijk moet u MXML en ActionScript onder de knie hebben voor u echt nuttige dingen kunt doen binnen Flex Builder. De gebruiksvriendelijke wysiwyg-ontwikkelomgeving binnen Flex Builder versnelt het bouwen van applicaties in elk geval enorm in vergelijking met de gewone Flex SDK. Eens uw applicaties klaar zijn, kunt u een ‘release build’ maken en een swf-bestand creëren, dat daarna kan worden uitgevoerd in elke browser met Flash Player of op elke desktop met AIR.
Conclusie
Het vrijgeven van de Flex SDK is een goede zaak, maar om echt comfortabel Flash- en AIR-applicaties te ontwikkelen is Adobe Flex Builder 3 toch een must en zijn geld zeker waard.
Nick Kinschots/ Jozef Schildermans
Fout opgemerkt of meer nieuws? Meld het hier