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.