5 Punkte von xguru 2019-08-15 | 4 Kommentare | Auf WhatsApp teilen

Dropbox nutzte beim Start im Jahr 2013 C++, um Code zwischen beiden Plattformen zu teilen.

Damals war das Team klein, und es sollte die schnell wachsende Mobile-Roadmap unterstützen.

Inzwischen ist man auf Swift und Kotlin umgestiegen, und der Grund dafür sind die folgenden versteckten Kosten des Code-Sharings (eigentlich sind sie gar nicht so versteckt).

  • Overhead durch benutzerdefinierte Frameworks und Bibliotheken

  • Overhead durch benutzerdefinierte Entwicklungsumgebungen

  • Overhead durch die Behandlung von Unterschieden zwischen den Plattformen

  • Overhead für Schulung, Einstellung und Bindung von Entwicklern

Unterm Strich sieht ein gemeinsamer Codebestand zwar attraktiv aus, aber der Overhead ist hoch.

Wichtig ist, dass der letzte Absatz dieses Artikels im Grunde lautet: "Wir stellen Android- und iOS-Entwickler ein!"

4 Kommentare

 
godrm 2019-08-19

Ist es nicht die Frage, ob der Overhead für die Organisation tragbar ist oder nicht?

Egal, wofür man sich entscheidet: Wenn man es tragen kann, ist es wohl richtig, sich auf das zu konzentrieren, was man am besten kann.

Letztlich lässt es sich wohl nicht vermeiden, dass sich die Plattformen unterscheiden. Auch wenn man es hybrid entwickelt, verschwinden die Unterschiede nicht.

 
iolothebard 2019-08-16

Cross-Platform ist eben auch nur noch eine weitere Plattform.

Und dazu noch komplexer und unbeholfener …

 
ohjongin 2019-08-15

In letzter Zeit wirkt React Native inzwischen ziemlich ausgereift..

Natürlich bleiben bei geräteabhängigen Apps wie Dropbox wohl weiterhin die typischen Schmerzen klassischer Hybrid-Apps bestehen..

 
xguru 2019-08-15

Der Text ist lang, aber eigentlich ist Dropbox ein Sonderfall, weil es C++ verwendet.

Für kleine Organisationen ist es ehrlich gesagt gerade am Anfang durchaus verlockend, mit einer einzigen Codebasis mehrere Plattformen zu unterstützen.

Vor 10 Jahren war das die Hybrid-Entwicklung mit HTML5 und Phonegap,

heutzutage werden alle mit Dingen wie React Native und Flutter verführt, weil sie die Unterstützung mehrerer Plattformen auf einmal ermöglichen.

Meiner Meinung nach hat das Teilen von Code auf die oben beschriebene Weise für kleine Organisationen ganz klar Vorteile.

Mit dem Wachstum des Produkts wird das allerdings wieder zu technischer Schuld.

Wenn die Nutzerzahl steigt, die Organisation wächst und mehr Entwickler dazukommen, ist das Endergebnis meiner Ansicht nach, dass sich Web/iOS/Android jeweils mit den dafür passenden Technologien weiterentwickeln.

Wie in dem guten Artikel über technische Schulden unter https://de.news.hada.io/topic?id=309 beschrieben,

ist es wichtig, technische Schulden mit Absicht zu machen. Lasst uns die Schulden zurückzahlen, bevor die Zinsen anwachsen.