Je suis un développeur Web qui est nouveau dans le développement d'applications mobiles et j'ai besoin de démarrer un projet dès que possible. Malgré des recherches au cours des dernières semaines, (j'ai répertorié ce que j'ai fait jusqu'à présent au bas de cet article), je n'ai toujours pas décidé entre Phonegap ou natif (pour iOS/Android uniquement). Googler "Phonegap vs native" et similaires semble donner des résultats avec une répartition assez uniforme, mais il ne fait aucun doute que le natif donnera un résultat final plus rapide/meilleur, mais au détriment d'avoir à apprendre tant de nouvelles choses en un court laps de temps Plage de temps.
Une chose courante citée à propos de Phonegap est qu'elle s'exécute lentement - mais j'ai également lu que depuis la V3, elle s'exécute désormais beaucoup plus rapidement - est-ce le cas?
L'application que je dois créer ressemble beaucoup à un site statique mobile (mais le client insiste sur le fait que ce doit être une application) - juste du texte et quelques images et quelques PDF. Il y aura du nouveau contenu ajouté comme des nouvelles, donc je pensais plutôt que de publier une nouvelle version d'application pour chaque nouvel élément, l'application récupérera de nouvelles données à partir d'une API Web (JSON ou XML) et enfin une exigence pour les notifications Push.
Il ne sera pas nécessaire d'accéder à la caméra, au GPS ou à tout autre matériel (interdire au système de fichiers de mettre en cache les images/PDF).
J'ai regardé des applications similaires (la concurrence) et elles semblent toutes faire un usage intensif des vues Web, ce qui pourrait suggérer qu'elles ont été faites avec Phonegap (ou le feriez-vous?).
Donc ma question est, étant donné le type simple d'application que je dois faire, y aurait-il un grand avantage à devenir natif pour cela, ou Phonegap (dernière version) fonctionnerait-il tout aussi bien. Ou d'un autre côté, comme il s'agit d'une application simple, serait-il facile à faire (c'est-à-dire de zéro aux deux magasins d'applications en 10 semaines) en natif?
J'ai un mac avec ADT/Xcode installé, ce qui n'est pas un facteur dans le choix.
Mes recherches jusqu'à présent.
J'ai suivi le Android pour commencer ici http://developer.Android.com/training/basics/actionbar/styling.html mais je me suis perdu avec les onglets
Puis j'ai obtenu un livre, SAMS vous apprendra Android en 24 heures, environ 6 heures
Suivi d'iOS ici https://developer.Apple.com/library/ios/referencelibrary/GettingStarted/RoadMapiOS/ThirdTutorial.html#//Apple_ref/doc/uid/TP40011343-CH10-SW1
Plusieurs tutoriels Phonegap tels que http://coenraets.org/blog/phonegap-tutorial/ mais tous semblaient avoir des problèmes pour les faire fonctionner tels quels.
Clairement natif a quelques avantages par rapport aux frameworks web comme phonegap. Mais la chose est ce que vous voulez et avez besoin? Si vous voulez une solution rapide, alors phonegap est le meilleur pour la multiplateforme. Vous pouvez le faire de manière simple pour toutes les plates-formes courantes. Mais si vous voulez que votre application soit rapide et efficace, la technologie native a bien sûr ses avantages.
Compte tenu de vos besoins, l'interphone peut être mieux adapté à votre objectif. Vous pouvez continuer avec le même code et la même conception pour toutes les plates-formes. Non seulement pour iOS et Android, mais aussi avec Windows Phone, Amazon Fireos, etc.
L'une des choses est qu'il y a des milliers de construction d'applications dans PhoneGap ces jours-ci, donc on peut dire qu'il répond aux attentes dans une certaine mesure. Phonegap est suffisamment efficace pour remplir les conditions de ces applications. Avec une bonne utilisation des frameworks comme sencha, jquery mobile, kendo UI et bien d'autres phonegap peuvent être très efficaces.
Je ne pense pas qu'il soit possible pour quiconque de vous dire que si l'application peut être terminée en 10 semaines dans des applications natives ou non. J'irais pour phonegap pour continuer avec le même design et le même code. Il serait facile d'apporter des modifications dans l'application si nécessaire à l'avenir. Mais la décision doit être la vôtre en fonction des problèmes et des exigences :)