Supposons que vous devez développer des applications mobiles pour les systèmes d'exploitation Android et iOS. Quelle est la meilleure approche de développement du logiciel ?
Vous pouvez développer deux applications natives. En tirant parti des API natives et des langages de programmation spécifiques au système d'exploitation, vous pouvez créer une application puissante. La plupart des applications d'entreprise, en particulier celles qui nécessitent un trafic d'API substantiel, tirent des avantages du développement natif.
Si vous décidez de développer des applications natives l'une après l'autre, vous commencerez probablement par Android, pour certaines des mêmes raisons qui font que les développeurs d'applications indépendants se concentrent souvent sur Android. Vous serez probablement plus amené à développer l'application complète comme produit minimum viable sur Android, puis à la convertir et à l'optimiser pour iOS après sa sortie.
Vous devrez toujours déboguer et réécrire le code pour le langage natif et reconcevoir l'interface utilisateur frontale, car les deux systèmes d'exploitation fonctionnent très différemment, ce qui rend impossible le fonctionnement multiplateforme.
Alors pourquoi ne pas repartir complètement de zéro ? Bien que vous ne puissiez pas simplement convertir le code dans un nouveau langage de programmation, une grande partie du back-end peut être répliqué sur plusieurs plateformes. Les infrastructures, les bibliothèques et les extensions tiers fonctionnement souvent de manière identique dans les deux environnements, ce qui évite les transformations coûteuses. Vous pouvez également utiliser un service de cloud mobile préconfiguré, tel qu'IBM Mobile Foundation, pour gérer le serveur Web.
Une autre option consiste à passer à l'hybride, en adoptant une approche « écrire une fois, exécuter partout ». Les applications hybrides utilisent un codebase unique qui peut fonctionner sur toutes les plateformes. Elles sont généralement codées dans un langage de programmation universellement reconnu, tel que Java, JavaScript, HTML ou CSS. Comme vous ne pouvez pas accéder aux API natives du système d'exploitation, le développement d'applications mobiles hybrides fonctionne mieux pour les applications Web simples, les applications mobiles de trois ou quatre pages avec une fonctionnalité limitée.