Skip to content

Expo.dev : permettre aux développeurs web de créer des applications natives

Charlie Cheever, propriétaire d'expo.dev, a pour objectif de permettre aux développeurs web d'écrire du JavaScript et de créer des applications natives iOS et Android à l'aide de React Native. Cheever, qui a précédemment fait partie de l'équipe de plateforme de Facebook et cofondé Quora, raconte ses premières années à Pittsburgh, en Pennsylvanie, et sa passion pour les jeux vidéo. Il a participé au programme d'été Andrew's Leap de Carnegie Mellon et s'est spécialisé en informatique à Harvard. M. Cheever a rejoint Facebook en 2006 après avoir appris que ses anciens camarades de classe David Fetterman et Andrew Bosworth quittaient Microsoft. Il a lancé la plate-forme de développement Facebook, qui est devenue depuis une plate-forme de jeu très populaire.

J'ai discuté avec Charlie Cheever, le propriétaire d'expo.dev, tout au long de l'entretien. L'objectif d'Expo est de permettre aux développeurs web d'écrire une seule fois en JavaScript et de produire des applications iOS et Android réellement natives. Il utilise React Native et est open source et gratuit.

Charlie a fait partie de l'équipe chargée de la plateforme chez Facebook avant de participer à la cofondation de Quora.

Décrivez vos premières années et la région où vous avez vécu

J'ai grandi à Pittsburgh, en Pennsylvanie. Les jeux vidéo m'ont toujours amusé. J'ai emprunté le livre How to Make Your Own Computer Games lorsque mon père m'a emmené à la bibliothèque alors que j'étais en troisième année. J'y suis retourné et j'ai acheté un autre livre sur la programmation BASIC parce que la première page du livre indiquait qu'il fallait être capable de programmer en BASIC. Tout en continuant à apporter des modifications mineures, je tapais les programmes du livre sur l'Apple II à l'école.

J'ai participé au programme d'été Andrew's Leap de Carnegie Mellon lorsque j'étais lycéen. Cette session d'été gratuite permet d'acquérir une compréhension fondamentale de la théorie de la complexité et de la programmation. C'était très agréable. J'aimais faire des choses à l'aide de calculatrices ou d'ordinateurs et les montrer aux gens. Les objectifs de ma vie étaient assez faciles à identifier.

J'ai étudié l'informatique à Harvard. J'ai reçu un courriel de recrutement de Facebook alors que je travaillais chez Amazon, car j'étais assistant d'un cours que les fondateurs de Facebook avaient suivi. Deux anciens camarades de classe, David Fetterman et Andrew Bosworth, m'ont annoncé qu'ils quittaient Microsoft pour rejoindre Facebook. Je me suis dit que ce devait être une bonne idée puisqu'ils le faisaient. J'ai envoyé un courriel à leur responsable du recrutement, on m'a donné le poste et j'ai commencé à travailler comme développeur de logiciels en 2006. À l'époque, il y avait à peine 10 à 12 ingénieurs qui travaillaient chez Facebook. J'ai lancé la plateforme de développement de Facebook, qui était une plateforme de jeu très populaire à bien des égards.

J'ai fini par quitter Facebook et j'ai commencé à travailler chez Quora. J'avais très envie de créer une entreprise. Même si je m'amusais beaucoup en travaillant chez Facebook, je sentais que le moment était venu de lancer ma propre entreprise.

Puis, il y a environ deux ans, j'ai commencé l'Expo.

Qu'est-ce que l'Expo, exactement ?

Expo est une plateforme gratuite et open-source qui permet aux développeurs en ligne et mobiles de créer rapidement et de manière itérative des applications iOS et Android natives de haute qualité. React Native, une technologie créée par Facebook et utilisée dans certaines parties de l'application principale de Facebook, d'Instagram et de nombreuses autres applications, sert d'épine dorsale à Expo. React Native est notamment utilisé par Tesla, Walmart et Airbnb.

