Se você está interessado em desenvolver para iPhone ou iPad, mas não tem grana ou paciência para comprar um Mac e pagar a conta de desenvolvedor, este post é para você. Conheça a história do brasileiro que organizou uma distribuição para desenvolvimento de compilação cruzada para essa plataforma.
Alessandro de Oliveira Faria é sócio-proprietário da NETi Tecnologia, fundada em Junho de 1996, empresa especializada em desenvolvimento de software e soluções biométricas. Ele leva o Linux a sério desde 1998, com o desenvolvimento de soluções open source e contribuições em artigos técnicos. É mantenedor da biblioteca open source de videocaptura e participa de outros projetos. É openSUSE Member e colaborador do site Viva O Linux.
Alessandro, você é reconhecido pela comunidade por suas contribuições. O que motiva você a continuar contribuindo?
Há diversos motivos. Acredito que “colaborar atrai amigos, competir atrai inimigos”… Aprendi muito pela internet e é minha obrigação retribuir. Também é muito gratificante receber o retorno de outros trabalhos que utilizam o conhecimento produzido por mim. Saber que eles contribuem na vida das pessoas (seja com promoção salarial ou conquista de projetos) é muito bom. Isso além do fato de poder acelerar meu aprendizado, com artigos e relacionamentos dos portais em que contribuo, como o Viva O Linux.
Há quanto tempo você desenvolve para dispositivos móveis?
Tudo começou em 2007, quando resolvi instalar a distribuição “Familiar Linux” no iPAQ h3950. Após a instalação me envolvi com a compilação cruzada para a plataforma ARM e logo em seguida esbarrei na plataforma Android, com a qual estou até hoje, inclusive com um projeto de biometria.
O que levou você a buscar uma solução livre de compilação cruzada para a plataforma Apple? Quais foram os desafios?
Ao obter um iPad, comecei a buscar alternativas. Eu pensava que, para desenvolver software para o iPad, era necessário ter o pacote da Apple (MacBook, MacOS X e XCode), mas aí surgiram os questionamentos. Constatei que já haviam instalado o Android no iPhone. O processador da Apple, o A4, é na verdade um processador ARM Cortex A8 (Samsung S5PC110A01). Suspeita confirmada por um Raio X. Logo, se o A4 é um processador ARM, de 45 nanômetros, então é fácil realizar a compilação cruzada na plataforma GNU/Linux com o GCC. Eu precisava apenas dos projetos corretos e informações corretas para montar a solução. Na verdade, montei o lego, e surgiu assim o projeto LiMobile.
O que você recomenda para quem está começando a desenvolver nessa plataforma?
Aprenda de verdade C/C++ (Java ou Objetive-C, dependendo da arquitetura). Faça a diferença conhecendo profundamente a arquitetura em questão (software e hardware). Desenhe o projeto, prevendo portabilidade para diversas arquiteturas, não fique preso somente aos fantásticos frameworks de alto nível (embora sejam produtivos e inevitáveis).
Por que você utilizou o openSUSE para publicar uma distribuição com essa solução?
Como sou um openSUSE Member e Embaixador openSUSE, para mim é natural utilizar esse distribuição no dia a dia. Vale mencionar que o que possibilitou a rápida realização do projeto LiMobile foi a ferramenta SUSE Studio. Ela resolveu a parte da imagem do sistema. Restou apenas a tarefa de agrupar os pacotes open source (llvm-gcc, iFuse, dmg2img, iphonedevonlinux e outros) e a configuração das dependências e ambiente para as plataformas
Você acredita que as aplicações desenvolvidas com essa solução possam ser aprovadas pela loja de aplicativos da Apple?
Não sou um usuário comportado dos produtos Apple, meu iPad é desbloqueado. Porém, baseado nos e-mails trocados com diversos desenvolvedores, parece que a política realmente foi modificada. Vale a pena mencionar que o projeto LiMobile sugiu da necessidade para desenvolver programas pessoais para o meu iPad. Resolvi tornar público o trabalho, pois acredito que assim ajudo muitos usuários de iPhone que não querem adquirir um MacBook ou não têm recursos financeiros para comprá-lo. Queria romper a inércia do desenvolvimento fácil da Apple e ter mais liberdade de desenvolvimento.
Você possui algum repositório com aplicações de exemplo?
Como mencionei antes, o principal objetivo foi criar um ambiente de desenvolvimento para os meus programas pessoais, que atualmente são aplicativos educacionais para meu filho de 3 anos.
Fonte: Info Exame