React Native, une solution puissante !

React Native, une solution puissante !

Alors que la guerre entre le développement natif et le développement hybride continue, nous nous sommes penchés sur la solution React Native !

C’est quoi React Native ?

Pour commencer, c’est un framework d’applications mobiles, qui a été créé par le grand Facebook. C’est une solution qui se base sur React, mais cette fois-ci, adaptée pour le mobile ! Pas mal non ?

Comme ses concurrents, c’est une solution hybride, qui permet de réutiliser une bonne partie du développement sur les deux grandes plateformes (Android et iOS).

Une solution hybride ? Mais il y en a déjà des tonnes !

Oui, il y en a beaucoup, les plus connues sont Ionic, Cordova, Xamarin, et un petit nouveau, Flutter. Si nous prenons l’exemple de Cordova (que nous ne dénigrons absolument pas), celui-ci permet de développer des applications, mais avec des composants web. Ce qui peut provoquer des ralentissements, ainsi que des problèmes pour accéder efficacement à certains composants du téléphone.

Dans le cas de React Native, nous pouvons développer comme une application native, en ayant des composants qui se comportent, comme les composants natifs. Intéressant ! Cela signifie que nous exploitons le smartphone de manière pratiquement optimale, et que nous oublions le système de webview.

Du coup, c’est mieux et moins cher que du développement natif ?

Le développement natif reste le plus puissant ! Nous ne pouvons rien y faire 😉 React Native propose une alternative qui se rapproche énormément du développement natif, mais qui ne l’égal pas. Ce qui est mieux, c’est que le développement sur Android et iOS se fait en simultanée, et que React Native semble plus facile à appréhender que du développement natif. Bien entendu, les temps de développements sont réduits avec React Native, ce qui réduit automatiquement le temps de développement et le coût !

React Native, va-t-il pouvoir écraser le développement natif ?

L’écraser non, le concurrencer oui. Il faut savoir que pour un très grand nombre d’applications, le développement hybride est largement adapté. React Native convient parfaitement. Là où les choses deviennent plus compliquées, c’est pour les applications utilisant toute une série de calculs, du traitement de données ou pire, des fonctions utilisables seulement en natif. À ce moment-là, on peut voir le smartphone ralentir avec React Native.

Pourquoi Network Dev a choisi cette solution ?

Nous voulions changer de framework. Cordova est pratique et facile à utiliser, mais aujourd’hui, React Native nous montre probablement l’avenir. Nous avons préféré prendre cette direction, afin de proposer des applications, plus innovantes, plus puissantes et surtout plus propres.

L’autre petit nouveau, Flutter, c’est comme React Native ?

C’est une autre nouvelle solution, développée par Google cette fois. C’était prévisible, Google aime les challenges, et il fallait relever celui d’égaler React Native de Facebook. Flutter est beaucoup plus jeune que React Native (sa première version était en mai 2017, contre janvier 2015 pour React Native), ce qui fait que le framework n’est pas encore suffisamment évolué pour faire facilement toutes les applications que l’on souhaite. Son apprentissage est à première vue un peu plus complexe que celui de React Native, mais quand on veut apprendre, on peut 😉
Nous pouvons dire que pour le moment, Flutter n’est pas encore assez mature pour dire si il va percer comme a pu le faire Facebook avec React Native, seul l’avenir nous le dira !

Quel est le côté pratique de développer avec React Native ?

Les adeptes de JS et de React apprécieront à coup sûr ! L’apprentissage du développement sous forme de composants, pas facile à appréhender, sera rapidement un mauvais souvenir. Vous prendrez en main de manière plus rapide et efficace le développement de votre application par la suite.
Un autre point, que nous aimons très particulièrement, est de pouvoir tester, pratiquement en live, l’application, sur votre smartphone. Grâce à l’application Expo, il vous suffit de scanner un QR Code, et votre application se lance ! Très pratique pour tester rapidement. En plus de cela, lorsque vous modifiez un morceau de code, expo met à jour automatiquement l’application sur votre smartphone ! Cela parait inutile, mais c’est très pratique lorsque nous développons une application.

Quelles sont les limites de React Native ?

Théoriquement, nous pouvons développer à peu près tout ce que nous voulons avec React Native. Les seules limites semblent être vos idées dit comme ça ! 😉 Nous pouvons à tout moment écrire du code natif, afin d’utiliser des fonctions natives de votre smartphone. C’est cette limite-là qui peut vous poser problème, car les experts en développements natifs interviennent à ce moment-là. Peut-être une alternative pour eux, de développer du spécifique sur du React Native, plutôt que des applications entières de A à Z ?
En pratique, certaines applications, comme celles spécifiques aux objets connectés ou à la réalité augmentée, conseilleront fortement le choix d’un développement natif, plutôt que de l’hybride comme React Native. Tout simplement, car l’application native, sera toujours un peu plus performante que l’application React Native, et dans le monde des objets connectés, la latence doit-être souvent très faible. Il faut aussi savoir que certaines applications qui utilisent la réalité augmentée, ne sont possibles qu’avec des applications natives (exemple de Pokemon Go ou Snapchat).
Ces limites sont-elles juste une question de temps ? 😉

En conclusion, React Native permet de développer la plupart des applications que vous souhaitez, car nous utilisons pratiquement toujours les mêmes fonctionnalités ! Network Dev n’a pour le moment, jamais été bloquée par des fonctions non-disponibles sous React Native.

Si vous avez un projet de développement d’application mobile, contactez-nous 😉