BT

RoboVM 1.0: Trazendo linguagens com base na JVM para o desenvolvimento iOS

| por Sergio De Simone Seguir 17 Seguidores , traduzido por Rafael Sakurai Seguir 35 Seguidores em 22 mai 2015. Tempo estimado de leitura: 2 minutos |

O RoboVM pretende trazer as linguagens com base na JVM para o desenvolvimento iOS, atingindo sua primeira versão estável, a Trillian Mobile anunciou, trazendo novas funcionalidades e novas licenças comerciais para seus sistemas de suporte às operações.

O objetivo do projeto de código aberto RoboVM é trazer o Java e outras linguagens que executam na JVM para o iOS, isso inclui: Java, Scala, Kotlin, Groovy e Clojure.

A abordagem do RoboVM de desenvolvimento multiplataforma é baseado no compilador antes do tempo (ahead-of-time compilation), que traduz os bytecodes Java em código de maquina ARM ou x86. Isso sugere que nenhuma interpretação é feita e o código executa nativamente na CPU alvo. Além de fornecer acesso irrestrito para a plataforma Java permitindo que os desenvolvedores deixem o ecossistema Java, o RoboVM curiosamente vai além do JNI com uma ponte customizada de Java para nativo chamado Bro ("ponte" em Sueco). Isso é usado para fazer a interface com o hardware do iPhone e iPad ou usar os serviços fornecidos pelo iOS, tal como: compras internas nas aplicações e notificações. No entanto, o JNI permanece disponível no RoboVM, mas o Bro tende a ser simples de usar e fornece um desempenho melhor que o JNI.

Outras características que destacam o RoboVM, de acordo com a Trillian, são sua integração com as IDEs e depuradores de código.

O suporte as IDEs incluem Eclipse e Android Studio, embora a primeira seja considerada estável, no entanto a segunda ainda está em estado inicial de desenvolvimento. Além disso, a integração com o Xcode Inteface Builder está planejada para ser lançada no segundo quadrimestre de 2015 como uma funcionalidade comercial.

O suporte a depuração de código, disponível somente para a licença comercial, é feita através da implementação do Java Debug Wire Protocol (JDWP), que permite depurar um processo Java de dentro de uma IDE. A abordagem alternativa usando o LLDB foi descartada, porque de acordo com o RoboVM o seu modelo é centralizado em processos, isso significa que "se uma thread parar, todas as outras threads tem que parar também". Do outro lado temos o modelo centralizado em threads do JDWP, que permite parar uma thread enquanto as outras threads continuam em execução.

O InfoQ.com forneceu os detalhes sobre o uso do RoboVM no artigo em inglês "Unusual Ways to Create a Mobile App", desde sua instalação até a criação de uma IPA para distribuição na App Store.

Avalie esse artigo

Relevância
Estilo/Redação

Olá visitante

Você precisa cadastrar-se no InfoQ Brasil ou para enviar comentários. Há muitas vantagens em se cadastrar.

Obtenha o máximo da experiência do InfoQ Brasil.

Dê sua opinião

HTML é permitido: a,b,br,blockquote,i,li,pre,u,ul,p

Receber mensagens dessa discussão
Comentários da comunidade

HTML é permitido: a,b,br,blockquote,i,li,pre,u,ul,p

Receber mensagens dessa discussão

HTML é permitido: a,b,br,blockquote,i,li,pre,u,ul,p

Receber mensagens dessa discussão

Dê sua opinião

Faça seu login para melhorar sua experiência com o InfoQ e ter acesso a funcionalidades exclusivas


Esqueci minha senha

Follow

Siga seus tópicos e editores favoritos

Acompanhe e seja notificados sobre as mais importantes novidades do mundo do desenvolvimento de software.

Like

Mais interação, mais personalização

Crie seu próprio feed de novidades escolhendo os tópicos e pessoas que você gostaria de acompanhar.

Notifications

Fique por dentro das novidades!

Configure as notificações e acompanhe as novidades relacionada a tópicos, conteúdos e pessoas de seu interesse

BT