Expo permet aux programmeurs de créer des API et des composants JavaScript qui s'exécutent nativement sur iOS et Android. Un runtime, des API React Native et des éléments auxiliaires tels que l'audio, la vidéo, l'authentification et les alertes sont tous inclus dans le SDK Expo. Vous avez plus de temps à consacrer à la création de JavaScript maintenant qu'iOS et Android partagent davantage de code.

La gestion des versions de React Native est assurée en votre nom par XDE (Expo Development Environment). Sans avoir à vous soucier des ruptures ou à reconstruire les binaires de votre programme, vous pouvez décider de vous en tenir à une ancienne version ou de passer à une version plus récente.

Vous pouvez partager une application sur laquelle vous travaillez à l'aide d'une simple URL que les applications clientes de l'Expo peuvent visiter. Il vous suffit de compiler votre logiciel en binaires et de le déployer lorsque vous êtes prêt à le publier dans le magasin d'applications. En outre, vous pouvez instantanément mettre à jour votre application "over the air" (oui, Apple l'autorise).

En outre, Expo fournit l'outil Snack basé sur le navigateur, qui est similaire à JSFiddle mais ne fonctionne qu'avec les applications React Native. Si vous souhaitez commencer à prototyper, rendez-vous sur snack.expo.io. Vous pouvez consulter un aperçu sur votre téléphone ou sur votre navigateur web. Une fois que tout est en place, faites connaître l'URL à vos amis et collègues.

Comme l'application construite par Expo utilise le même runtime natif, tout cela est possible en utilisant le client Expo. En règle générale, il n'est pas nécessaire d'installer Xcode ou Android Studio sur votre ordinateur pour utiliser Expo. Cependant, vous pouvez toujours vous détacher d'ExpoKit et démarrer votre projet dans n'importe quel iDE si vous avez besoin d'ajouter vos propres bibliothèques natives.

Notre objectif est de simplifier et d'ouvrir le développement mobile à tous. Expo.io a plus de détails accessibles.

Pourquoi avez-vous décidé de lancer l'Expo ?

Notre objectif est simplement de réduire l'écart entre l'idée qu'une personne a en tête et son résultat final.

Chez Quora, où j'ai travaillé sur leurs applications mobiles, il a fallu neuf à dix mois pour en terminer une, même avec de superbes ingénieurs et concepteurs. Pour rendre les choses multiplateformes, nous avons dû utiliser webview, mais cela n'a jamais semblé tout à fait correct. Il n'est pas possible de produire des animations aussi attrayantes que les programmes natifs, ni d'obtenir des performances idéales. Cela semble intrinsèquement dépassé après près d'un siècle de développement en ligne. Il fallait y remédier, et vite. J'ai donc fait une pause et j'ai commencé à chercher des moyens de l'améliorer avec James Ide.

Lorsque nous avons commencé, le HTML5 et les technologies web étaient insuffisants. Cependant, nous étions fermement convaincus que le paradigme en ligne conduirait à une augmentation considérable de la productivité. L'ensemble du système a reçu le nom absurde de "Ion", alors que le framework Ionic existait déjà.

Mais au lieu de déployer Ion, nous ne l'avons utilisé que pour créer quelques applications. Puis React Native est sorti, et c'était presque exactement la même chose, bien que plus avancé et avec une équipe de vingt personnes au lieu de deux. Nous avons essentiellement pris la décision d'arrêter de travailler sur Ion et de nous concentrer sur tout ce que nous voulions construire avec React Native.

L'une des situations les plus satisfaisantes pour un entrepreneur de startup est souvent celle où son produit est utilisé de manière originale ou inattendue. L'Expo est-elle favorable à cela ?

Un nouvel onglet "projet" affiche les 10 derniers ajouts lorsque vous ouvrez l'application client Expo.

Le bouton "publier" du document a été cliqué. Il est extrêmement fantastique, et maintenant qu'il est utilisé par un nombre suffisant de personnes, vous pouvez généralement trouver un ou deux efforts intéressants. Il est passionnant de trouver des objets construits à l'aide d'Expo, comme un magasin d'électronique thaïlandais, dont je n'avais aucune idée de l'existence.

Donnez-nous un aperçu d'une journée normale dans la vie du propriétaire d'expo.io.

Nous sommes maintenant onze si l'on me compte. À l'exception de Brent, qui vit à Vancouver, et de Ben, qui vit à Seattle, ils habitent tous dans la région de la baie. Ils viennent chez nous quelques fois par mois. Nous parvenons à faire en sorte que cela fonctionne parce qu'ils apprécient l'endroit où ils se trouvent et que nous apprécions leur présence.

Slack sert de noyau gravitationnel à notre équipe dispersée. Nous avons également fini par collaborer plus étroitement avec les développeurs de la plateforme, dont certains travaillent en tant qu'entrepreneurs indépendants sur des projets particuliers. Par exemple, Satyajit, de Bangalore, nous a aidés avec Sketch. Cela nous donne beaucoup de liberté. Chacun a des horaires de travail différents et fait beaucoup de choix localement sans contacter le chef de produit.

Pourquoi est-il si difficile de tirer profit des produits destinés aux développeurs web ? Quelle stratégie emploie Expo ?

Il est difficile de gagner de l'argent avec les produits des développeurs pour un certain nombre de raisons. L'une d'entre elles est que de nombreuses personnes sont incitées à améliorer les procédures ou les outils de développement. Il en va de même pour le contenu, qu'il est également difficile de commercialiser car de nombreuses personnes sont disposées à le rédiger pour d'autres objectifs, notamment l'image de marque ou la réputation.

Les outils pour développeurs entrent souvent dans cette catégorie. De nombreuses personnes aiment les créer ou les créer de manière open source ; certaines d'entre elles pourraient souhaiter créer des outils open source pour accroître la popularité d'une plateforme ou pour des objectifs de recrutement.

Il est illogique pour nous de générer de l'argent à partir de la plateforme elle-même. Il est essentiel que les outils soient open source, car c'est ainsi que nous recruterons les développeurs que nous voulons et que nous utiliserons les technologies que nous voulons. En cas de problème, vous pouvez comprendre ce qui se passe à l'intérieur et y remédier. Un audit de votre sécurité peut être effectué si vous êtes inquiet. Il serait étrange de faire payer l'un ou l'autre de ces services.

Rendre le développement de logiciels mobiles accessible aux enfants fait partie de notre objectif. Il m'arrive de penser à la façon dont je pourrais fabriquer des jouets intrigants si j'avais 13 ou 14 ans et que mes copains et moi étions tous assis sur nos téléphones. En revanche, si l'on fait payer, les apprenants enthousiastes sont exclus. Ils n'ont pas de carte de crédit et leurs parents hésitent à leur donner de l'argent pour quelque chose qu'ils risquent de ne pas comprendre.

Le modèle économique étant similaire à celui de Twitch et YouTube, cela me semble logique. Twitch et YouTube ne font pas payer les utilisateurs pour publier des vidéos. Mais s'ils vous aident à réussir financièrement, ils peuvent en garder une partie.

Par conséquent, je pense qu'il y aura un moyen pour nous de prendre une petite partie si nous pouvons aider les développeurs à monétiser leur travail. Mais je préférerais de loin qu'il soit gratuit et open source pour toujours. Il y a plusieurs façons de nous soutenir si nous pouvons aider les gens à créer des entreprises durables à partir de notre plateforme.

Quelles ont été les situations les plus difficiles auxquelles vous avez dû faire face lors de l'élaboration de l'Expo ?

Je sais qu'il y aura des moments très difficiles en raison de notre engagement envers notre objectif, mais jusqu'à présent, cela n'a pas été si difficile. Je savais que cela prendrait du temps et qu'il y aurait de nombreux défis en cours de route, mais au cours des derniers mois, nous avons parfaitement fonctionné et livré des pièces de puzzle qui ont contribué à clarifier notre message.

Nous avons des réponses à beaucoup de ces questions puisqu'il y a plusieurs façons pour les développeurs d'accéder aux différentes étapes, mais il est difficile de décrire complètement tout ce que nous faisons. Si vous avez commencé un projet en utilisant React Native, vous obtiendrez des dossiers IOS et Android avec tout votre code source JavaScript à l'intérieur. Nous avons un script de convergence si vous n'avez écrit que du JavaScript et aucun code natif iOS ou Android. Parce qu'il y a tellement de façons de modifier votre projet, c'est un peu fragile.

Nous nous concentrons désormais sur le recrutement de nouveaux membres.

Cela a été amusant car nous avons une équipe formidable et nous nous entendons bien. Comme beaucoup de nos collaborateurs contribuent activement au projet open source React Native, leur emploi à l'Expo leur permet de se concentrer uniquement sur ce domaine de travail. Les contributeurs au dépôt React Native s'intéressent à la programmation mobile et à la manière dont les applications mobiles sont construites. Ils s'identifient à la mission d'Expo, qui est de rendre la création d'applications mobiles plus facile, plus rapide et plus accessible. Ils adoptent généralement l'approche la plus réfléchie de la croissance.

Que nous réserve l'Expo ?

Nous allons travailler très dur pour nous imposer comme le moyen le plus courant, le plus facile et le plus efficace de démarrer un nouveau projet React Native. En outre, nous voulons améliorer les fonctionnalités des modules natifs.

Le fait qu'Expo soit simplement React Native avec des composants supplémentaires était l'un des dix arguments que j'ai donnés pour l'utiliser dans le groupe de la communauté React Native. Par exemple, l'un des plus gros problèmes pour les développeurs React Native n'est pas seulement de faire de la maintenance de routine sur leur propre code, mais aussi de gérer le fait que de nombreux modules tiers, comme certains emplacements très spécialisés de Bluetooth ou d'arrière-plan, ne sont pas mis à jour et continuent de fonctionner sur une version plus ancienne. De nombreuses bibliothèques natives ont eu du mal à suivre le rythme des changements en raison de la publication fréquente de nouvelles versions de la bibliothèque React Native.

Nous nous attacherons également à leur fournir les éléments essentiels de la construction mobile au cours de l'année suivante. La prédominance du texte avec des graphiques, des rectangles pour la mise en page et des formulaires est un aspect du web que je méprise, ce qui peut s'expliquer par le fait qu'il a commencé comme un outil de création de documents. En 1994, le monde avait justement besoin de cela.

Sur leurs appareils mobiles, les utilisateurs aiment regarder des images, des films, des contenus en streaming, swiper, donner des "like" et écouter de la musique. L'expérience est nettement plus tactile et multimodale. Nous aspirons à être les meilleurs éléments de base pour les concepteurs de logiciels mobiles. Même si nous ne disposons pas encore de toutes les informations, c'est la direction que nous voulons prendre pour l'année à venir.

Quelles sont les activités ou les loisirs que vous aimez en dehors de votre startup ?

Ces deux dernières années, j'ai écouté beaucoup de Ryan Adams en continu, et je pense que je me suis un peu plus engagé politiquement qu'avant, simplement parce que cela me semble tellement important cette année, d'une manière qui ne l'a pas été pendant la plus grande partie de ma vie.

Je suis un supporter des Penguins, des Steelers et des Pirates parce que j'ai grandi à Pittsburgh. J'étais présent lorsque les Penguins ont remporté la Coupe Stanley à San Jose l'année dernière ; c'était incroyable.

Pour plus d'informations :

Vous pouvez vérifier expo.devou me contacter à l'adresse suivante LinkedIn

Nous vous proposons des entretiens exclusifs avec des experts de premier plan dans les domaines du développement web, de la conception web et du référencement. Découvrez les histoires uniques de ces personnes qui ont transformé leur passion en réalisations remarquables. Notre équipe rassemble de manière réfléchie des histoires inspirantes provenant de tout l'Internet, dans le but de stimuler votre créativité et de susciter votre intérêt par le biais de nos études de cas suivies de près. Vous pouvez trouver d'autres études de cas inspirantes ici.

fr_FRFrench