MechDome est un outil de développement qui convertit automatiquement les applications Android en applications iOS et OSX.

Le développement multiplate-forme représente depuis de nombreuses années un défi majeur pour la plupart des développeurs indépendants. Très souvent, l'apprentissage d'un nouveau langage de programmation est une perte de temps et d'argent en ressources, afin de pouvoir transférer votre application sur une autre plate-forme.

Pendant des années, c’est ce fait de l’allocation des ressources qui a poussé de nombreux développeurs à concentrer leurs efforts sur iOS, en raison du marché plus lucratif. Grâce à des projets tels que Xamarin, cependant, les développeurs qui connaissent C # ont été en mesure de déployer leurs projets sur iOS, Android et Windows Mobile. Mais les développeurs Android maîtrisent mieux l'écriture en Java. Pour utiliser Xamarin, il faudrait donc qu'un développeur se familiarise avec un nouveau langage et crée une nouvelle plate-forme. Nous avons couvert un projet visant à combler le fossé entre les systèmes d'exploitation mobiles en fournissant une plate-forme de développement croisé aux développeurs Java - le moteur multi-système d'exploitation d'Intel -, mais rien n'indique vraiment où ce projet va aboutir. C'est là qu'intervient MechDome .

MechDome est une start-up basée en Californie et incorporée en janvier qui a développé un outil de conversion pour créer automatiquement des applications natives iOS et OS X à partir de votre application Android. Pas besoin d'apprendre à utiliser un nouvel IDE ou une nouvelle API. Il vous suffit d'envoyer un fichier APK à MechDome (inutile d'envoyer votre code source). L'outil entièrement automatisé compilera en quelques secondes un fichier binaire autonome pour iOS et OS X que le développeur pourra ensuite distribuer sur l'App Store d'Apple. . Nous nous sommes assis dans une interview avec le fondateur et PDG de MechDome, Mario Kosmiskas, pour assister à une démonstration de l'outil en action - et cela fonctionne. Bien qu'il existe certaines limitations dues à des différences fondamentales entre le fonctionnement d'iOS et d'Android (dont nous discuterons ci-dessous), l'outil a déjà produit quelques applications en direct sur l'App Store d'Apple, telles que le client open source Reddit RedReader et une application ouverte. -sourcez le client Sudoku pour prouver que cela fonctionne.


Applications Android sur iOS avec MechDome

L'objectif déclaré de MechDome est de permettre aux développeurs de convertir une application Android non modifiée en une application native iOS ou OS X. Comparé à des technologies telles que le moteur multi-système d’exploitation d’Intel ou Xamarin, un développeur Android n’a pas besoin de savoir comment lier une bibliothèque Objective-C, car cet outil se chargera de cela. Il n'est pas non plus nécessaire de recourir à un générateur d'interface utilisateur pour modifier votre application Android, car MechDome gère la conversion de tous les éléments de l'interface utilisateur Android. Oui, même les applications pour tablettes Android traduisent bien dans un format adapté aux iPad.

RedReader sur iOS

RedReader sur Android

La plus grande promesse de MechDome est que l'application Android convertie fonctionnera d'une manière familière pour les utilisateurs du système d'exploitation cible. Par exemple, le menu de partage Android sera remplacé par la feuille de partage native dans iOS et inclura la possibilité d'utiliser AirDrop le cas échéant. Les applications qui publient des notifications dans Android affichent à la place une notification dans le Centre de notifications iOS. Certaines intentions telles que l'ouverture d'une caméra sur Android ouvriront effectivement la caméra sur l'appareil iOS, et les intentions d'URL sur Android appelleront Safari sur iOS. Les fournisseurs de contenu sous Android qui accèdent aux contacts ou à l'agenda accéderont aux bases de données iOS ou OS X appropriées pour ces informations.

Éléments de l'interface utilisateur Android sur iOS

Menu coulissant

Fonctionnalité de partage convertie

Saisie de texte

Enregistrement de notifications

En règle générale, cependant, toutes les fonctionnalités matérielles requises pour utiliser une application Android seront directement mappées pour utiliser le matériel approprié dans iOS. Cependant, les fonctions logicielles peuvent être divisées en 3 catégories distinctes: 1) les fonctionnalités qui n'existent pas sous iOS (telles que le message toast) seront mises en œuvre directement, 2) les fonctionnalités qui existent à la fois sur iOS et sur Android sont remplacées par les fonctions correspondantes. La méthode iOS, et 3) les fonctionnalités qui existent sur iOS mais pas sur Android (telle que la bibliothèque 3D Touch d’Apple) ne peuvent pas être converties mais peuvent être implémentées via l’utilisation d’une bibliothèque. Selon le fondateur de MechDome, la plupart des activités, vues, services, toasts et fournisseurs de contenu de base devraient pouvoir être convertis d’Android à iOS.

Mais comme mentionné précédemment, il existe en effet certaines limitations à cet outil qui sont imposées par la nature du fonctionnement d’iOS. L'un des plus grands défis auxquels sont confrontés les développeurs Android cherchant à convertir leur application vers iOS est de savoir comment gérer un service en arrière-plan. iOS est beaucoup plus strict quant aux types de services d'arrière-plan que les applications tierces peuvent exécuter, pour le meilleur ou pour le pire. De plus, le système d'intention riche présent dans Android qui permet la communication entre les applications est largement absent sur iOS. Enfin, l'API des services Google Play n'est actuellement pas prise en charge. Par conséquent, toute application utilisant des services Google ne fonctionnera pas. Ainsi, les développeurs seront principalement limités aux fonctionnalités accessibles directement par une entrée manuelle de l'utilisateur, ce qui ne devrait pas poser de problème majeur pour la plupart des jeux ou des applications.


MechDome en cours d'utilisation Dans une démo privée, l'outil semble en effet fonctionner comme annoncé. M. Kosmiskas a présenté la démonstration de la compilation de plusieurs applications Android entièrement fonctionnelles dans des applications iOS et OSX fonctionnelles. Les notifications Toast, les notifications dans le centre de notifications, la vue Web, l'accès à un emplacement, la saisie de texte et les fonctionnalités générales des éléments de l'interface utilisateur ont toutes fonctionné en mode démo. La calculatrice AOSP fonctionnant sur iOS avait l'apparence et fonctionnait exactement comme sur n'importe quel appareil Android.

La mise à jour d'une application et sa recompilation pour iOS a également été montrée et le processus assez simple. Le développeur, dans ce cas, M. Kosmiskas, a démontré la modification d'une zone de texte afin d'afficher les «développeurs» dans Android Studio. Il a ensuite exporté l'application, généré un fichier APK signé et compilé les fichiers binaires iOS et OS X en quelques secondes à partir du serveur MechDome. Lorsque l'application iOS a été lancée à l'aide d'un émulateur, les modifications apportées dans Android Studio étaient présentes.

Actuellement, MechDome est en cours de bêta publique. Les développeurs peuvent enregistrer leur application sur le site Web MechDome pour recevoir une invitation à tester la conversion de leur application Android. Malheureusement, aucune information sur les prix n'a encore été dévoilée pour le service. Néanmoins, c’est un projet intéressant à surveiller si vous êtes un développeur Android qui cherche à éventuellement créer des vagues dans l’écosystème d’Apple sans devoir déployer beaucoup d’efforts.