MechDome é uma nova ferramenta de desenvolvedor que converte automaticamente aplicativos Android em iOS e mantém todos os elementos da interface do usuário e a maioria das funcionalidades nativas.
O desenvolvimento multiplataforma tem apresentado um grande desafio para a maioria dos desenvolvedores independentes há muitos anos. Muitas vezes, é simplesmente um investimento muito grande de tempo e recursos para aprender uma nova linguagem de programação a fim de migrar seu aplicativo para outra plataforma.
Durante anos, esse fato de alocação de recursos foi o que levou muitos desenvolvedores a concentrarem seus esforços principalmente no iOS, devido à maior mercado lucrativo. Graças a projetos como Xamarin, no entanto, os desenvolvedores familiarizados com C# conseguiram enviar seus projetos para iOS, Android e Windows Mobile. Mas os desenvolvedores Android estão mais familiarizados com a escrita em Java, portanto, usar o Xamarin exigiria que o desenvolvedor se familiarizasse com uma nova linguagem e construísse uma plataforma. Cobrimos um projeto que visa preencher a lacuna entre os sistemas operacionais móveis, fornecendo uma plataforma de desenvolvimento cruzado para desenvolvedores Java -
Motor Multi-OS da Intel - mas não há como dizer para onde esse projeto está indo. Isso e onde MechDome entra.MechDome é uma empresa start-up com sede na Califórnia e constituída em janeiro que desenvolveu uma ferramenta de conversão para crie automaticamente aplicativos iOS e OS X nativos a partir do seu aplicativo Android. Não há necessidade de aprender como usar um novo IDE ou API. Tudo o que você precisa fazer é enviar um arquivo APK para o MechDome (não há necessidade de enviar seu código-fonte) e a ferramenta totalmente automatizada compilará um binário independente em segundos para iOS e OS X que o desenvolvedor poderá distribuir na App Store da Apple. Conversamos com o fundador e CEO da MechDome, Mario Kosmiskas, para ver uma demonstração da ferramenta em ação - e ela funciona. Embora existam algumas limitações devido a diferenças fundamentais entre o funcionamento do iOS e do Android (que discutiremos abaixo), a ferramenta já produziu alguns aplicativos ativos na Apple App Store, como o Código aberto Cliente Reddit Leitor Vermelho e um Código abertoSudoku cliente para provar que funciona.
Aplicativos Android no iOS com MechDome
O objetivo declarado do MechDome é permitir que os desenvolvedores convertam um aplicativo Android não modificado em um aplicativo iOS ou OS X nativo. Em comparação com tecnologias como Multi-OS Engine da Intel ou Xamarin, um desenvolvedor Android não precisa saber como vincular uma biblioteca Objective-C porque a ferramenta cuidará disso para você. Nem há necessidade de usar um construtor de UI para modificar seu aplicativo Android, pois o MechDome lida com a conversão de todos os elementos da UI do Android. Sim, até mesmo os aplicativos para tablets Android se traduzem perfeitamente em um formato adequado para iPads.
A maior promessa do MechDome é que o aplicativo Android convertido funcionará de uma maneira que os usuários do sistema operacional alvo estejam familiarizados. Por exemplo, o menu de compartilhamento do Android será substituído pela planilha de compartilhamento nativa no iOS e incluirá a capacidade de usar o AirDrop, se aplicável. Os aplicativos que postam notificações no Android exibirão uma notificação na Central de Notificações do iOS. Certas intenções, como abrir uma câmera no Android, de fato abrirão a câmera no dispositivo iOS, e as intenções de URL no Android chamarão o Safari no iOS. Os provedores de conteúdo no Android que acessam os contatos ou o calendário acessarão os bancos de dados iOS ou OS X relevantes para obter essas informações.
Mas, como mencionado anteriormente, existem de fato algumas limitações a esta ferramenta que são impostas pela natureza de como o iOS funciona. Um dos maiores desafios enfrentados por um desenvolvedor Android que deseja converter seu aplicativo para iOS é como lidar com um serviço em segundo plano. O iOS é muito mais rigoroso com quando e quais tipos de serviços em segundo plano que aplicativos de terceiros podem executar, para melhor ou para pior. Além disso, o rico sistema de intenções presente no Android, que permite a comunicação entre aplicativos, está praticamente ausente no iOS. Por fim, a API do Google Play Services não é suportada atualmente, portanto, qualquer aplicativo que dependa dos serviços do Google não funcionará. Assim, os desenvolvedores ficarão limitados principalmente à funcionalidade acessada diretamente pela entrada manual do usuário, o que não deve representar um problema significativo para a maioria dos jogos ou aplicativos.
MechDome em uso
Em uma demonstração privada, a ferramenta realmente parece funcionar conforme anunciado. Kosmiskas demonstrou a compilação de vários aplicativos Android totalmente funcionais em aplicativos iOS e OSX funcionais. Notificações do sistema, notificações na Central de Notificações, visualização na web, acesso à localização, entrada de texto e funcionalidade geral dos elementos da IU, todos trabalhados na demonstração. A calculadora AOSP executada no iOS parecia e funcionava exatamente como em qualquer dispositivo Android.
Atualizar um aplicativo e recompilá-lo para iOS também foi mostrado, e o processo é bastante simples. O desenvolvedor, neste caso o Sr. Kosmiskas, demonstrou a alteração de uma caixa de texto para exibir "XDA-Developers" no Android Studio. Ele então exportou o aplicativo, gerou um APK assinado e compilou os binários do iOS e do OS X em segundos a partir do servidor MechDome. Quando o aplicativo iOS foi iniciado usando um emulador, as alterações feitas no Android Studio estavam presentes.
Atualmente, o MechDome está passando por um programa beta público gratuito. Os desenvolvedores podem registre seu aplicativo no site MechDome para receber um convite para testar a conversão de seu aplicativo Android. Nenhuma informação de preço ainda foi divulgada para o serviço, infelizmente. Ainda assim, é um projeto interessante para ficar atento se você é um desenvolvedor Android que deseja eventualmente causar impacto no ecossistema da Apple sem ter que despender muito esforço.