The Chromium Chronicle n. 28: guida introduttiva a Chrome su iOS

Episodio 28: di Mark Cogan a Parigi, Francia (gennaio 2022)
Puntate precedenti

Nel 2022 Chrome su iOS festeggia il suo decimo anniversario. Chrome è una delle app per iOS più utilizzate e attualmente è la Utility numero 2 nell'App Store degli Stati Uniti.

Chrome su iOS offre tutte le fantastiche funzionalità di Chrome che i nostri utenti amano, tra cui Sincronizzazione, Traduttore, Navigazione in incognito, Gestore delle password, Compilazione automatica e molte altre. Chrome su iOS si integra inoltre con funzionalità iOS native, come la compilazione automatica delle password multi-finestra e a livello di dispositivo.

Tuttavia, c'è una cosa importante che rende Chrome su iOS molto diverso da tutte le altre implementazioni della piattaforma Chrome.

Chrome su iOS non utilizza Blink.

A causa delle regole dell'App Store di Apple, Chrome su iOS deve utilizzare le API della piattaforma iOS per recuperare e visualizzare i contenuti web. Pertanto, Chrome su iOS utilizza WebKit, Nitro e CFNetwork mentre altre piattaforme Chrome usano Blink, V8 e //net. A causa di ciò e dell'API limitata disponibile per consentire alle app per iOS di interagire con i contenuti delle pagine web, molte funzionalità di Chrome che utilizzano le API //content vengono implementate in Chrome su iOS tramite JavaScript injection.

Le funzionalità multipiattaforma di //components sono strutturate in modo da condividere quanto più codice possibile su tutte le piattaforme, mantenendo separate le dipendenze di //content:

ls components/some_component

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

Altre differenze importanti tra Chrome su iOS e altre piattaforme includono:

  • Le app per iOS devono essere a processo singolo, quindi Chrome su iOS non può fork().
  • Chrome su iOS è scritto in Objective-C++ (una combinazione di C++ e Objective-C), oltre ad alcuni Swift.
  • Sebbene tu possa compilare ed eseguire Chrome su iOS direttamente su un dispositivo iOS, puoi anche sviluppare molte funzioni nel simulatore di dispositivi dall'efficienza fornito da Apple.

Iniziare a utilizzare Chrome su iOS

Ti serviranno:

  • Un computer macOS a 64 bit con macOS 11.3 o versioni successive. È supportato Apple Silicon.
  • Xcode, l'IDE per le piattaforme Apple, versione 13.0 o successiva.
  • La versione corrente del JDK.

Per ulteriori informazioni, consulta le istruzioni per la build.

Il recupero del codice sorgente è molto simile ad altre piattaforme:

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

Successivamente, puoi creare dalla riga di comando (o da Xcode):

autoninja -C out/Debug-iphonesimulator chrome

Scopri di più sullo sviluppo di funzionalità di Chrome su iOS

Ti invitiamo a fare riferimento alla guida di stile per Chromium. Leggi la documentazione per gli sviluppatori Apple per scoprire di più su Swift, xCode e altre risorse specifiche per iOS.

Se generalmente sei uno sviluppatore iOS e non hai mai utilizzato Chromium, consulta la documentazione su importanti astrazioni e strutture di dati.