75 votes

Luttant entre native et phonegap, exigences simples pour les applications

Je vais faire un natif (sens; pas dans le navigateur) de l'application mobile. Depuis que je suis un développeur web j'ai du mal à décider si oui ou non je devrais essayer de Phonegap ou tout simplement construire une application native en java ou objective-c.

L'application des exigences sont simples. GPS/wifi emplacement, Facebook de l'intégration et je suppose que je vais avoir besoin d'une base de données pour gérer certains des spécifique de l'application Facebook-ami relations. Comme les meilleurs scores dans un jeu, par exemple -, des trucs comme ça.

Je suis un développeur web, et je ne sais ni java ou objective-c, encore. Je n'ai jamais utilisé Phonegap avant, donc je ne sais pas si il est capable de répondre à mes exigences.

Donc ma question est la suivante; Puis-je utiliser Phonegap pour mon application, ou ai-je besoin de plonger dans une nouvelle langue?

158voto

Gajotres Points 46468

Connexes:

Version plus grande de cet article peut également être trouvé ICI, à être transparent, c'est mon blog personnel.

Hybride vs applications Natives

Applications hybrides:

Pro:

  • Le développement plus rapide, en particulier si vous êtes un habitué de développeur web.
  • 1 langue peut être utilisée sur toutes les plateformes disponibles. Bien entendu, cela nécessite un Phonegap wrapper. Vous n'avez pas besoin d'apprendre Objective-C, Java ou C# pour faire de développement. Vous avez seulement besoin de comprendre les bases de la Phonegap mise en œuvre. Vous aurez besoin de jouer avec les langues susmentionnées un peu, mais vous n'avez pas besoin de les comprendre.
  • Phonegap peut offrir certaines fonctionnalités natives comme iOS natif de la barre d'onglets ou Android natif de la barre d'onglets et bien plus encore.
  • Baisse des coûts et une énorme communauté de supporters et les développeurs.
  • Un hybride application offre de nombreux avantages des deux approches de l'accès à la plupart des Api de périphérique, et un large dispositif de la couverture, tout en ne nécessitant pas de compétences spécialisées, plus de budget et plus de temps sur le marché qui sont plus typiques de pleinement des applications natives.

