Le développement Web mobile est difficile, en particulier lorsque vous essayez d'offrir aux utilisateurs des expériences de type natif. Il y a plusieurs années, une petite entreprise appelée Nitobi s'est efforcée de simplifier la création d'applications mobiles natives à l'aide de compétences en développement Web traditionnelles. Ambitieux et parfois controversé, l’effort connu sous le nom de PhoneGap est né de ce besoin et l’on convertit à gauche et à droite.
L'un des principaux cerveaux derrière ce cadre est Brian Leroux qui, en plus d'être respecté pour ses compétences en développement et sa personnalité incroyablement sympathique, est également l'un des développeurs mobiles les plus avisés qui soient. Compte tenu du nombre de terminaux PhoneGap pour appareils mobiles, vous devez être assez au courant de la diversité des appareils et des systèmes d’exploitation..
Nitobi a depuis été racheté par Adobe et la base de code PhoneGap a été versée à Apache Software Foundation pour poursuivre son développement en tant que projet Apache Cordova. Brian est passé chez Adobe et continue à gérer le code. Dans cette interview, nous discuterons avec Brian de la naissance de PhoneGap et de ce que l'avenir du Web mobile réserve.
Bonjour, je suis Brian. Je travaille sur Apache Cordova, PhoneGap et une nouvelle bibliothèque CSS appelée Topcoat chez Adobe. Dans mon temps libre, j'ai créé un site de blague de code appelé http://wtfjs.com qui me suit en quelque sorte.
J'ai certainement été l'un des intendants de PhoneGap, mais il est très important pour moi de dire que BEAUCOUP de personnes ont contribué à sa création et à sa croissance. Personne n’a vraiment décidé de faire quoi que ce soit, c’est beaucoup de forces qui se sont rassemblées en même temps. PhoneGap est l'aboutissement de la soupe primordiale qu'est le nouveau modèle Github pour les navigateurs Web mobiles open source et naissants, ainsi que pour les smartphones de nouvelle génération. Nous avons commencé le piratage informatique, et tout a été ouvert, et finalement plus de gens ont souscrit à la philosophie et à l'utilité du projet. Il a grandi à partir de là.
Adobe a acquis Nitobi en 2011! Il est difficile de croire que c'était déjà près de deux ans. Depuis notre acquisition, nous avons fait don de la source PhoneGap à Apache, désormais connue sous le nom de Cordova. Nous améliorons constamment les projets, ajoutons des fonctionnalités, perfectionnons, améliorons les performances, développons de nouveaux outils, et nous avons récemment livré une architecture de plug-ins considérablement améliorée. PhoneGap est devenu autant un outil d’outillage et d’extension qu’il s’agit d’un navigateur Web embarqué pour créer des applications..
Nous travaillons également en étroite collaboration avec une nouvelle équipe d'Adobe sur une bibliothèque CSS appelée Topcoat, conçue pour créer des applications rapides et propres. Bien entendu, dans Adobe Edge, tout le monde prend conscience de la conscience de la mobilité, dans le cadre des technologies Web. Les crochets sont parfaits pour la création de code Web. Reflow et Inspect sont de nouveaux outils formidables qui aident à apprivoiser les conceptions réactives. Nous verrons des intégrations plus nombreuses et plus profondes entre ces outils et PhoneGap à l'avenir.
Adobe PhoneGap est une distribution en aval d'Apache Cordova. C'est la même chose que la relation de Safari avec WebKit. Lorsque Adobe a acquis Nitobi, la source originale de PhoneGap a été donnée à Apache pour poursuivre son développement ouvert et encourager la contribution de la communauté plus large des développeurs. C'était vraiment génial, et la communauté a connu une croissance exponentielle depuis son arrivée à Apache. Ce fut un grand coup pour le projet et a vraiment mûri le développement.
Note de l'auteur: Brian approfondit ce sujet dans cet article de blog..
Je pense que notre popularité est due, en partie, à des principes et objectifs très clairement définis. Nous voulons que le Web soit une plate-forme de premier ordre et nous affirmons souvent que le but du projet est de cesser d'exister. C'est une reconnaissance puissante de notre intention de revenir au développement Web. Cela résonne avec la communauté Web.
PhoneGap est également juste un très bon nom qui communique clairement le projet de manière succincte. Nous avons eu de la chance là-bas. Je ne sais pas si c'est Brock Whitten ou Andre Charland qui l'a inventé. Rob Ellis était là mais je doute qu'il s'en souvienne non plus. Je détestais ça au début, mais après cinq ans de travail sur ce que je suis en quelque sorte habitué!
L’adoption de PhoneGap a probablement été un peu une chance stupide aussi. J'aimerais penser que nous avons eu un peu de chance avec une cadence de publication régulière et une philosophie de test rigoureuse. Nous avons rarement des régressions et nous expédions des versions de qualité en continu. Cette activité saine a contribué à renforcer la confiance de notre communauté de développeurs, ainsi que des entreprises et des organisations qui utilisent PhoneGap aujourd'hui..
Eh bien, d’un côté, il est très facile de commencer à créer une application Web. D'autre part, les applications Web peuvent devenir complexes rapidement et les appareils dont nous parlons n'ont pas beaucoup de puissance pour commencer. Le développement de logiciels est un acte d'équilibre. Nous équilibrons toutes sortes de forces. Réutilisation des compétences et du code. Ajouter plus de fonctionnalités ou travailler sur les performances.
La plupart des fournisseurs de systèmes d'exploitation mobiles contribuent directement à Cordova!
Nous avons des amis de Google qui apportent des applications packagées Chrome à la mêlée. Mozilla développe Firefox OS avec nous. Canonical a des pirates informatiques travaillant sur Ubuntu Phone. Blackberry a un tas de développeurs nous apportant la perspective Blackberry Webworks. Intel et Samsung représentant Tizen.
Au début du projet PhoneGap, avant toute cette entreprise glamour d'Apache
Eh bien, si vous avez déjà investi dans du contenu Web ou des développeurs Web, PhoneGap vaut la peine d’être examiné. Si vous recherchez la portabilité, les technologies Web sont évidemment utiles, ce qui peut même signifier sur une plate-forme unique, mais capable de cibler automatiquement les facteurs de forme des combinés et des tablettes avec une seule base de code..
J'avais l'habitude de dire que la technologie Web n'était pas vraiment le meilleur choix pour les jeux. Mais cela dépend du type de jeu. Les jeux mobiles, en particulier, ont tendance à être davantage des casse-tête, des cartes ou des tris bidimensionnels qui ne nécessitent pas de graphismes immersifs. La technologie Web est étonnamment bonne pour ces types de jeux. Jusqu'à ce que nous obtenions un meilleur support pour WebGL, je pense que le passage en natif est toujours convaincant. Le W3C et les éditeurs de navigateurs sont très conscients de cette lacune et ce n’est qu’une question de temps avant que le contrôleur de jeu, le verrouillage d’orientation, l’API en plein écran et l’API audio ne soient pleinement réalisés. La console se déplacera dans le navigateur et la monétisation se déplacera vers un modèle de service..
Eh bien, si vous avez le temps d’investir dans une plate-forme particulière (parfois aussi avec une propriété exclusive), alors devenir natif est une bonne voie, si elle est coûteuse, une voie dans laquelle investir..
Comme avec la technologie Web, il est facile d’écrire une application native minable, mais il est encore plus facile de déboguer ces choses à l’aide des outils de la plate-forme native. Cette intégration des outils rend la plupart des environnements de développement très confortables, avec une excellente documentation et une distribution intégrée. (Vous bénéficiez également de ces avantages avec PhoneGap car nous ne cachons pas ces détails.) J'encourage les développeurs à toujours apprendre autant peut et développement mobile natif est super amusant à apprendre.
Cela dit, je ne suis pas aussi convaincu des avantages commerciaux de la migration. Vous héritez d'une dépendance (souvent) exclusive à l'outillage propriétaire et aux canaux de distribution, ce qui est intrinsèquement risqué. Lorsque le fournisseur effectue un changement, vous aussi. S'ils choisissent de fermer, de déconseiller ou d'abandonner d'une autre manière l'infrastructure sur laquelle vous comptez pour générer des revenus, vous n'aurez aucun mot à dire ou aucun recours. Personnellement, je ne construirais pas une entreprise de cette manière, mais je peux également respecter certaines d'entre elles. De toute façon, vous pouvez utiliser PhoneGap pour atténuer ce risque..
Le service hors connexion est toujours désordonné. Nous avons App Cache, mais il est vraiment complexe et crée une expérience utilisateur janky. Lorsqu'une nouvelle version est disponible, vous devez demander à l'utilisateur de recharger. Mais j'ai de grands espoirs pour les efforts du contrôleur de navigation pour y remédier.
Les notifications push sont une autre chose dont le Web a besoin pour bien faire les choses. Les notifications sont cruciales pour l'engagement de l'utilisateur. Ces normes et cette assistance commencent à émerger dans les navigateurs Web de bureau, mais nous avons besoin de ces fonctionnalités pour devenir des navigateurs Web mobiles..
Les modèles de sécurité pour les applications packagées ont besoin d'être peaufinés. Mais cela se passe. En conséquence, nous allons gagner plus et de meilleures API de périphérique. Firefox OS et Chrome OS vont montrer le chemin. Nous allons tout faire pour aider en fournissant une surface de prototypage rapide aux navigateurs..
L'expérience en outillage de développeur nécessite de l'amour. La situation est plutôt bonne et la concurrence entre Firefox, Chrome, Opera et, dans une moindre mesure, IE et Safari est saine. Une instrumentation des performances pour la surveillance et en particulier le compte rendu des collisions après déploiement serait particulièrement intéressante.
Je tiens à remercier Brian d'avoir pris le temps de nous raconter l'histoire de PhoneGap et ses idées sur le Web mobile. Si vous souhaitez créer des applications mobiles utilisant vos compétences en développement Web, assurez-vous de consulter Apache Cordova et Adobe PhoneGap..