• IT-Karriere:
  • Services:

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. Fresenius Kabi Deutschland GmbH, Oberursel
  2. dSPACE GmbH, Paderborn

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.

Bitte aktivieren Sie Javascript.
Oder nutzen Sie das Golem-pur-Angebot
und lesen Golem.de
  • ohne Werbung
  • mit ausgeschaltetem Javascript
  • mit RSS-Volltext-Feed


Anzeige
Spiele-Angebote
  1. 52,99€
  2. 19,95€
  3. (-60%) 23,99€
  4. (-79%) 5,99€

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
       


Nintendo Ring Fit Adventure angespielt

Mit Ring Fit Adventure können Spieler auf der Nintendo Switch einen Drachen bekämpfen - und dabei gleichzeitig Sport machen.

Nintendo Ring Fit Adventure angespielt Video aufrufen
Razer Blade Stealth 13 im Test: Sieg auf ganzer Linie
Razer Blade Stealth 13 im Test
Sieg auf ganzer Linie

Gute Spieleleistung, gute Akkulaufzeit, helles Display und eine exzellente Tastatur: Mit dem Razer Blade Stealth 13 machen Käufer eigentlich kaum einen Fehler - es sei denn, sie kaufen die 4K-Version.
Ein Test von Oliver Nickel

  1. Naga Left-Handed Edition Razer will seine Linkshändermaus wieder anbieten
  2. Junglecat Razer-Controller macht das Smartphone zur Switch
  3. Tartarus Pro Razers Tastenpad hat zwei einstellbare Schaltpunkte

Energiewende: Grüner Wasserstoff aus der Zinnschmelze
Energiewende
Grüner Wasserstoff aus der Zinnschmelze

Wasserstoff ist wichtig für die Energiewende. Er kann als Treibstoff für Brennstoffzellenautos genutzt werden und gilt als sauber. Seine Herstellung ist es aber bislang nicht. Karlsruher Forscher haben nun ein Verfahren entwickelt, bei dem kein schädliches Kohlendioxid entsteht.
Ein Bericht von Werner Pluta

  1. Brennstoffzelle Deutschland bekommt mehr Wasserstofftankstellen
  2. Energiewende Hamburg will große Wasserstoff-Elektrolyseanlage bauen

Macbook Pro 16 Zoll im Test: Ein Schritt zurück sind zwei Schritte nach vorn
Macbook Pro 16 Zoll im Test
Ein Schritt zurück sind zwei Schritte nach vorn

Keine Butterfly-Tastatur mehr, eine physische Escape-Taste, dünnere Displayränder: Es scheint, als habe Apple beim Macbook Pro 16 doch auf das Feedback der Nutzer gehört und ist einen Schritt zurückgegangen. Golem.de hat sich angeschaut, ob sich die Änderungen auch lohnen.
Ein Test von Oliver Nickel

  1. Audioprobleme Knackgeräusche beim neuen Macbook Pro 16 Zoll
  2. iFixit Kleber und Nieten im neuen Macbook Pro 16 Zoll
  3. Macbook Pro Apple gibt fehlerhafte Butterfly-Tastatur auf

    •  /