image

Cordova : faut-il encore développer une application mobile iOS et Android avec ce framework hybride ?

image
Carl-Stephan Parent
19 mai 2021

Après nous être consacrés aux PWAs, nous poursuivons notre tour d’horizon des technologies mobiles en nous penchant cette fois-ci sur un framework hybride parmi les premiers à avoir mis les technologies web au service du développement d’applications mobiles. Il s’agit de Cordova, la plateforme de développement mobile de la Fondation Apache.

Cordova : le fork de PhoneGap est-il réellement multiplateforme ?

Fork de la plateforme PhoneGap, Callback a été cédé par Adobe à la Fondation Apache en 2011 puis rebaptisé Cordova. Présenté comme un framework de développement mobile open-source, Cordova offre historiquement la possibilité de créer des applications compatibles avec de nombreux OS : Android, iOS, Blackberry OS, Firefox OS, Ubuntu, WindowsPhone, WebOS, Symbian, Bada, Tizen etc.). Pour fonctionner, Cordova s’appuie majoritairement sur des langages de programmation web, ce qui lui confère son caractère hybride. Les applications réalisées s’apparentent donc à des pages HTML qui appellent logiquement l’ensemble des ressources nécessaires pour fonctionner (CSS, JavaScript, fichiers images ou multimédias etc.). L’application est ensuite exécutée par l’intermédiaire d’une WebView au sein du wrapper de l’application native.

Schéma de l’architecture d’une application mobile avec Cordova

Une telle architecture n’est pas forcément en mesure d’accéder à nombre de fonctionnalités intrinsèques au smartphone. Pour faire face au potentiel quasiment illimité du développement mobile natif, Cordova offre de puiser dans une riche banque d’extensions aisément disponible depuis son site web (plus de 5000 plugins sont téléchargeables). Dans les faits, la plupart de ces add-ons concerne Android et iOS. Il faut reconnaître que les autres systèmes d’exploitation (en premier lieu Windows et MacOS) sont les parents pauvres de cette base de données. Ça n’est pas vraiment bloquant dès lors qu’on s’intéresse à Cordova pour réaliser des applications mobiles. Mais il faut bien reconnaître, d’une part, que cela nuance le caractère réellement multiplateforme du framework et d’autre part, que les usages qui en sont essentiellement faits par la communauté sont avant tout cantonnés au développement d’applications mobiles.

N’oublions pas non plus que l’emploi de plugins génère inévitablement une dépendance vis-à-vis de ces derniers (et vis-à-vis de leurs créateurs) et que chaque mise-à-jour d’iOS et/ou d’Android fait peser le risque d’une rupture plus ou moins définitive du service sous-jacent.

Le catalogue d’extensions de Cordova comprend plus de 5000 plugins

Dans quelle mesure, Cordova demeure une plateforme de développement mobile d’actualité ?

Comme d’autres frameworks multiplateformes du début des années 2010, Cordova a fait naître de nombreux espoirs dans le domaine des alternatives techniques au développements natif pour iOS et Android. À l’instar de PhoneGap, son ancêtre, le framework de la fondation Apache promettait de rendre le développement mobile accessible à n’importe quel développeur web. Il s’agissait également de diviser les temps de développement (build) et de maintenance (run) par deux voire plus, via la conjugaison de trois avantages :

  • un seul développeur est nécessaire pour développer deux applications (voire davantage) ;
  • un seul code source est partagé entre chaque application ;
  • la couche graphique est unique et similaire quel que soit l’OS de destination (iOS + Android).

Près d’une décennie après la parution de Cordova, ces avantages théoriques ont fait long feu. Si la mutualisation de la couche graphique demeure possible techniquement, ça n’est plus une démarche que l’on est en mesure de préconiser aujourd’hui. Dix ans de développement mobile, ont en effet démontré qu’en matière d’ergonomie et de navigation, les recommandations d’Apple et de Google donnent le La ; chaque écart est en effet susceptible de se faire durement sanctionner en matière d’expérience utilisateur. D’un point de vue technique, la situation est globalement similaire. De nombreuses applications développées avec Cordova ont par exemple été rejetées de l’App Store lorsqu’Apple décida en 2019 de ne plus accepter les apps qui employaient le composant UIWebView.

Enfin, compte tenu de l’usage qui est fait de JavaScript notamment, il faut avoir à l’esprit que la prise en main de Cordova conjuguée à une méconnaissance des bonnes pratiques de développement d’une application mobile peuvent aisément se traduire en failles de sécurité. Ce risque n’est pas l’apanage de Cordova mais il est bien présent.

ITMS-90809: Deprecated API Usage — Apple will stop accepting submissions of apps that use UIWebView APIs

Source : Apple

En conclusion, faut-il aujourd’hui développer une application mobile avec Cordova ?

La version 10.0.0 de Cordova est parue courant 2020. Il faut donc reconnaître que l’on peut encore compter sur le framework de la Fondation Apache (et son riche catalogue d’extensions), plus de dix ans après sa parution. C’est d’autant plus remarquable que ce n’est pas le cas de tous ses homologues. Pour autant, faut-il encore miser sur lui aujourd’hui ? Rien n’est moins sûr. Si votre projet s’apparente à un MVP (Most Valuable Project) ou bien à une application mobile à dominante éditoriale, pourquoi pas. Mais à l’heure des React Native, Xamarin ou Flutter (voire dans certains cas des PWAs), ces plateformes plus récentes et pour certaines d’entre elles, bien plus populaires désormais, ne manqueront pas de remporter les suffrages d’une majeure partie des développeurs. A contrario, si l’expérience utilisateur est fondamentale pour vous, si vous ne souhaitez pas non plus être pénalisé par les évolutions stratégiques des politiques appliquées par Apple et Google, le développement natif continue alors d’apporter de solides garanties.

