Chromium Chronicle Nr. 28: Erste Schritte mit Chrome unter iOS

Folge 28:von Mark Cogan in Paris, Frankreich (Januar 2022)
Vorherige Folgen

2022 feiert Chrome für iOS sein zehnjähriges Jubiläum. Chrome ist eine der am häufigsten verwendeten iOS-Apps und im US-App Store die zweitgrößte Dienstprogramm-App.

Chrome für iOS bietet alle großartigen Chrome-Funktionen, die unsere Nutzer lieben, darunter Synchronisierung, Übersetzer, Inkognito-Modus, Passwortmanager, Autofill und viele weitere. Chrome unter iOS lässt sich auch in native iOS-Funktionen wie das Mehrfenstermodus und das geräteübergreifende automatische Ausfüllen von Passwörtern einbinden.

Es gibt jedoch einen wichtigen Punkt, durch den sich Chrome unter iOS stark von allen anderen Implementierungen der Chrome-Plattform unterscheidet.

Chrome unter iOS verwendet Blink nicht.

Aufgrund der App Store-Regeln von Apple muss Chrome unter iOS zum Abrufen und Rendern von Webinhalten die APIs der iOS-Plattform verwenden. So verwendet Chrome unter iOS WebKit, Nitro und CFNetwork, wo auch andere Chrome-Plattformen Blink, V8 und //net nutzen. Aus diesem Grund und der eingeschränkten API, die für iOS-Apps zur Interaktion mit Webseiteninhalten verfügbar ist, werden viele Chrome-Funktionen, für die die //content APIs verwendet werden, in Chrome unter iOS mithilfe von JavaScript-Injection implementiert.

Plattformübergreifende Funktionen in //components sind so strukturiert, dass so viel Code wie möglich auf allen Plattformen geteilt wird, während //content-Abhängigkeiten isoliert bleiben:

ls components/some_component

content/        # code with dependencies on //content.
core/           # cross-platform code with no //content dependencies.
ios/            # iOS implementation using JavaScript injection.

Weitere wichtige Unterschiede zwischen Chrome unter iOS und anderen Plattformen:

  • iOS-Apps müssen Einzelprozesse sein. Daher kann Chrome unter iOS nicht fork() verwenden.
  • Chrome unter iOS ist in Objective-C++ geschrieben, einer Mischung aus C++ und Objective-C, zusammen mit Swift.
  • Sie können Chrome auf iOS-Geräten direkt auf einem iOS-Gerät kompilieren und ausführen. Der leistungsstarke Gerätesimulator von Apple ermöglicht jedoch auch die Entwicklung zahlreicher Funktionen.

Erste Schritte mit Chrome unter iOS

Folgendes wird benötigt:

  • macOS-Computer (64-Bit) mit macOS 11.3 oder höher Apple Silicon wird unterstützt.
  • Xcode, die IDE für Apple-Plattformen, Version 13.0 oder höher.
  • Die aktuelle Version des JDK.

Weitere Informationen finden Sie in der Erstellungsanleitung.

Der Abruf der Quelle erfolgt ähnlich wie bei anderen Plattformen:

mkdir ${HOME}/chromium-ios
cd ${HOME}/chromium-ios
fetch ios

Danach können Sie über die Befehlszeile (oder über Xcode) erstellen:

autoninja -C out/Debug-iphonesimulator chrome

Weitere Informationen zur Entwicklung von Chrome unter iOS-Funktionen

Weitere Informationen finden Sie im Chromium-Styleguide. Weitere Informationen zu Swift, xCode und anderen iOS-spezifischen Ressourcen finden Sie in der Entwicklerdokumentation von Apple.

Wenn Sie normalerweise ein iOS-Entwickler und neu bei Chromium sind, lesen Sie die Dokumentation zu wichtigen Abstraktionen und Datenstrukturen.