Abo
  • 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. PARI Pharma GmbH, Gräfelfing, Gilching, Weilheim
  2. DR. JOHANNES HEIDENHAIN GmbH, Traunreut

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,99€
  2. (-82%) 5,50€
  3. 3,86€
  4. 32,49€

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
       


Sony Xperia 10 Plus - Hands on (MWC 2019)

Das Xperia 10 Plus hat Sony auf dem Mobile World Congress 2019 vorgestellt. Im ersten Hands on konnte uns die schmale Bauform überzeugen. Endlich gibt es auch Dual-Kamera-Technik. Das Xperia 10 Plus kommt Anfang März 2019 für 430 Euro auf den Markt.

Sony Xperia 10 Plus - Hands on (MWC 2019) Video aufrufen
Thyssen-Krupp Testturm Rottweil: Herr Fetzer parkt die Aufzugkabine um
Thyssen-Krupp Testturm Rottweil
Herr Fetzer parkt die Aufzugkabine um

Ohne Aufzüge gäbe es keine Hochhäuser. Aber inzwischen sind Wolkenkratzer zu hoch für herkömmliche Systeme. Thyssen-Krupp testet derzeit einen neuartigen Aufzug, der beliebig hoch fahren kann. Inspiriert ist er vom Paternoster und dem Transrapid. Wir waren im Testturm.
Ein Bericht von Werner Pluta

  1. Ceramic Speed Hätte, hätte - Fahrrad ohne Kette
  2. Geheimdienste und Bundeswehr Masterstudiengang für Staatshacker gestartet
  3. Sonitus Technologies Zahnmikrofon sorgt für klare Kommunikation

Gesetzesinitiative des Bundesrates: Neuer Straftatbestand Handelsplattform-Betreiber im Darknet
Gesetzesinitiative des Bundesrates
Neuer Straftatbestand Handelsplattform-Betreiber im Darknet

Eine Gesetzesinitiative des Bundesrates soll den Betrieb von Handelsplattformen im Darknet unter Strafe stellen, wenn sie Illegales fördern. Das war auch bisher schon strafbar, das Gesetz könnte jedoch vor allem der Überwachung dienen, kritisieren Juristen.
Von Moritz Tremmel

  1. Security Onionshare 2 ermöglicht einfachen Dateiaustausch per Tor
  2. Tor-Netzwerk Britischer Kleinstprovider testet Tor-SIM-Karte
  3. Tor-Netzwerk Sicherheitslücke für Tor Browser 7 veröffentlicht

FreeNAS und Windows 10: Der erste NAS-Selbstbau macht glücklich
FreeNAS und Windows 10
Der erste NAS-Selbstbau macht glücklich

Es ist gar nicht so schwer, wie es aussieht: Mit dem Betriebssystem FreeNAS, den richtigen Hardwarekomponenten und Tutorials baue ich mir zum ersten Mal ein NAS-System auf und lerne auf diesem Weg viel darüber - auch warum es Spaß macht, selbst zu bauen, statt fertig zu kaufen.
Ein Erfahrungsbericht von Oliver Nickel

  1. TS-332X Qnaps Budget-NAS mit drei M.2-Slots und 10-GBit-Ethernet

    •  /