Sonntag, 12. Februar 2012 |
| |
Das ScalaModules-Projekt wird fortan bei Eclipse weiterentwickelt. Ein entsprechendes Eclipse-Proposal ist gerade auf eclipse.org erschienen. JAXenter sprach mit Initiator und Hauptentwickler des Projekts Heiko Seeberger.
JAXenter: Hallo Heiko. Kannst du kurz beschreiben, was ScalaModules ist?
Heiko Seeberger: ScalaModules ist eine interne Scala-DSL für OSGi mit dem Ziel, die OSGi-Programmierung zu vereinfachen. Wenn wir uns das OSGi-API ansehen, dann stellen wir rasch fest, dass es Low-Level ist und wir daher für einfache Aufgaben zu viel (Glue-)Code schreiben müssen. Darüber hinaus gibt es einige wenige unschöne Aspekte, z.B. die Verwendung von Null für Parameter oder Rückgabewerte.
Denken wir zum Beispiel an das Verwenden eines OSGi-Services: Wir möchten eigentlich nur eine Methode aufrufen, müssen dafür aber eine ServiceReference holen und auf Null prüfen, dann den Service holen und wieder auf Null prüfen und zum Schluss die ServiceReference wieder zurückgeben. ScalaModules abstrahiert von diesen Low-Level Details und bietet eine einfach zu verwendende und ausdrucksstarke DSL. In unserem Beispiel müssten wir nur in Form einer Funktion (Closure) angeben, was wir mit dem Service machen möchten; den ganzen Rest erledigt ScalaModules für uns.
JAXenter: ScalaModules wird nun bei Eclipse weiterentwickelt. Warum dieser Umzug nach eclipse.org?
Heiko Seeberger: Eclipse ist in Sachen OSGi natürlich schon eine Nummer und die Scala IDE for Eclipse wird von den Scala-Schöpfern von der EPFL "offiziell" unterstützt. Daher passt ScalaModules sehr gut zu Eclipse. Darüber hinaus bietet Eclipse natürlich ein hervorragendes Ökosystem für Open-Source-Projekte, das meiner Meinung nach jedem ambitionierten Projekt nur gut tun kann.
JAXenter: Was ändert sich konkret in der Arbeit an ScalaModules nach dem Wechsel zu Eclipse?
Heiko Seeberger: Das Wichtigste: Durch die gesteigerte Sichtbarkeit hoffe ich auf mehr Mitstreiter, "Interested Parties" im Eclipse-Jargon. Was die Prozesse und Infrastruktur angeht, wird sich vermutlich gar nicht so viel ändern, denn da gibt es schon heute viele Ähnlichkeiten. Naja, leider müssen wir erst einmal auf Git verzichten, aber das soll Ende 2010 wohl auch bei Eclipse kommen.
JAXenter: Werdet Ihr euch voll dem Eclipse Helios Release Train anschließen?
Heiko Seeberger: Ja, genau das ist der Plan. ScalaModules wird ja ein Subprojekt von Equinox, also dem Herzstück von Eclipse, und sollte daher ein "guter Eclipse-Bürger" sein. Hoffentlich klappt die "Migration" von Prozessen und Infrastruktur tatsächlich so reibungslos wie erhofft, denn der Zeitrahmen ist natürlich knapp.
JAXenter: Was können wir für die geplante Version 2.0 erwarten?
Heiko Seeberger: Eine DSL bekommt man selten beim ersten Mal gut hin, daher betrachte ich die erste Version als gelungenes Experiment; gelungen in dem Sinne, dass sie die Machbarkeit bestätigt und Interesse geweckt hat. Version 2.0 bringt eine überarbeitete und hoffentlich verbesserte DSL. Darauf wird der Fokus liegen, neue Features sind erst einmal nicht geplant, sondern werden dann in weiteren Releases folgen.
JAXenter: Vielen Dank für dieses Interview!
Heiko Seeberger ist geschäftsführender Gesellschafter der Weigle Wilczek GmbH und verantwortlich für die technologische Strategie des Unternehmens mit den Schwerpunkten Java, Scala, OSGi, Eclipse RCP und Lift. Zudem ist er aktiver Open Source Committer, Autor zahlreicher Fachartikel und Redner auf einschlägigen Konferenzen.