© Excellent backgrounds/Shutterstock.com
Java Magazin
Scala als alternative Programmiersprache für die Android-Entwicklung

When Android met Scala

Wer Apps für mobile Endgeräte unter Verwendung von Java entwickeln will, landet eher früher als später bei Android. Der gestandene Java-Programmierer findet sich in einer vertrauten Umgebung von APIs und Konzepten wieder. Neben der durchaus gewollten Breitenwirkung hat die Verwendung von Java als primärer Android-Programmiersprache jedoch auch Nachteile, die aus den Einschränkungen und Schwächen innerhalb von Java entstehen. Ein Vertreter der modernen JVM-basierten Programmiersprachen ist Scala. Dieser Artikel zeigt, wie Android-Programmierung mit Scala unter Verwendung des Scala Simple Build Tools aussieht und welche Vereinfachungen und Möglichkeiten sich in der Android-Anwendungsentwicklung ergeben.

Andre Steingress


Als am 21. Oktober 2008 das erste offizielle Posting von Google zur Open-Source-Veröffentlichung von An­droid online gestellt wurde [1], ging ein Raunen durch die Java-Entwicklercommunity. Neben dem im selben Jahr erschienenen iPhone (respektive iOS) SDK war ab diesem Zeitpunkt mobile Anwendungsentwicklung unter Verwendung von Java auf Augenhöhe mit iPhone-Anwendungsentwicklung möglich. Die Fokussierung auf Java unter Verwendung von Teilen der JRE-Open-Source-Implementierung Apache Harmony dürfte im Nachhinein betrachtet nicht nur aus firmenstrategischen Gründen erfolgt sein. Nach wie vor ist Java laut TIOBE-Index [2] eine der populärsten „Mainstream“-Programmiersprachen. Neben dem auf die Android-spezifischen Frameworkteile beschränkten Einarbeitungsaufwand stellt Android für Java-Programmierer aus den unterschiedlichsten J*-Erfahrungsbereichen keine hohe Einstiegshürde dar und genießt dementsprechend hohe Beliebtheit im Java-Umfeld. Aus Sicht der Softwareentwicklung hat die Verwendung von Java in Android jedoch auch durchaus Nachteile, die unter anderem in den Restriktionen des Sprachdesigns und fehlenden objektorientierten und funktionalen Programmiersprachenkonzepten begründet sind. Beispielsweise führen die exzessive Verwendung von anonymen Klassendefinitionen, die fehlende Möglichkeit von Mehrfachvererbung und fehlende funktionale Konzepte wie „first class“-Funktionstypen zu schwer modularisierbaren, kaum wiederverwendbaren und wartbaren Klassen in größeren Applikationen.

Android-Entwicklung Allen Android-Entwicklern und solchen, die es werden wollen, empfehlen wir das Android360 Magazin! Die aktuelle Ausgabe beschäftigt sich beispielsweise mit der Optimierung Ihrer Apps für den Android Market, modularen Android-Anwendungen, dem ActionBar-Pattern oder der Enter­prise-Integration. Und wer jetzt ein Abo abschließt, erhält das große Android-Poster mit dazu! Nur solange der Vorrat reicht: http://www.android360.de.

Dieser Artikel soll zeigen, welche Möglichkeiten Android-Entwicklung mit Scala hat und wie diese bereits jetzt in (kleineren) Applikationen lauffähig umgesetzt werden können. Im Anschluss wird auf die Vor- und Nachteile dieser Form der Android-Entwicklung eingegangen. Bevor die konkrete Anwendung von Scala in der Android-Entwicklung behandelt wird, werfen wir einen kurzen Blick auf die Entstehungsgeschichte von Scala, um einen Einblick in die Herkunft und Entwicklung dieser relativ neuen Programmiersprache zu bekommen.

Die skalierbar...

Java Magazin
Scala als alternative Programmiersprache für die Android-Entwicklung

When Android met Scala

