Wie Wire von JavaScript zu TypeScript wechselte – Tipps für die Migration

Entwicklungszyklen werden zunehmend kürzer, und auch Programmiersprachen unterliegen einer fortlaufenden Weiterentwicklung. Für die Kollaborationsplattform Wire rechnete sich sogar der Austausch etlicher zuvor eingesetzter Programmiersprachen.

Sprachen  –  161 Kommentare

Beim Wechsel auf eine neue Programmiersprachen ist der richtige Zeitpunkt wichtig, um qualifizierte
Programmierer für das Projekt an Land zu ziehen. Dabei muss die Sprache so neu sein, dass sie einen technischen Fortschritt bringt, aber auch gleichzeitig so erprobt und verbreitet, dass es genug qualifizierte Programmierer gibt, die damit gerne arbeiten.

Vor nicht allzu langer Zeit hat die Firma hinter der Kollaborationsplattform Wire in allen Entwicklerteams die Programmiersprachen ausgewechselt, damit die Kollaborationsplattform auf einem hohen technischen Stand bleibt, aber auch um es Programmierern schneller, einfacher und bequemer zu machen. Der Wechsel stellte eine große finanzielle Investition dar, die den Stand der technischen Schuld niedrig halten und in der Zukunft langfristig technische Probleme eliminieren soll.

Konkret wechselte Wire in der iOS-Applikation von Objective-C zu Swift, in der Android-Applikation von Scala zu Kotlin und in den Webanwendungen von JavaScript zu TypeScript.

Was ist Wire?

Wire basiert auf Open-Source-Techniken und ermöglicht Firmen die Kommunikation auf einem hohen Sicherheitslevel dank einer "starken" Ende-zu-Ende-Verschlüsselung. Zunächst war sie als Endnutzer-Messenger-Alternative zu WhatsApp, Signal und Co. gedacht. Die kostenfreie Basisversion ist ebenso wie die Firmenversion ein Nachrichtenprogramm, in dem sich neben Text- auch Sprachnachrichten, Videochats, Bilder, Dateien, GIFs und vieles andere mehr austauschen lässt – immer mit einer einzelnen Verschlüsselung für jede Nachricht beziehungsweise Datei.

Wire wechselt alle Programmiersprachen

Vor dem Wechsel hatte sich Wire zwei Vorgaben gesetzt: Zum einen sollten Programmierer mit den neuen, attraktiven Sprachen angelockt werden. Auf der anderen Seite hatte Wire die Kosten einer solchen Umstellung berücksichtigt und für sich errechnet, dass durch das zukünftige schnellere Programmieren ein langfristiger Wettbewerbsvorteil in der Entwicklung neuer Features entsteht. Man ging von der Umkehrfunktion aus, dass die Geschwindigkeit der Entwicklung irgendwann rückläufig wird, weil der Einsatz zeitgemäßer Programmiersprachen demnach neue Formulierungsmöglichkeiten und Sprachkonstrukte bietet, die zu besseren Funktionen und sauberen Code führen sollen.

Die Entwicklung neuer Funktionen ist für Führungskräfte oft eine Bemessungsgröße – die Aktualisierungen der Entwicklungssprachen bringt im Fall von Wire jedoch zunächst keine wettbewerbsfördernden Features. Langfristig kann aber wohl schneller besser, also mit weniger Fehlern, programmiert werden. Die geringere Fehlerquote bringt die Software meist im ersten Anlauf durch die Qualitätssicherung. Veränderungswünsche von Kunden lassen sich so schneller umsetzen und ausliefern.