Devoxx 2008: JavaFX, Java 7 en scripttalen
Elk jaar rond half december reist de Europese Java-wereld af naar Antwerpen om aldaar op de hoogte te worden gebracht van de nieuwste ontwikkelingen op hun vakgebied. Dit jaar werd Devoxx voor de eerste keer georganiseerd van 8 tot en met 12 december, en was het evenement voor de tweede keer op rij volledig uitverkocht. Deze tegenstrijdigheid is te verklaren uit het feit dat Devoxx tot vorig jaar nog bekend stond onder de naam JavaPolis, maar deze naam is wegens merkenrechten-discussies gewijzigd in Devoxx. In dit artikel zal een impressie worden gegeven van de conferentie en de belangrijkste trends worden besproken.
Met 3200 bezoekers uit 35 verschillende landen, was het evenement volledig uitverkocht. Finalist was vertegenwoordigd met een delegatie bestaande uit vier man, te weten Okke, Ernst-Jan, Auke en ondergetekende. Devoxx duurt vijf dagen, waarvan de eerste twee bestonden uit zogenaamde ‘university days’, waarin onderwerpen uitgebreid worden besproken in sessies van drie uur. De woensdag, donderdag en vrijdag zijn de ‘conference days’ en bevatten de meest interessante lezingen. Naast de lezingen is er, zoals op de meeste conferenties, een uitgebreide markt met stands van Java-gerelateerde bedrijven.
Zoals verwacht, werd er tijdens Devoxx voornamelijk aandacht besteed aan de huidige trends in Java-wereld. Belangrijkste onderwerp was uiteraard JavaFX dat slechts een week voor Devoxx officieel is uitgebracht door Sun Microsystems. Ook andere rich internet applications kregen aandacht tijdens Devoxx, maar beduidend minder dan Sun’s nieuwste paradepaardje. Een ander onderwerp wat veel aandacht kreeg waren alternatieve talen voor de JVM, en dan in het bijzonder Groovy, Scala, JRuby en Jython. In diverse lezingen die in eerste instantie niet over Groovy of Scala gingen werden wel voorbeelden gegeven in deze programmeertalen. Hieruit valt duidelijk op te maken dat deze nieuwe scripttalen hun plaats in de Java-wereld hebben veroverd. In principe valt JavaFX ook onder een alternatieve scripttaal voor de JVM, maar natuurlijk heeft deze een iets andere doelgroep doordat deze taal specifiek voor RIA’s is bedoeld. Tot slot kregen ook de vernieuwingen die uiteindelijk in Java 7 zullen komen de nodige aandacht.
De woensdag begon met een keynote bestaande uit twee delen, waarbij het tweede deel bestond uit een vrij saai promotiepraatje over RFID door IBM. In het eerste deel presenteerde Sun Microsystems’ Danny Coward JavaFX waarin een aantal demo’s werden getoond en uitgelegd hoe het platform globaal in elkaar zit. JavaFX is bedoeld voor rich internet applicaties en concurreert met Microsofts Silverlight en Adobe’s Flex. De voornaamste voordelen van JavaFX is dat het gebaseerd is op de Java SE en in principe resulteert in Java Applets waardoor het nu al in veel bestaande browsers kan werken. JavaFX is vooral sterk in multimedia en animaties, waarmee het veel nieuwe mogelijkheden biedt voor developers. Er zijn inmiddels al plugins voor de bekende IDE’s (Eclipse en Netbeans), maar ook voor tools voor ontwerpers (zoals Photoshop- en Illustrator-plugins). Het grootste gemis lijkt op dit moment nog de beschikbaarheid van native controls, zoals knoppen, radiobuttons en checkboxes die eenvoudig gebruikt kunnen worden vanuit JavaFX.
De donderdag-keynote bestond ook uit twee delen, maar deze waren beiden zeer interessant. De dag begon met een presentatie door Joshua Bloch, een van de architecten van Java die nu voor Google werkt, waarin hij een aantal items uit zijn boek ‘Effective Java’ – een must-read voor elke Java-ontwikkelaar – besprak. Het tweede deel van de keynote werd door Mark Reinhold van Sun verzorgd en ging voornamelijk over Project Jigsaw en aan het eind over Java 7. Project Jigsaw heeft als doel om Java SE op te splitsen in modules en ook module-ondersteuning voor Java-applicaties mogelijk te maken. Het voordeel hiervan is dat het eenvoudiger zal worden om Java en Java-programma’s te distribueren en het eenvoudiger wordt om bepaalde functionaliteit toe te voegen aan Java. Er zullen profielen worden gemaakt die bestaan uit een specifiek deel van de Java-modules die zijn toegespits op een bepaalde toepassing. Hierbij moet men denken aan een mobile-profiel voor telefoons, een desktop-profiel en een headless-profiel voor bijvoorbeeld server-applicaties. Wat betreft Java 7 liet hij weten dat we hierin zeker geen closures kunnen verwachten (volgens sommigen is dit het einde van Java…). Een opmerkelijke uitspraak was dat Sun overweegt om de backwards compatibility met oude Java-versies in de toekomst te doorbreken om zodoende de bibliotheken op te kunnen schonen en nieuwe – ingrijpende – features mogelijk te maken.
Uiteraard valt er nog veel meer te schrijven over Devoxx, aangezien de hoeveelheid interessante informatie overweldigend is. Gelukkig zullen alle lezingen komend jaar op Parleys.com verschijnen in de vorm van pod- en vodcasts. Andere interessante lezingen die ik heb bijgewoond waren van Brian Goetz over Concurrency in Java waarin hij aandacht besteede aan het Fork/Join-package (dat mogelijk ook in Java 7 komt) en een lezing over dynamische talen in de JVM die hij gaf samen met Alex Buckley. Bill Venners – mede-auteur van het Scala-boek ‘Programming in Scala’ – gaf een interessante lezing over Scala. En dan in het bijzonder hoe tests voor Java-programma’s kunnen worden gemaakt in deze taal. Een tweetal Jetbrains-ontwikkelaars demonstreerde in een – verder matige gepresenteerde – lezing hoe IntelliJ IDEA in staat is om cross-language te refactoren. De tech-lead van het Jersey-project gaf een zeer leerzame introductie van Jax-RS, waarmee Restful web-applicaties kunnen worden gebouwd. Uiteraard was ook een delegatie van de Java Posse-podcast aanwezig die een live-podcast deden waarbij gratis bier werd uitgedeeld door Atlassian. Kortom, Devoxx was dit jaar een super interessante conferentie met veel nieuwe technologieën en veel leerzame sessies waar ik zeker weer een tijdje mee vooruit kan!

Hoi,
Mark Reinholds Devoxx keynote is nu beschikbaar op Parleys.com
Enjoy,
Stephan
Stephan January 23, 2009 12:57
[...] Javox and finally to Devoxx. In this post I will give my impressions of two days of this event. A Dutch version of this post is available at the weblog of my [...]
Devoxx 2008: JavaFX, Java 7 and dynamic languages - Martin @ Blog December 21, 2009 10:51