Depuis que le kit de développement JavaFX est passé en format open source, plusieurs projets ont vu le jour. De ce nombre, nous avons RoboVM qui a été initié par l’entreprise Trillian Mobile depuis 2013 afin de créer des applications Java natives fonctionnant sous iOS et bien évidemment Android.
Après avoir traversé plusieurs phases, RoboVM vient de passer un cap très important dans son cycle de développement avec la sortie de la version finale 1.0. À partir de cette étape, toutes les fonctionnalités du produit sont disponibles et utilisables en production sans risques majeurs de bogues.
Il faut relever que RoboVM est une machine virtuelle compilant les bytecodes Java en codes natifs afin de les faire fonctionner sur les différentes plateformes Android et iOS. Pour les projets visant la plateforme iOS, les développeurs n’ont plus besoin d’apprendre Objective C ou Swift, car le compilateur se charge de transformer le code java en code natif compatible iOS.
En outre, nous soulignons que RoboVM ne se préoccupe pas du langage Java à partir duquel le code est écrit. Qu’il soit écrit en Java, Scala, Groovy, Kotlin, Clojure ou n’importe quel autre langage, RoboVM accepte le bytecode généré pourvu qu’il soit compatible avec le compilateur JVM.
Pour obtenir l’exécutable, RoboVM va donc analyser le bytecode reçu en utilisant le framework Soot et le transformer en code intermédiaire 3AC appelé Jimple. Après avoir effectué plusieurs optimisations sur Jimple, une transformation sera appliquée afin que le code obtenu soit compatible avec les caractéristiques de Java 8 et la passerelle de RoboVM appelée Bro. Ce dernier facilite l’interface entre les langages C et Objective C à partir de Java. Enfin, le code Jimple modifié est traduit dans un langage de bas niveau similaire au langage assembleur appelé LLVM IR qui finalement permettra de compiler un fichier pour les architectures ARM et x86.
Il faut également préciser que RoboVM n’utilise pas de compilateur Just-in-Time (JIT), mais AOT (Ahead of time) qui est une exigence de la plateforme iOS, de même qu’un ordinateur Mac pour compilation des applications iOS. Pour mieux comprendre le processus complet de compilation, on peut se référer à schéma suivant.
RoboVM fonctionne parfaitement avec les IDE Eclipse et Intellij et les outils tels que Maven, Gradle, JUnit. Son noyau est gratuit et permet de creér les applications sans limites. Son code source est disponible en open source. Cependant, pour bénéficier de certaines facilités du support technique, vous devez avoir recours à une licence commerciale.
Par ailleurs, une réduction de 50 % est accordée à ceux qui ont testé les versions bêta et qui aujourd’hui désirent acquérir les licences annuelles pour les versions solo et startup.
Nous souhaitons une bonne arrivée à cet outil et espérons qu’il trouvera sa place dans le monde très concurrentiel des outils multi-plateforme.
Source : Blog RoboVM
Télécharger le code source
Et vous ?
Que pensez-vous de ce compilateur multiplate-forme ?
L’avez-vous déjà testée ? Quel commentaire pouvez-vous en faire ?
Pensez-vous qu’il pourra se faire un nom face aux autres outils déjà présents sur le marché ?
RoboVM disponible en version stable
Et permet de développer en Java des applications Android et iOS
RoboVM disponible en version stable
Et permet de développer en Java des applications Android et iOS
Le , par Olivier Famien
Une erreur dans cette actualité ? Signalez-nous-la !