image
image
Équipe iOS
11 juin 2021
Développement application mobile

Les 7 points clefs à retenir de la WWDC 2021

Pour cette seconde édition 100 % numérique, imposée par la crise sanitaire de la Covid-19, la WWDC 21 a fait le plein de nouveautés, en mettant l’accent sur le contrôle et la protection des données privées.  L’enseigne californienne a profité de cette édition de la Worldwide Developers Conference pour exposer de nombreuses nouveautés avec la […]
image
image
Carl-Stephan Parent
10 juin 2021
Agence application mobile

Développer une application mobile avec Ionic

Après nous être précédemment consacrés aux PWA (Progressive Web App) puis à Phonegap et Adobe Air, nous ne pouvions poursuivre ce tour d’horizon des outils et technologies dédiés au développement d’applications mobiles sans consacrer ce nouvel article à Ionic, le framework dont la prochaine conférence annuelle se tiendra le 23 juin prochain. Ionic est une […]
image
image
Carl-Stephan Parent
26 mai 2021
Agence application mobile

Développement d’application mobile : Adobe AIR

Nous poursuivons notre tour d’horizon des technologies aujourd’hui disponibles pour réaliser des applications mobiles iOS et Android. Après nous être intéressés aux PWA puis à Cordova, nous allons aborder la seconde tentative d’Adobe pour s’imposer comme un acteur majeur du développement mobile. Il s’agit du framework multiplateforme Adobe AIR. Adobe AIR : un moteur d’exécution […]
image
image
Carl-Stephan Parent
25 mai 2021
Agence application mobile

E-commerce et m-commerce, pourquoi les apps mobiles séduisent les consommateurs

Les applications et sites web mobiles m-commerce offrent la possibilité de capter des audiences de plus en plus larges puisqu’ils sont ergonomiquement plus adaptés à l’utilisation d’écrans tactiles. Le temps d’interaction homme-mobile est très élevé de nos jours, c’est pourquoi, il doit être exploité par toute enseigne qui souhaite avoir une présence digitale, ou bien […]
image
image
Carl-Stephan Parent
19 mai 2021
Agence application mobile

Cordova : faut-il encore développer une application mobile iOS et Android avec ce framework hybride ?

Après nous être consacrés aux PWAs, nous poursuivons notre tour d’horizon des technologies mobiles en nous penchant cette fois-ci sur un framework hybride parmi les premiers à avoir mis les technologies web au service du développement d’applications mobiles. Il s’agit de Cordova, la plateforme de développement mobile de la Fondation Apache. Cordova : le fork […]
image
image
Carl-Stephan Parent
29 avril 2021
Agence application mobile

UX Design et application mobile

Lors de la conception d’une application mobile, l’expérience utilisateur (UX) agit comme un différenciateur d’envergure. L’UX permet d’offrir une proposition de valeur unique. Au final, une bonne UX mobile aide à générer plus de revenus et à bâtir ou consolider la réputation de la marque. C’est une réalité incontestable, depuis que l’usage du smartphone s’est […]
image
image
Pôle Conseil
25 mars 2021
UX design

SXO : la tendance qu’il faut suivre en matière de référencement naturel

Le SXO (Search eXperience Optimization) est une nouvelle discipline qui considère désormais l’UX (User eXperience) comme un critère déterminant en matière de référencement naturel. Cette nouvelle branche du SEO (Search Engine Optimization) ne cesse de gagner de l’importance depuis 2018, en réponse aux grandes mutations des processus de recherche d’information sur la toile. Avec une population de plus […]
image
image
Équipe Android
26 février 2021
Agence application mobile

Google dévoile Android 12 à travers un premier aperçu réservé aux développeurs d’applications mobiles

Ce jeudi 18 février 2021, la première preview d’Android 12 est officiellement sortie des cartons de Google. Des nombreuses optimisations aux adaptions aux standards modernes, voici un tour d’horizon de ce qui nous attend dans la prochaine version d’Android. Comment Google améliore la gestion de la vie privée au sein d’Android 12 Le premier objectif […]
image
image
Jason Dejaégère
27 novembre 2020
UI design

Tendances et inspirations UI du moment dans le monde digital #1

Bien le bonjour ! 🖖 C’est avec grand plaisir qu’IKOMOBI vous présente sa nouvelle série mensuelle. Vous vous demandez de quoi ça parle ? Et bien, c’est tout simple. Cette série est un condensé des sites ou applications qui ont marqué, interpelé voire impressionné les membres du studio design. Une sélection d’une dizaine d’interfaces innovantes, […]
image
image
Carl-Stephan Parent
26 novembre 2020
Marketing digital

Applications mobiles : profitez de leurs avantages marketings incontournables.

Traditionnelles, ou bien tout ou partie digitales, aucune organisation n’échappe aujourd’hui à la question de la place qu’il convient d’octroyer au mobile au sein de sa stratégie digitale. Depuis maintenant plus de dix ans, le champ des possibles offert par les applications mobiles n’a eu cesse de s’agrandir, offrant toujours plus d’opportunités de créer un […]
image
image
Carl-Stephan Parent
26 novembre 2020
Développement application mobile

Avec MAUI, Microsoft achève l’intégration de son framework d’applications mobiles à la plateforme .NET

Xamarin.Forms évolue en .NET Multi-platform App User Interface (MAUI). Cet article nous donne tout d’abord l’opportunité de revenir sur l’histoire de Xamarin et les principaux points forts du framework mobile de Microsoft. Nous vous présentons les changements prévus prochainement et les raisons de cette évolution stratégique pour l’éditeur de Redmond. De Xamarin à Xamarin.Forms : […]
Message bien envoyé !