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. EHRMANN AG, Oberschönegg
  2. DLR Deutsches Zentrum für Luft- und Raumfahrt e.V., 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. 4,31€
  2. 23,49€
  3. (PC für 59,99€, PS4 für 69,99€ - Release am 13. September)
  4. 137,70€

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
       


NXP Autoschlüssel erklärt

VW hat ein Konzeptauto mit einem Schließsystem ausgestattet, das vor Hackerangriffen sicher sein soll. Das Video stellt das System vor.

NXP Autoschlüssel erklärt Video aufrufen
Acer Predator Thronos im Sit on: Der Nerd-Olymp
Acer Predator Thronos im Sit on
Der Nerd-Olymp

Ifa 2019 Ob wir es nun den eisernen Thron oder den Sitz der Götter nennen: Der Predator Thronos von Acer fällt auf dem Messestand des Herstellers schon auf. Golem.de konnte den skurrilen Stuhl ausprobieren. Er ist eines Gaming-Kellers würdig.
Ein Hands on von Oliver Nickel

  1. Nitro XV273X Acer baut ersten Monitor mit IPS-Panel und 240 Hz
  2. Acer Beim Predator-Notebook fährt die Tastatur wie eine Rampe aus
  3. Geräte für Mediengestalter Acer gibt Verfügbarkeit der Concept-D-Laptops bekannt

Garmin Fenix 6 im Test: Laufzeitmonster mit Sonne im Herzen
Garmin Fenix 6 im Test
Laufzeitmonster mit Sonne im Herzen

Bis zu 24 Tage Akkulaufzeit, im Spezialmodus sogar bis zu 120 Tage: Garmin setzt bei seiner Sport- und Smartwatchserie Fenix 6 konsequent auf Akku-Ausdauer. Beim Ausprobieren haben uns neben einem System zur Stromgewinnung auch neue Energiesparoptionen interessiert.
Ein Test von Peter Steinlechner

  1. Fenix 6 Garmins Premium-Wearable hat ein Pairing-Problem
  2. Wearable Garmin Fenix 6 bekommt Solarstrom

MX Series im Hands on: Logitechs edle Eingabegeräte
MX Series im Hands on
Logitechs edle Eingabegeräte

Beleuchtet, tolles Tippgefühl und kabellos, dazu eine Maus mit magnetischem Schweizer Präzisionsrad: Logitech hat neue Eingabegeräte für seine Premium-Reihe veröffentlicht - beide unterstützen USB Typ C. Golem.de konnte MX Keys und MX Master 3 unter Windows und MacOS bereits ausprobieren.
Ein Hands on von Peter Steinlechner

  1. Unifying Sicherheitsupdate für Logitech-Tastaturen umgangen
  2. Gaming Logitech bringt mechanische Tastaturen mit flachen Schaltern
  3. Logitacker Kabellose Logitech-Tastaturen leicht zu hacken

    •  /