Como o Android difere do iOS em termos de sua arquitetura?
Os dois sistemas operacionais variam entre si em termos de arquitetura, mas são mais similares em princípio do que a execução. Esta resposta é um resumo de como ele funciona, e eu não vou aprofundar nenhum tópico em particular, senão esta resposta seria páginas longas.
Android difere da arquitetura do iOS por causa de quão aberto é o Android e quão fechado é o iOS.
Both começa com um kernel, que é praticamente o que controla o hardware, tempo, sistema de arquivos, interrupções, drivers e gerenciamento de energia. Android roda fora do kernel do Linux, enquanto iOS optou por um kernel derivado do BSD chamado Darwin. Ambos são baseados em UNIX.
Next para iOS é a camada Core OS, que tem a maioria das coisas de baixo nível necessárias para abstração das funções do sistema como OpenCL e acesso a disco.
Para Android, é a camada de bibliotecas, que tem um pouco mais de bibliotecas nele do que o Core OS, como frameworks de mídia, OpenGL, SSL, LibWebCore, e LibC.
P>Próximo para iOS é a camada Core Services, que é mais parecida com a camada de bibliotecas para Android, mas é tudo bibliotecas feitas pela Apple, como Core Data, Core Animation, WebKit, Address Book, Core Foundation, Social Libraries, e Security.
Depois vem a camada Media, que controla todo o vídeo, áudio, texto, e animações. Praticamente tudo o que é exibido na tela.
Então para Android, existe o Android Runtime, que tem as bibliotecas Core para Java e o JavaVM. Esta é praticamente a base para o Application Framework, que é uma camada a que chegaremos mais tarde.
Após a camada de mídia no iOS vem o AppKit. Esta é a parte que reúne todas as camadas para poder funcionar como um todo; esta parte junta todas as bibliotecas e tempos de execução para poder executar aplicações iOS. Os desenvolvedores usam o AppKit para serem capazes de fazer e executar aplicativos iOS. Esta é a última camada na arquitetura iOS.
Após o Android Runtime é o Application Framework, que funciona muito parecido com o AppKit. Esta é a camada que reúne tudo para poder ser usada por programadores. Esta é a última camada no Android.
A forma como a arquitetura iOS difere do Android é que o iOS é mais customizado e programado para segurança. Isto porque a Apple usa um kernel personalizado baseado em BSD e programa quase todas as suas bibliotecas a partir do zero. Isto é comparado ao Android que usa um monte de software de código aberto em vez de software personalizado como o Apple optou por fazer. Isto significa que muito dele pode nem ser necessário para o seu telefone e é inútil.
No entanto, isso não é necessariamente uma coisa ruim.
Porque a maneira que eu penso sobre ele é ter a escolha entre um laptop super fino com cada parte nele construída pelo mesmo fabricante ou construir o seu próprio computador e usar peças fora da prateleira, enquanto usando um estojo personalizado para colocá-lo dentro.
Algumas pessoas gostam do portátil porque é elegante, enquanto outras gostam de construir o seu próprio porque gostam de como podem mudar ou modificar o que têm, e gostam de como podem participar na sua criação, como o Android.
Para mim, eu gosto do Android, mas outros gostam do iOS, e isso é completamente bom; ambos têm os seus pontos fortes e fracos.
Se eu cometi algum erro, por favor sugira uma edição, e o mais provável é que eu o aceite.
Artigos semelhantes
- Um Samsung Galaxy Tab S6 Lite pode ser usado em estudos de arquitetura por estudantes de arquitetura?
- Em termos de desempenho por unidade de consumo de energia, qual arquitetura de CPU é melhor, ARM ou x86?
- Você acha que o ARM vai assumir a arquitetura x86 da Intel, dada a sua rápida melhoria de desempenho e incrível economia de energia?
- Qual é o melhor serviço de streaming, em termos de preço e em termos de espectáculo?