Facebook sort React Native pour Android
et compile par la m�me occasion une version Android de son application Ads Manager avec le framework

Depuis le mois de juin dernier, Facebook avait d�clar� ne plus vouloir revenir au HTML 5 pour le d�veloppement d’applications mobiles natives, mais utiliserait dor�navant son Framework React Native avec JavaScript ou la biblioth�que React pour concevoir les applications mobiles.

Et pour joindre l�acte � la parole, la firme a entam� l�usage de son framework en production en concevant son application Facebook Ads Manager pour iOS enti�rement avec React Native.

Nom : opengraph.png
Affichages : 3470
Taille : 14,5 Ko

Pour rappel, cette application permet aux entreprises de cr�er et g�rer les annonces publicitaires sur le r�seau Facebook. Pour y arriver, Facebook a d� surmonter plusieurs d�fis en utilisant ce framework.

D�abord, il faut pr�ciser que React Native souffrait de l�absence de plusieurs fonctionnalit�s. Facebook a donc fait appel des ing�nieurs iOS afin d��toffer les fonctionnalit�s iOS qui n��taient pas disponibles dans React Native.

Ainsi, ils ont pu coupler les biblioth�ques iOS d�j� existantes avec l�application de sorte � pouvoir int�grer des fonctionnalit�s complexes et par-del� gagner en temps. Pour ce qui concerne ces biblioth�ques, on peut citer Relay, son framework servant � fournir les donn�es aux applications React � travers GraphQL.

Ensuite, il s�est pr�sent� le probl�me d�internationalisation et de localisation qui peut s�av�rer compliqu� en raison de la disparit� des devises et des fuseaux horaires. Pour r�gler le probl�me, la firme a �crit un script afin de r�cup�rer les fichiers JSON ainsi que les donn�es contenant les informations pr�c�dentes.

Il faut souligner que ces difficult�s sont consid�r�es comme majeures dans la mesure o� React Native fait maintenant ces premiers pas dans l�environnement de d�veloppement d�applications mobiles natives.

Une autre difficult� qui constitua un v�ritable souci pour Facebook fut la mise en �uvre du processus de cr�ation des annonces. Cela a n�cessit� l�impl�mentation de la navigation, des transitions et la prise en compte des gestes.

Pour venir � bout de ce probl�me, Facebook a utilis� le composant Navigator qui g�re les animations et les gestes dans React Native. Aussi pour achever le tout, le composant InteractionManager a �t� sollicit� pour ralentir le chargement des donn�es lorsque vous souhaitez ouvrir une fen�tre. Cela permet d��viter les donn�es prennent le pas sur les animations alors que le chargement celles-ci n�est pas encore achev�.

Apr�s avoir r�solu ces probl�mes majeurs, l��quipe de Facebook s�est pench�e sur la version Android. Ne voulant pas partir de z�ro, elle s�est appuy�e sur le code iOS pour cr�er les m�mes fonctionnalit�s Android dans un autre d�p�t. Ce choix a �t� effectu� afin d��viter les instructions de conditions if� else utilis� pour v�rifier quel code doit �tre utilis� pour la plateforme en cours. Cette m�thode leur a permis de r�utiliser environ 85 % du code de l�application iOS.

Ensuite, les ing�nieurs ont r�cup�r� le code JavaScript contenu dans le d�p�t iOS afin de l�utiliser pour le projet Android. Vu que ce n�est pas du code natif, cela n�a pos� aucun probl�me dans l�application Android. En fin de compte, l��quipe en charge du projet a pu cr�er l�application Android en utilisant uniquement le Framework React Native.

Il faut souligner �galement que cette exp�rience a servi de levier d�appui pour mettre en �uvre les composants Android du Framework React Native. En parcourant la documentation React Native, vous pourrez apercevoir les nouvelles fonctionnalit�s Android ajout�es. React Native supporte dor�navant les modules natifs Android, les composants UI natifs, prend en charge le d�bogage d�applications Android, etc. Les d�veloppeurs qui souhaitent donc cr�er des applications mobiles cross plateformes peuvent le faire maintenant.

T�l�charger le code source React Native pour Android sur GitHub

Source : Facebook

Et vous ?

Utilisez-vous React Native ? Comment le trouvez-vous ?

Que pensez-vous de React Native pour Android ?

Forum framework JavaScript