Inconvénients:

  • Vous pisse le sang après un certain temps, littéralement et métaphoriquement.
  • Les téléphones mobiles (même aujourd'hui, les tablettes) ne sont pas assez rapides pour la bonne marche d'un hybride app, mobile JavaScript capacités de sont lit, au mieux. La plate-forme Android est un cauchemar, les transitions de page ne fonctionne pas en douceur, pour ne pas mentionner manque CSS/CSS3 mise en œuvre. Si vous pensez que natif Android 2.X et 4.X ont des différences de prendre un coup d'oeil un Android 2.X mauvais JavaScript / CSS de mise en œuvre. iOS tarifs mieux mais il a encore un manque de CSS3 mise en œuvre-tu beaucoup mieux les transitions de page. Pour faire court les applications natives auront toujours une meilleure expérience utilisateur et le sentiment général.
  • Vous allez passer beaucoup plus de temps à corriger l'application puis de les construire. La création d'une application pour chaque plateforme est une douleur dans le cou. Les navigateurs sur les différentes plates-formes ne sont pas uniformément en charge toutes les fonctions HTML plus récentes et les Api, ce qui peut rendre le développement et le test d'un défi.
  • Si vous n'avez pas un bon designer, n'essayez même pas de construire une application; les regards sont tout.
  • Si vous ne savez pas ce que vous faites, il ya une bonne chance que votre application ne sera pas obtenir d'autorisation pour l'app store d'Apple. Même Google Play Store interdire l'accès à votre application si elles découvrent un 3ème partie Phonegap plugin PayPal.

Les applications natives:

Pro:

  • Une application mobile native peut produire la meilleure expérience utilisateur rapide et fluide, peut vous donner le meilleur accès aux fonctions de l'appareil, et peuvent être découverts dans les magasins d'applications.
  • Sans doute, les applications natives ont accès à la sous-jacentes de la plateforme mobile. Les applications natives sont généralement très rapide et poli, ce qui les rend parfaits pour les applications hautes performances ou les jeux. C'est plus que suffisant.

Inconvénients:

  • Plus gros budget, vous aurez besoin d'au moins une personne/s avec Java et Objective C la connaissance, même en C# si vous voulez une app pour Windows mobile. Oui, vous pouvez apprendre vous-même, mais ne pas vivre dans l'illusion, vous le ferez dans un court laps de temps. Si vous n'avez jamais fait de toute évolution, choisissez Objective-C (iOS est encore une meilleure plate-forme). Dans d'autres cas, choisir Java. Java a une syntaxe similaire à celle des autres langues, de sorte qu'il est facile de sauter de C#, Java et vice-versa. Objective-C est un monde de sa propre. Il est plutôt rare de la syntaxe.
  • Il pourrait vous prendre une plus longue période de temps pour développer tout leur temps et de l'argent. Cela dépend de la complexité des applications.

Dans votre cas, si vous avez un bon développement web/compétences en conception et/ou qui ont un bon designer, vous devez choisir un hybride app. Go native seulement si cette application va être complexe. Tout ce que vous voulez peut être fait avec une application hybride. Et vous trouverez une grande et le soutien de la communauté.

Applications hybrides

Ce que je n'ai pas mentionné précédemment, vous devez être particulièrement prudent ici. Même si vous êtes développeur chevronné, vous trouverez beaucoup de problèmes que vous ne pouvez pas résoudre. Hybrides de développement ne doit pas être confondu avec une base de développement web.

Chaque plate-forme mobile a son propre ensemble de problèmes, de ne pas mentionner que les téléphones mobiles se comportent différemment en fonction de l'appareil. Si possible, toujours de créer une application qui fonctionne sur un des périphériques lents parce que l'application native va réussir à fonctionner sur presque n'importe quel appareil.

Il y a une dernière chose, lors de la création d'applications hybrides, développement d'une application vous prendra environ 30% à 50% de votre temps, le reste va à la plate-forme spécifique de débogage et de l'apprentissage. Croyez-moi, même après plusieurs années de développement mobile je suis parfois confrontée à des problèmes je ne peux pas résoudre seul ou pas assez vite.

Donc, être prudent lors du choix de mobile-cadre, choisir 2-3 et passer plusieurs jours de lecture à leur sujet.

Liens

Voici quelques liens pour vous aider à décider:

PhoneGap + jQuery Mobile 1.4 tutoriel - C'est une étape par étape tutoriel pour PhoneGap et la dernière version de jQuery Mobile

PhoneGap + jQuery Mobile 1.4 tutoriel - version de MacOS - C'est une étape par étape tutoriel pour PhoneGap déploiement sur MacOS. jQuery Mobile est couvert dans un article précédent, aucun point de répéter les choses.

jQuery Mobile vs Sencha Touch - jQuery Mobile, Sencha Touch comparaison

jQuery Mobile vs Kendo UI - jQuery Mobile Kendo UI comparaison

7 mieux connu HTML5 mobile cadres - le Nom dit tout

7 moins connus HTML5 mobile cadres - le Nom dit tout

16voto

Sandy09 Points 1397

si votre application n'ont pas des effets d'animation et simple, je préfère créer dans un site web(Phonegap) cz à moins de quantité de temps que l'on peut lancer dans de multiples types de système d'exploitation mobile. si votre application contient plus des effets d'INTERFACE et d'animation, alors il est préférable d'aller avec native..

même si vous développer dans webview(Phonegap) vous avez besoin d'apprendre quelques étapes de base dans Android et iOS

Comment Phonegap effectue dans des dispositifs

Ios Les animations et la vue de chargement dans ios webview est échoué et bonne, les effets d'animation peut observateur clairement

Android
Nous devons tenir compte de la version du dispositif et appareil de la compagnie pour android lors de l'exécution du code html de haut de config appareils android, et donner plus de clarté et de l'efficacité de l'animation de l'affichage, mais certains appareils (surtout les anciennes version et certains périphériques) cant donner de bons effets d'animation, le rendu de l'effet varie d'un appareil à sous android,

7voto

enrmarc Points 2648

À mon humble avis, avec Phonegap, vous pouvez simplement développer des applications simples, sans plus. La documentation n'est pas suffisante et, comme d'autres l'ont déjà indiqué, vous passerez beaucoup plus de temps à corriger les bugs et à trouver des plug-ins qu'à la construction de votre application. Je voudrais faire l'effort d'apprendre Android ou iOS ou autre, regardez cela comme un investissement de votre temps. (Oui, mon commentaire est un peu biaisé).

3voto

Pouria Points 638

La dernière fois que j'ai examiné, PhoneGap était entièrement en html, css et javascript. Donc, vous pouvez vous sentir comme chez vous. PhoneGap peut gérer la localisation GPS, voir cet article de la documentation de PhoneGap. Que vous souhaitiez ou non acquérir l’objectif C dépendrait de la rapidité avec laquelle vous apprendrez de nouvelles langues, car il s’agit d’une rupture avec le développement Web.

3voto

bubuzzz Points 2554

Cela dépend entièrement de vos besoins

Après la publication de ma première application en plusieurs mois (native Android, bases de données, de détente, de la connexion de l'app), j'ai décidé de réécrire mon application en utilisant phonegap (car je veux cloner l'application pour iOS, donc au lieu de le faire en ObjC, pourquoi ne pas le javascript ?)

Quand sur Android, il coûtait moi, un développeur Java, 3 semaines d'apprendre et de code de tout à partir de zéro. Se taper la tête contre le mur à plusieurs reprises pour faire le ListAdapter synchronisation avec le Service Restful à partir de mon serveur, comment le thème de l'application (assez dur à mon avis, surtout quand il s'agit d'effets spéciaux comme transparent, bordure,...), et aussi, comment la structure de votre base de code efficacement (si vous êtes familier avec Java, vous constaterez que toutes les classes sont très couplés les uns aux autres, puisque c'est ce que la plupart des tutoriels sur la

Lorsque sur Phonegap, tout est fait en 1 semaine. Css, html, onsenui et angular faire le développement du GUI comme environ 1 ère année de l'étudiant de 's l'affectation et de la thématisation est juste un morceau de gâteau. Je n'ai pas besoin de le faire fonctionner sur l'appareil réel, il suffit d'utiliser le navigateur lors de l'élaboration, de modification de code et de l'actualisation sont assez. Angular offre 2 voies de liaison avec le DOM, ce qui fait une énorme remarquée lors de la collecte et de l'affichage de données. Par exemple:

<ul ng-each="for sentence in sentences" >
   <li>{{ sentence.title }} </li>
</ul>

Lorsque la variable sentences est changé (récupérées à partir du serveur), le DOM est automatiquement modifié. Cependant, javascript n'est pas le javascript. Je me suis trouvé en difficulté beaucoup de temps lors du débogage de l'application, en particulier lors de la MapReduce fonctions avec PouchDB (grosse erreur, dois retourner à l' cordova-sqlite-plugin ce soir) et la plupart du temps, je dois lire le journal dans le but de comprendre le problème (Chrome 'outils et de Firebug ne peut pas attraper le point d'arrêt). Aussi, il est difficile de restructurer votre application (javascript, encore une fois), donc si vous n'avez pas organiser soigneusement votre code de base au premier signe, vous pourriez vous retrouver avec un désordre (et le débogage est une vraie douleur, encore une fois). PhoneGap est également basé sur le Web, donc, parfois, vous entendrez que "parce que, sur cette plate-forme, il ne supporte pas que bla bla bla" (e.g, localStorage) et vous avez à se lever pour lui si vous ne pouvez pas trouver une bonne plugin.

Conclusion l'Exception de la limitation de la web-basé de stockage, PhoneGap fonctionne très bien avec les bases de données, interface simple d'application (et la plupart des bases de données axées sur les applications actuellement a une interface simple, de toute façon). Si tu vas développer ce genre d'application, puis coller avec elle

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X