iOS
Mesma família de kernel do macOS, outro propósito
O iOS compartilha a mesma base de kernel do macOS — XNU/Darwin (ver macOS) — mas com uma pilha de frameworks e política de segurança adaptadas para um aparelho móvel, sempre conectado e de bateria limitada.
O SoC (System-on-Chip) que roda o iOS — a família Apple A (iPhone) e mais recentemente M (iPad Pro) — é projetado pela própria Apple, seguindo a mesma lógica de integração hardware+software discutida em SoC e Arquiteturas Integradas.
Ecossistema fechado por design
Diferente de todos os outros quatro sistemas desta trilha, o iOS não permite instalar software fora da App Store por padrão (mudanças regulatórias recentes, como o sideloading exigido pela União Europeia, abriram exceções regionais limitadas, mas o padrão global continua sendo App Store única).
| Aspecto | iOS | Android (comparação) |
|---|---|---|
| Origem do código-fonte | Fechado (proprietário) | AOSP aberto + camada Google fechada |
| Instalação de apps | Só App Store (padrão) | Play Store + lojas alternativas + instalação direta (APK) |
| Personalização do sistema | Muito restrita | Ampla (launchers, ROMs customizadas) |
| Fragmentação de hardware | Baixa (poucos modelos, mesma empresa) | Alta (milhares de fabricantes/modelos) |
| Janela de atualização do SO | Simultânea para todos os modelos suportados | Depende do fabricante/operadora |
| Modelo de revisão de apps | Revisão manual + automatizada obrigatória da Apple | Revisão majoritariamente automatizada |
Sandboxing rígido
Todo app iOS roda em um sandbox dedicado desde a instalação — uma pasta isolada no sistema de arquivos que só aquele app pode ler/escrever, sem exceção (nem outro app, nem o usuário via Finder, consegue navegar livremente nos dados de um app de terceiros). Acesso a recursos do sistema (câmera, localização, contatos, Bluetooth) exige:
- Declaração explícita no
Info.plistdo app (dizendo por que precisa daquele acesso) - Autorização explícita do usuário, em tempo de execução, na primeira vez que o recurso é solicitado
Esse é o mesmo princípio de sandbox por app do Android, levado a um grau ainda mais restritivo.
Secure Enclave
Os aparelhos iOS incluem um coprocessador dedicado, fisicamente isolado do processador principal: o Secure Enclave. Ele armazena as chaves de criptografia biométrica (Face ID/Touch ID) e o Secure Enclave nunca expõe essas chaves ao resto do sistema operacional — nem um kernel comprometido consegue extraí-las.
O iOS não executa nenhum binário não assinado pela Apple (ou por um desenvolvedor com certificado válido emitido pela Apple). Essa exigência, aplicada em nível de kernel, é uma das razões pelas quais malware nativo é extremamente raro no iOS comparado a outras plataformas.
Empacotamento: o arquivo IPA
O equivalente iOS ao APK do Android é o IPA (iOS App Store Package) — também um ZIP, contendo o binário compilado (Mach-O, o formato executável nativo do Darwin — ver Desenvolvimento Multiplataforma), recursos visuais e o Info.plist de configuração.
Próximo: Como desenvolvemos software para cada plataforma
Depois de ver os cinco sistemas operacionais por dentro, a pergunta natural é: como um desenvolvedor efetivamente escreve um programa que roda em cada um deles?