Wer Apps für mobile Endgeräte unter Verwendung von Java entwickeln will, landet eher früher als später bei Android. Der gestandene Java-Programmierer findet sich in einer vertrauten Umgebung von APIs und Konzepten wieder. Neben der durchaus gewollten Breitenwirkung hat die Verwendung von Java als primärer Android-Programmiersprache jedoch auch Nachteile, die aus den Einschränkungen und Schwächen innerhalb von Java entstehen. Ein Vertreter der modernen JVM-basierten Programmiersprachen ist Scala. Dieser Artikel zeigt, wie Android-Programmierung mit Scala unter Verwendung des Scala Simple Build Tools aussieht und welche Vereinfachungen und Möglichkeiten sich in der Android-Anwendungsentwicklung ergeben.

Andre Steingress


Als am 21. Oktober 2008 das erste offizielle Posting von Google zur Open-Source-Veröffentlichung von An­droid online gestellt wurde [1], ging ein Raunen durch die Java-Entwicklercommunity. Neben dem im selben Jahr erschienenen iPhone (respektive iOS) SDK war ab diesem Zeitpunkt mobile Anwendungsentwicklung unter Verwendung von Java auf Augenhöhe mit iPhone-Anwendungsentwicklung möglich. Die Fokussierung auf Java unter Verwendung von Teilen der JRE-Open-Source-Implementierung Apache Harmony dürfte im Nachhinein betrachtet nicht nur aus firmenstrategischen Gründen erfolgt sein. Nach wie vor ist Java laut TIOBE-Index [2] eine der populärsten „Mainstream“-Programmiersprachen. Neben dem auf die Android-spezifischen Frameworkteile beschränkten Einarbeitungsaufwand stellt Android für Java-Programmierer aus den unterschiedlichsten J*-Erfahrungsbereichen keine hohe Einstiegshürde dar und genießt dementsprechend hohe Beliebtheit im Java-Umfeld. Aus Sicht der Softwareentwicklung hat die Verwendung von Java in Android jedoch auch durchaus Nachteile, die unter anderem in den Restriktionen des Sprachdesigns und fehlenden objektorientierten und funktionalen Programmiersprachenkonzepten begründet sind. Beispielsweise führen die exzessive Verwendung von anonymen Klassendefinitionen, die fehlende Möglichkeit von Mehrfachvererbung und fehlende funktionale Konzepte wie „first class“-Funktionstypen zu schwer modularisierbaren, kaum wiederverwendbaren und wartbaren Klassen in größeren Applikationen.

Android-Entwicklung Allen Android-Entwicklern und solchen, die es werden wollen, empfehlen wir das Android360 Magazin! Die aktuelle Ausgabe beschäftigt sich beispielsweise mit der Optimierung Ihrer Apps für den Android Market, modularen Android-Anwendungen, dem ActionBar-Pattern oder der Enter­prise-Integration. Und wer jetzt ein Abo abschließt, erhält das große Android-Poster mit dazu! Nur solange der Vorrat reicht: http://www.android360.de.

Dieser Artikel soll zeigen, welche Möglichkeiten Android-Entwicklung mit Scala hat und wie diese bereits jetzt in (kleineren) Applikationen lauffähig umgesetzt werden können. Im Anschluss wird auf die Vor- und Nachteile dieser Form der Android-Entwicklung eingegangen. Bevor die konkrete Anwendung von Scala in der Android-Entwicklung behandelt wird, werfen wir einen kurzen Blick auf die Entstehungsgeschichte von Scala, um einen Einblick in die Herkunft und Entwicklung dieser relativ neuen Programmiersprache zu bekommen.

Die skalierbar...

Neugierig geworden?


    
Loading...

Angebote für Teams

Für Firmen haben wir individuelle Teamlizenzen. Wir erstellen Ihnen gerne ein passendes Angebot.

Das Library-Modell:
IP-Zugang

Das Company-Modell:
Domain-Zugang