Tiago Aguiar e Rafael Peixoto receberam Diego dos Santos, desenvolvedor iOS com experiência em projetos internacionais, para uma conversa sobre os primeiros passos nesse ecossistema. O papo passou por linguagem e ferramentas, hardware recomendado, estratégias de teste, o processo de publicação na App Store e como está o mercado para quem quer entrar na área hoje.
Diego dos Santos é desenvolvedor iOS com passagem por diferentes empresas, incluindo um projeto de aplicativo para acompanhamento de partidas de hóquei usado pela liga profissional americana (NHL). Sua trajetória na área começou na Apple Developer Academy, um programa que existe dentro de universidades parceiras no Brasil — no caso dele, na PUCRS — e que oferece dispositivos, formação técnica e uma abordagem voltada a empreendedorismo, não apenas à formação de mão de obra para empresas. Diego também já migrou para uma carreira internacional durante a pandemia e já palestrou sobre o tema em eventos como o TDC.
Hoje a grande maioria dos desenvolvedores iOS trabalha com Swift, deixando Objective-C como linguagem legada. O Swift é open source e pode ser compilado fora do ecossistema Apple, mas o Xcode continua sendo a ferramenta recomendada por reunir simuladores, bibliotecas e autocomplete em um único lugar — o que, na prática, empurra o desenvolvedor para usar um Mac, mesmo sem ser tecnicamente obrigatório.
"A recomendada é o Xcode, que é a IDE da Apple. Ela já te entrega várias ferramentas, como simuladores, bibliotecas, autocomplete... Tudo que tu precisa pra codar em Swift e Objective-C. E aí, nesse caso, precisa ter um Mac." por Diego dos Santos
Diferente da fragmentação vista no Android, o ecossistema Apple permite compartilhar boa parte da interface entre iPhone, iPad, Mac, Apple Watch e Apple TV usando o SwiftUI, framework declarativo lançado pela Apple. Cada dispositivo roda um sistema operacional próprio (iOS, iPadOS, watchOS), mas a camada de interface pode ser escrita uma única vez e se adaptar a cada ambiente — com exceção do Apple Watch, que tem peculiaridades de tamanho e componentes.
"Você consegue fazer uma aplicação para iPad, iPhone, MacOS, Vision Pro e Apple TV, se não me engano, usando, literalmente, a mesma interface e ela depois se adapta a cada ambiente." por Diego dos Santos
Um dos diferenciais mais citados na conversa foi o controle de ponta a ponta que a Apple exerce sobre hardware e software, algo que simplifica testes e garante maior previsibilidade de performance mesmo em dispositivos mais antigos. Isso não significa suporte eterno: a cada lançamento de sistema operacional, alguns aparelhos mais antigos deixam de receber atualizações, e times de desenvolvimento precisam equilibrar a adoção de recursos novos com a manutenção do back-end que ainda atende usuários com versões desatualizadas.
"Como tem esse controle de hardware e software juntos, praticamente tudo o que tu faz já foi pensado para ser suportado em todos os dispositivos." por Diego dos Santos
Sobre a escolha entre nativo e híbrido, Diego observou que empresas que dependem diretamente do desempenho do aplicativo tendem a optar pelo nativo, garantindo compatibilidade total e acesso imediato a recursos lançados pela Apple. Soluções híbridas funcionam bem para boa parte dos casos, mas esbarram em limitações de acesso a hardware específico, como Force Touch e vibração, além de historicamente terem dificuldades em plataformas como o Apple Watch.
"Empresas que dependem do negócio do aplicativo normalmente tendem aí para o nativo, que delas conseguem garantir compatibilidades, o melhor desempenho, todos os lançamentos que a Apple lança." por Diego dos Santos
Publicar na App Store custa 100 dólares anuais e envolve uma bateria de revisão que vai além de bugs: a Apple exige que o aplicativo explique claramente por que está pedindo acesso a galeria, GPS ou área de transferência, e rejeita apps que travem durante o teste. Diego também descreveu como, em um projeto de app corporativo fechado para dispositivos próprios de uma empresa (a aplicação de hóquei), a Apple permitiu uma experiência de interface fora do padrão justamente porque não seria distribuída publicamente na loja.
"Se eu só fazer requisição para o usuário sem dar nenhuma mensagem de por que que eu estou usando esses dados, eles rejeitam. Eu vou deixar tudo explícito: vou acessar a galeria para tal coisa, vou fazer acesso ao GPS para tal coisa." por Diego dos Santos
"O motivo, por exemplo, que você pega a aplicação da iOS e vê que ele é melhor que o Android, é porque todos foram passados por aquela bateria de teste de qualidade, tanto de segurança, de código, quanto até de experiência do usuário." por Diego dos Santos