32 votes

Quand est-il préférable de ne pas utiliser Phonegap?

J'ai l'intention de développer une application mobile (mon premier) pour plusieurs systèmes d'exploitation (y compris Android, IOS, WindowsPhone) - dans la nature de l'internet, j'ai trouvé un cadre appelé phonegap, comme une possibilité de solution pour réduire le processus de développement. Je comprends les avantages phonegap - mais ne pouvait pas trouver de réels inconvénients... 1.) La question est donc pourquoi devrais-je pas utiliser phonegap?

2.) Est phonegap plus lent, car il est enveloppé à l'intérieur de l'OS, si oui, comment beaucoup plus lent? Je veux dire, pouvez-vous vraiment dire la differentce entre une application native et phonegap, ou n'est plus lente lorsque vous avez besoin de l'accélération matérielle par exemple, pour les jeux?

Un peu plus d'informations sur le projet. Actuellement, j'ai plusieurs"."Filet de services et le fournisseur, de la communication via WCF. L'Application doit être en mesure d'envoyer et de recevoir des flux vidéo et des données audio depuis et vers un service, comme un fournisseur ferait.

3.) Est-il possible d'utiliser phonegap pour cela, ou dois-je en tenir à des applications natives?

40voto

Sparky Points 6181

Toutes les croix-plate-forme de cadres (y compris HTML) partagent généralement les mêmes avantages et inconvénients.

Avantages:

  • Écrire le code qui fonctionne de la même façon sur chaque plate-forme cible.

Inconvénients:

  • La façon dont il fonctionne, c'est pas souvent que merveilleux.
  • Généralement plus faible rendement que les implémentations.
  • Certains ont aussi leur propre widget qui semble hors de propos.
  • En raison de plate-forme individuelle de ça, vous avez encore de test un peu partout.
  • Vous obtenez plus petit dénominateur commun l'accès aux fonctionnalités. Lorsqu'un natif fonction est prise en charge, souvent, vous ne pouvez y accéder que dans un sens: le portable du cadre moyen. C'est parfois à l'encontre de l'objectif de la plate-forme préférée.
  • Dans le cas où vous pouvez accéder à des fonctionnalités spécifiques à une plate-forme cible, vous perdez run-partout de la portabilité.
  • Tous les soi-disant "cross-plateforme" cadre est une plate-forme dans son propre droit. Voir plus haut le point sur les bizarreries: Maintenant, au lieu d'avoir à savoir N plates-formes, vous devez savoir N+1.

Pour de meilleurs résultats ciblant de multiples plates-formes, je recommande ce qui suit:

La conception de votre logique de base (la partie qui n'utilise pas du tout l'INTERFACE utilisateur) proprement, avec un système bien défini de l'API. Assurez-il assez général pour être assez facilement transférées entre les environnements. (SQLite est vraiment différent en Objective C et Java?)

La conception de votre INTERFACE utilisateur en suivant les meilleures pratiques de votre cible plates-formes de sorte qu'il ressemble beaucoup (et s'inscrit) sur chacun d'eux. (Pour Android, voir http://developer.android.com/design) Ont de l'INTERFACE utilisateur d'interagir avec la logique de base, via l'API, vous avez créé.

16voto

RyanG Points 2700

J'ai développé à la fois en mode natif et en HTML wrappers comme Phonegap. Alors que Phonegap est bon de réduire ayant pour code en 2 ou 3 langues différentes, et de faire des changements à 2-3 bases de code, si vous vous attendez à avoir une application que les gens veulent utiliser le bâton natif. J'étais effectivement en train de travailler sur une application Phonegap et, finalement, l'a réécrit tous en code natif, car il n'était tout simplement pas assez bon pour les attentes.

Alors que votre jeu ou application peut être grande pour une enveloppe HTML app', en fin de compte utilisateurs de tous les jours ne avis le plus lent le chargement et le temps de réaction, même si elles sont très légères.

OMI Phonegap ne doit être utilisé que pour des applications qui n'très peu de manipulation de données (affichage et d'édition), où aucun traitement intenses est fait (c'est à dire des jeux).

Le marché de l'app est très compétitif, et tous les big top des applications et jeux que vous voyez sont tous en code natif (ils le sont pour une raison).

11voto

David H. Points 111

Adobe AIR plate-forme est une excellente alternative à phonegap pour écrire une fois de déployer n'importe où à la place des applications natives. Il a également d'excellentes fonctionnalités d'accélération matérielle. Il comprend une webkit mise en œuvre de sorte que vous pouvez utiliser les standards du web si vous le souhaitez et de l'open source apache projet flex offre beaucoup. Flash builder est suis excellent environnement de codage basé sur eclipse. Outre les importants progrès dans le jeu, nous allons probablement voir plus de données AIR conduit apps bientôt. As3 est orienté objet et très agréable, de plus, le massif de l'outil de flash pro pour l'animation d'illustrator et photoshop sont de classe mondiale.

4voto

NSPunk Points 330

Je travaille dans une société qui a besoin de trop, chaque application, faites de toutes les versions possibles de versions mobiles. Vraiment, si vous avez besoin de travailler avec des types spécifiques d'applications comme, radio streaming, GPU d'accès, filtre d'appareil photo ou de tout ce que vous pouvez nom.. aller en natif.

Dans mon opinion personnelle, téléphone écart est vraiment très lent, même sur android. Je ne sais pas si c'est parce que je travaille avec iOS, ou j'ai des normes élevées. Travailler avec native toujours vous apporter plus de qualité pour votre application.

Je comprends l'utilisation de téléphone de l'écart à rendre les choses plus vite, mais seulement si vous faites une simple application mobile.. avec seulement de l'information ou de certaines formes d'affichage.

Pour le matériel/logiciel, vous trouverez plus facile de développer ce genre de choses de manière native. iOS a presque tout à portée de main pour vous. Je ne sais pas sur android, mais ne devrait pas être trop compliqué!

2voto

btype Points 1112

Phonegap utilise WebViews. Il s’agit donc d’un site Web que vous créez et encapsulez dans un conteneur natif pour le déployer sur l’app store. Pour les applications de base et si vous êtes un développeur Web, il est bon de disposer de cette façon de développer des applications, mais si vous souhaitez bénéficier pleinement de l'avantage et du caractère natif de la cible, il est bien préférable de développer des applications natives. J'espère que ça t'as aidé.

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