Episódio 28:Mark Cogan em Paris, França (janeiro de 2022)
Episódios anteriores
Em 2022, o Chrome no iOS vai comemorar seu 10o aniversário. O Chrome é um dos apps iOS mais usados. Atualmente, é o segundo app de utilitários na App Store dos EUA.
O Chrome no iOS oferece todos os recursos incríveis que nossos usuários adoram, como sincronização, tradução, navegação anônima, Gerenciador de senhas, preenchimento automático e muito mais. O Chrome no iOS também se integra aos recursos nativos do iOS, como o preenchimento automático de senhas em várias janelas e em todo o dispositivo.
No entanto, há uma coisa que torna o Chrome no iOS muito diferente de todas as outras implementações de plataforma do Chrome.
O Chrome no iOS não usa o Blink.
Devido às regras da App Store da Apple, o Chrome no iOS precisa usar as APIs da plataforma iOS para buscar e renderizar conteúdo da Web. O Chrome no iOS usa WebKit, Nitro e CFNetwork, enquanto outras plataformas do Chrome usam Blink, V8 e //net
. Por causa disso e da API limitada disponível para que apps iOS interajam com o conteúdo da página da Web, muitos recursos do Chrome que usam as APIs //content
são implementados no Chrome no iOS usando a injeção de JavaScript.
Os recursos multiplataforma no //components
são estruturados para compartilhar o máximo de código possível em todas as plataformas, mantendo as dependências de //content
isoladas:
ls components/some_component
content/ # code with dependencies on //content.
core/ # cross-platform code with no //content dependencies.
ios/ # iOS implementation using JavaScript injection.
Outras diferenças importantes entre o Chrome no iOS e outras plataformas incluem:
- Os apps iOS precisam ser de processo único. Portanto, o Chrome no iOS não pode
fork()
. - O Chrome no iOS é escrito em Objective-C++ (uma combinação de C++ e Objective-C), além de um pouco de Swift.
- Embora seja possível compilar e executar o Chrome no iOS diretamente em um dispositivo iOS, você também pode desenvolver muito recursos no simulador de dispositivo bastante potente oferecido pela Apple.
Comece a usar o Chrome no iOS
Você precisará dos seguintes itens:
- Um computador macOS de 64 bits com o macOS 11.3 ou mais recente. O Apple Silicon é compatível.
- Xcode, o ambiente de desenvolvimento integrado para plataformas da Apple, versão 13.0 ou mais recente.
- A versão atual do JDK.
Consulte as instruções de criação para ver mais informações.
A busca da origem é muito semelhante à de outras plataformas:
mkdir ${HOME}/chromium-ios
cd ${HOME}/chromium-ios
fetch ios
Depois disso, você pode compilar a partir da linha de comando (ou do Xcode):
autoninja -C out/Debug-iphonesimulator chrome
Saiba mais sobre o desenvolvimento de recursos do Chrome no iOS
Consulte o Guia de estilo do Chromium. Leia a documentação do desenvolvedor da Apple para saber mais sobre Swift, xCode e outros recursos específicos do iOS.
Se você costuma ser um desenvolvedor iOS e não conhece o Chromium, consulte a documentação sobre abstrações e estruturas de dados importantes.