Abo
  • IT-Karriere:

Transpiler: Googles Inbox zu zwei Dritteln plattformübergreifender Code

Um native iOS- und Android-Apps sowie die Web-App für Inbox möglichst gemeinsam weiter zu entwickeln, setzt Google auf Transpiler, die Java in Javascript und Objective-C übersetzen.

Artikel veröffentlicht am ,
Inbox schreibt Google auf für iOS und das Web zum Teil in Java.
Inbox schreibt Google auf für iOS und das Web zum Teil in Java. (Bild: Google)

Ungefähr zwei Drittel des Client-Codes von Googles neuem E-Mail-Dienst Inbox werden plattformübergreifend genutzt. Das ist insofern ungewöhnlich, da für Android in Java, für iOS in Objective-C und für das Web in Javascript programmiert wird. Dennoch ist eine weitgehend einheitliche Code-Pflege möglich. Google nutzt dafür Transpiler und das Konzept Model View Controller (MVC) zur Strukturierung.

Stellenmarkt
  1. Finanzbehörde - Personalabteilung Freie und Hansestadt Hamburg, Hamburg
  2. Eurowings Aviation GmbH, Köln

Letzteres erlaubt den Entwicklern eine klare Trennung der darzustellenden Daten sowie der Anwendungslogik von der plattformspezifischen Oberfläche, für die unter anderem das Android SDK, UIKit für iOS sowie CSS für die Web-Anwendung genutzt werden. Die Logik und die Datenmodelle werden in Java geschrieben, was so unter Android direkt weiter verwendet werden kann.

Programmiersprachen ineinander übersetzen

Für iOS und die Web-Anwendung verwendet Google zwei selbst entwickelte Transpiler. Mit J2ObjC wird aus den Java-Quellen Objective-C-Code erzeugt, das Google Web Toolkit (GWT) erstellt entsprechend Javascript, das im Browser ausgeführt werden kann. Dadurch spart sich Google eigenen Angaben zufolge einen erheblichen Mehraufwand ein. Immerhin müssten Dinge wie die Netzwerkverwaltung, das Zwischenspeichern von Objekten oder die Unterstützung für Veränderungen an der Nutzerverwaltung für alle drei Clients korrekt implementiert werden und ständig aktualisiert werden.

Etwas problematisch wird diese Herangehensweise bei der Speicherverwaltung, da Java einen Garbage Collector (GC) nutzt, Objective-C hingegen eine Referenzzählung. J2ObjC verfolgt dabei den Ansatz, dass Speicherbereiche für Objekte, die normalerweise von GC aufgeräumt würden, freigegeben werden, wenn ein Autorelease-Pool leerläuft. Außerdem müssen Zyklen in dem Programmablauf aufgebrochen werden können, weshalb in dem Java-Code bereits schwache Referenzen annotiert werden. Diese werden wiederum vom Transpiler so übersetzt, dass die korrespondierenden Eigenschaften mit dem Zusatz __weak versehen werden.

Dank dieser Vorgehensweise habe man es geschafft, ein Produkt für drei Plattformen mit den gleichen Funktionen und vor allem termingerecht zu veröffentlichen, erklärt Google.



Anzeige
Spiele-Angebote
  1. 3,74€
  2. 4,99€
  3. 1,12€

foxylion 26. Nov 2014

Weil Business-Logik auch so toll Bibliotheken des Zielsystems nutzen kann. Das enzige...

mxcd 25. Nov 2014

Das sähe ich dann als zutreffend an, wenn Google gleich eine entsprechende Webanwendung...

tomate.salat.inc 25. Nov 2014

Hatte ich auch erst vermutet, aber nach nochmaligem Lesen glaube ich, er meinte schon...

Nein! 25. Nov 2014

Hast mich neugierig gemacht. Teil deine Theorie.


Folgen Sie uns
       


Wasserstoff-Mercedes GLC F-Cell im Test

Der Mercedes GLC F-Cell ist eines der wenigen Serienfahrzeuge mit Brennstoffzellenantrieb. Wir haben das Auto getestet.

Wasserstoff-Mercedes GLC F-Cell im Test Video aufrufen
Ryzen 3900X/3700X im Test: AMDs 7-nm-CPUs lassen Intel hinter sich
Ryzen 3900X/3700X im Test
AMDs 7-nm-CPUs lassen Intel hinter sich

Das beste Prozessor-Design seit dem Athlon 64: Mit den Ryzen 3000 alias Matisse bringt AMD sehr leistungsstarke und Energie-effiziente CPUs zu niedrigen Preisen in den Handel. Obendrein laufen die auch auf zwei Jahre alten sowie günstigen Platinen mit schnellem DDR4-Speicher.
Ein Test von Marc Sauter

  1. Ryzen 3000 BIOS-Updates schalten PCIe Gen4 für ältere Boards frei
  2. Mehr Performance Windows 10 v1903 hat besseren Ryzen-Scheduler
  3. Picasso für Sockel AM4 AMD verlötet Ryzen 3400G für flottere iGPU

Endpoint Security: IT-Sicherheit ist ein Cocktail mit vielen Zutaten
Endpoint Security
IT-Sicherheit ist ein Cocktail mit vielen Zutaten

Tausende Geräte in hundert verschiedenen Modellen mit Dutzenden unterschiedlichen Betriebssystemen. Das ist in großen Unternehmen Alltag und stellt alle, die für die IT-Sicherheit zuständig sind, vor Herausforderungen.
Von Anna Biselli

  1. Datendiebstahl Kundendaten zahlreicher deutscher Firmen offen im Netz
  2. Metro & Dish Tisch-Reservierung auf Google übernehmen
  3. Identitätsdiebstahl SIM-Dieb kommt zehn Jahre in Haft

In eigener Sache: Golem.de bietet Seminar zu TLS an
In eigener Sache
Golem.de bietet Seminar zu TLS an

Der Verschlüsselungsexperte und Golem.de-Redakteur Hanno Böck gibt einen Workshop zum wichtigsten Verschlüsselungsprotokoll im Netz. Am 24. und 25. September klärt er Admins, Pentester und IT-Sicherheitsexperten in Berlin über Funktionsweisen und Gefahren von TLS auf.

  1. In eigener Sache ITler und Board kommen zusammen
  2. In eigener Sache Herbsttermin für den Kubernetes-Workshop steht
  3. Golem Akademie Golem.de startet Angebote zur beruflichen Weiterbildung

    •  /