Aflevering 28: door Mark Cogan in Parijs, Frankrijk (januari 2022)
Vorige afleveringen
In 2022 viert Chrome op iOS zijn 10e verjaardag. Chrome is een van de meest gebruikte iOS-apps; het is momenteel de nummer 2 Utility-app in de Amerikaanse App Store.
Chrome op iOS biedt alle geweldige Chrome-functies waar onze gebruikers dol op zijn, waaronder synchronisatie, vertalen, incognito, wachtwoordbeheer, automatisch aanvullen en nog veel meer. Chrome op iOS kan ook worden geïntegreerd met native iOS-functies, zoals automatisch invullen van wachtwoorden in meerdere vensters en op het hele apparaat.
Er is echter één belangrijk ding dat Chrome op iOS heel anders maakt dan alle andere Chrome-platformimplementaties.
Chrome op iOS gebruikt Blink niet.
Vanwege de App Store-regels van Apple moet Chrome op iOS de iOS-platform-API's gebruiken voor het ophalen en weergeven van webinhoud. Chrome op iOS gebruikt dus WebKit, Nitro en CFNetwork, terwijl andere Chrome-platforms Blink, V8 en //net
gebruiken. Als gevolg hiervan en vanwege de beperkte API die beschikbaar is voor iOS-apps om te communiceren met de inhoud van webpagina's, worden veel Chrome-functies die de //content
API's gebruiken, in Chrome op iOS geïmplementeerd met behulp van JavaScript-injectie.
Platformonafhankelijke functies in //components
zijn zo gestructureerd dat ze zoveel mogelijk code op alle platforms delen, terwijl //content
in silo's blijven:
ls components/some_component
content/ # code with dependencies on //content.
core/ # cross-platform code with no //content dependencies.
ios/ # iOS implementation using JavaScript injection.
Andere belangrijke verschillen tussen Chrome op iOS en andere platforms zijn:
- iOS-apps moeten uit één proces bestaan, dus Chrome op iOS kan niet
fork()
. - Chrome op iOS is geschreven in Objective-C++ (een mix van C++ en Objective-C), samen met wat Swift.
- Hoewel je Chrome op iOS rechtstreeks op een iOS-apparaat kunt compileren en uitvoeren, kun je ook veel functies ontwikkelen in de behoorlijk capabele apparaatsimulator die Apple biedt.
Ga aan de slag met Chrome op iOS
Je hebt nodig:
- Een macOS-computer, 64-bit, met macOS 11.3 of hoger. Apple Silicon wordt ondersteund.
- Xcode, de IDE voor Apple-platforms, versie 13.0 of hoger.
- De huidige versie van de JDK.
Zie de bouwinstructies voor meer informatie.
Het ophalen van de bron lijkt veel op andere platforms:
mkdir ${HOME}/chromium-ios
cd ${HOME}/chromium-ios
fetch ios
Daarna kunt u bouwen vanaf de opdrachtregel (of vanuit Xcode):
autoninja -C out/Debug-iphonesimulator chrome
Meer informatie over de ontwikkeling van Chrome op iOS-functies
We raden u aan de Chromium-stijlgids te raadplegen. Lees de ontwikkelaarsdocumentatie van Apple voor meer informatie over Swift, xCode en andere iOS-specifieke bronnen.
Als je doorgaans een iOS-ontwikkelaar bent en nieuw bij Chromium, raadpleeg dan de documentatie over belangrijke abstracties en datastructuren .