Zum Hauptinhalt Zur Navigation

iOS und Android: Plattformübergreifender Code lohnt für Dropbox nicht

Statt für seine Mobile-Apps auf einheitlichen Code zu setzen, nutzt Dropbox inzwischen die nativen Programmiersprachen Swift für iOS und Kotlin und Android. Die einheitliche Pflege sei schlicht zu aufwendig gewesen.
/ Sebastian Grüner
7 Kommentare News folgen (öffnet im neuen Fenster)
Dropbox beschreibt seine Probleme mit der plattformübergreifenden Programmierung. (Bild: REUTERS/Thomas White/Illustration)
Dropbox beschreibt seine Probleme mit der plattformübergreifenden Programmierung. Bild: REUTERS/Thomas White/Illustration

In seinem Techblog(öffnet im neuen Fenster) beschreibt der Anbieter Dropbox in einer Retrospektive recht ausführlich, dass das Unternehmen eine vor Jahren begonnene Strategie zur plattformübergreifenden Entwicklung für einen Fehler halte. Die Kosten für diese Strategie seien im Vergleich zur Entwicklung in den nativen Sprachen der Plattformen für das Unternehmen schlicht zu hoch. Für die Mobile-Apps kommt deshalb nun nicht mehr C++, sondern Swift für iOS und Kotlin für Android zum Einsatz.

Laut Dropbox sei die Idee zu Beginn der Umsetzung im Jahr 2013 recht einfach gewesen. Demnach sollte der Code nur einmal in C++ für beide Plattformen geschrieben werden, statt zweimal in Java und Objective-C. Zu dieser Entscheidung beigetragen habe auch, dass das zuständige Team zu diesem Zeitpunkt vergleichsweise klein gewesen sei und schnell auf die wachsende Anzahl Nutzer habe reagieren müssen.

Die Wahl von C++ statt der für die Plattformen nativen Sprachen habe aber zu einem enormen Mehraufwand geführt. So habe das Team eigene Frameworks und Bibliotheken für relativ einfache Aufgaben erstellen müssen, die für nativen Code bereits vorhanden gewesen wären. Problematisch sei auch gewesen, dass Dropbox mit der Wahl von C++ nicht die nativen Entwicklungsumgebungen von iOS und Android benutzen konnte, sondern auf eigene Werkzeuge angewiesen war.

Hinzu kommen viele weitere Schwierigkeiten. So musste wegen der verschiedenen Plattform natürlich trotzdem unterschiedlicher Code geschrieben werden. Letztlich habe das Unternehmen auch Probleme damit bekommen, überhaupt Entwickler zu finden, die erfahren genug waren, an dem C++-Code zu arbeiten. Die logische Konsequenz für das Unternehmen daraus ist, nun auf die nativen Sprachen von iOS und Android zu setzen.


Relevante Themen