Abo
  • Services:
Anzeige
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)

Transpiler: Googles Inbox zu zwei Dritteln plattformübergreifender Code

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)

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.

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.

Anzeige

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.


eye home zur Startseite
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.



Anzeige

Stellenmarkt
  1. SCHMIDT Technology GmbH, St. Georgen
  2. Bayerische Versorgungskammer, München
  3. Robert Bosch GmbH, Leonberg
  4. AKDB, Regensburg


Anzeige
Top-Angebote
  1. mit Gutscheincode PLUSFEB (max. Rabatt 50€)
  2. zusammen nur 3,99€

Folgen Sie uns
       


  1. Wochenrückblick

    Früher war nicht alles besser

  2. Raumfahrt

    Falsch abgebogen wegen Eingabefehler

  3. Cloud

    AWS bringt den Appstore für Serverless-Software

  4. Free-to-Play-Strategie

    Total War Arena beginnt den Betabetrieb

  5. Funkchip

    US-Grenzbeamte können Pass-Signaturen nicht prüfen

  6. Telekom-Chef

    "Sorry! Da ist mir der Gaul durchgegangen"

  7. WD20SPZX

    Auch Western Digital bringt flache 2-TByte-HDD

  8. Metal Gear Survive im Test

    Himmelfahrtskommando ohne Solid Snake

  9. Cloud IoT Core

    Googles Cloud verwaltet weltweit IoT-Anlagen

  10. Schweden

    Netzbetreiber bietet 10 GBit/s für 45 Euro



Haben wir etwas übersehen?

E-Mail an news@golem.de


Anzeige
Homepod im Test: Smarter Lautsprecher für den Apple-affinen Popfan
Homepod im Test
Smarter Lautsprecher für den Apple-affinen Popfan
  1. Rückstände Homepod macht weiße Ringe auf Holzmöbeln
  2. Smarter Lautsprecher Homepod schwer reparierbar
  3. Smarter Lautsprecher Homepod-Reparaturen kosten fast so viel wie ein neues Gerät

Indiegames-Rundschau: Tiefseemonster, Cyberpunks und ein Kelte
Indiegames-Rundschau
Tiefseemonster, Cyberpunks und ein Kelte
  1. Indiegames-Rundschau Krawall mit Knetmännchen und ein Mann im Fass
  2. Games 2017 Die besten Indiespiele des Jahres

HP Omen X VR im Test: VR auf dem Rücken kann nur teils entzücken
HP Omen X VR im Test
VR auf dem Rücken kann nur teils entzücken
  1. 3D Rudder Blackhawk Mehr Frags mit Fußschlaufen
  2. Kreativ-Apps für VR-Headsets Austoben im VR-Atelier
  3. Apps und Games für VR-Headsets Der virtuelle Blade Runner und Sport mit Sparc

  1. CAT S60 Android Updates

    henrikd@web.de | 09:12

  2. Re: nothern light...?

    b1n0ry | 09:03

  3. Re: Dringende Fragen

    Zibidaeus | 08:46

  4. Re: Das sagt eine Schlange auch

    Der Held vom... | 08:42

  5. Re: Grafikkarte aufrüsten

    umerali | 08:40


  1. 09:02

  2. 17:17

  3. 16:50

  4. 16:05

  5. 15:45

  6. 15:24

  7. 14:47

  8. 14:10


  1. Themen
  2. A
  3. B
  4. C
  5. D
  6. E
  7. F
  8. G
  9. H
  10. I
  11. J
  12. K
  13. L
  14. M
  15. N
  16. O
  17. P
  18. Q
  19. R
  20. S
  21. T
  22. U
  23. V
  24. W
  25. X
  26. Y
  27. Z
  28. #
 
    •  / 
    Zum Artikel