web-dev-qa-db-fra.com

Différence entre Phonegap et Sencha Touch

J'ai lu de nombreux documents concernant Phonegap et Sencha Touch. Mais je reste confus avec ces deux-là.

J'ai déjà créé une application native Android. Maintenant, je veux créer la même application qui fonctionne sur plusieurs appareils. Donc, je suis confus avec ces deux cadres.

  • Quel est le meilleur de ces deux à utiliser et pourquoi?

  • Quelle est la différence entre Phonegap et Sencha Touch?

  • Quelle est la différence entre sencha touch et sencha touch 2?

58
Deep Mehta

Quelle est la différence entre Phonegap et Sencha Touch?

Sencha Touch est un cadre complet et riche pour la création d'interfaces utilisateur mobiles et la modélisation de données connexes, les communications de serveur et la logique métier. Comme Sencha ExtJS pour les applications de bureau/tablette, vous codez la plupart de l'application en utilisant une conception MVC propre basée sur des classes Javascript. Le HTML est généré par ces classes qui traitent le HTML comme un langage d'assemblage. Cela résume les différences/bugs/qwerks entre les différents navigateurs de plate-forme mobile et les versions de navigateur, sauvant le développeur de la plupart des difficultés que les solutions basées sur HTML présentent. Au lieu de cela, le développeur assemble des composants de niveau supérieur qui fournissent des fonctionnalités telles que la modélisation des données et la liaison de collection, le glisser/déposer et les animations de l'interface utilisateur. Vous bénéficiez également d'un défilement fluide et d'une prélecture automatique des données de collections de données potentiellement infinies tout en offrant des performances DOM optimisées en interne grâce à la réutilisation des éléments DOM. Cela est rendu possible parce que vous ne codez plus directement le HTML ou le XML, mais que les classes Javascript créent/détruisent/recyclent des éléments DOM pour vous. Vous pouvez toujours personnaliser les composants à l'aide de modèles HTML.

ExtJS 5 prend désormais en charge ViewModels (MVVM) et il est donc prévu que Sencha Touch 3.x le sera également.

Vous pouvez utiliser Sencha Touch pour créer des applications Web qui ressemblent à des applications mobiles OR vous pouvez les compiler en native applications fournies avec un wrapper natif PhoneGap ou le propre emballage natif de Sencha. Sencha concentre les efforts futurs sur le wrapper natif PhoneGap par-dessus ses propres moyens et fournit plusieurs classes liées aux appareils qui s'intègrent aux API PhoneGap et fournit parfois des simulations de ces API lorsque PhoneGap n'est pas chargé (par exemple, les tests dans un navigateur de bureau).

PhoneGap fournit un pont pour que le code Javascript appelle les fonctionnalités natives de l'appareil (comme la boussole numérique, le microphone, l'appareil photo, la batterie, les capacités/l'état de l'appareil, le système de fichiers, etc.) . Ceux-ci sont fournis via PhoneGap plugins qui sont réimplémentés avec des interfaces Javascript identiques sur chaque plate-forme de système d'exploitation. Les plug-ins peuvent ou non s'intégrer à ce matériel ou à d'autres fonctionnalités du système d'exploitation (par exemple, les plug-ins de numérisation de codes-barres utilisent la caméra, tandis que le moteur de base de données SQLite accède au système de fichiers local). PhoneGap est livré avec plusieurs plugins standard mais il y a actuellement 550+ plugins Cordova enregistrés.

L'équipe PhoneGap a envisagé l'avenir où certaines de ces API matérielles se frayent un chemin dans les API de navigateur et ont cherché à suivre les normes émergentes afin d'assurer une transition aussi fluide que possible pour les développeurs à mesure que cette tendance émerge.

Quel est le meilleur de ces deux à utiliser et pourquoi?

J'espère que vous verrez maintenant qu'il ne s'agit pas de technologies concurrentes mais plutôt complémentaires qui sont fréquemment utilisées ensemble.

Vous pouvez développer des applications PhoneGap simples qui ne dépendent d'aucun autre framework mais aujourd'hui la plupart des développeurs mobiles utiliseront PhoneGap avec l'un des frameworks javascript populaires suivants qui font rivalisent les uns avec les autres: AngularJS, Kendo UI, jQuery Mobile ou Sencha Touch.

Quelle est la différence entre Cordova et PhoneGap?

Vous ne l'avez pas demandé, mais il faut y répondre dans ce contexte. La meilleure réponse est ici .

Quelle est la différence entre Sencha Touch et Sencha Touch 2?

Les versions originales de Sencha Touch 1.x et Sencha ExtJS 4.1 sont désormais obsolètes, mais toutes deux utilisaient un modèle de classe Javascript plus ancien. Sencha Touch 1.x manquait également de nombreuses autres fonctionnalités, notamment l'intégration avec PhoneGap et le nouveau système de construction Sencha Command.

Sencha Touch 2.x a introduit un nouveau design de classe plus intelligent et plus léger qui a récemment été entièrement adopté par l'ExtJS 5.x. ExtJS 5.x apporte également des modèles de vue (MVVM pour remplacer MVC) qui, selon nous, seront dans (pas encore publiés) Sencha Touch 3.x

Si vous prévoyez d'utiliser PhoneGap et Sencha Touch ensemble, vous pourriez également être intéressé par Sencha Touch Live , une application open source gratuite que j'ai créée qui augmentera considérablement votre productivité. Avec une seule commande, il peut créer, compiler, déployer et exécuter une nouvelle application sur un appareil (ou émulateur/simulateur d'appareil). Vous pouvez ensuite "modifier en direct" le code Sencha Touch sur un ou plusieurs appareils/émulateurs. Vous enregistrez simplement le fichier et il recharge l'application sur les appareils. Il compile même automatiquement vos fichiers SCCS dans CCS. Vous avez donc rarement besoin de recompiler/redéployer/réexécuter ou redémarrer les débogueurs, il suffit de modifier et d'enregistrer et d'afficher immédiatement les résultats sur plusieurs appareils. Contrairement à l'application pour développeurs PhoneGap sur laquelle elle était basée, vous pouvez utiliser any des plugins PhoneGap. Des tonnes d'autres fonctionnalités intéressantes à apprécier!

27
Tony O'Hagan

Sencha Touch est un framework mobile HTML5. Il vous aidera à développer une application web avec HTML, JavaScript et CSS. Il existe des cadres plus similaires, comme jQuery Mobile ou Lungojs.

D'autre part, PhoneGap est une plate-forme qui vous permet d'utiliser les fonctionnalités des appareils mobiles, tels que le GPS, l'appareil photo, etc., via une interface JavaScript.

En conclusion, pour créer une application utilisant ces technologies, vous implémenteriez la conception et la logique en HTML5 (avec Sencha Touch si vous le souhaitez), utiliseriez PhoneGap pour utiliser les fonctionnalités de l'appareil et envelopper l'application comme une application native.

42
davids

Je voudrais ajouter que dans Sencha touch, il est possible d'utiliser certaines fonctionnalités de l'appareil. Actuellement, je travaille sur une application Web qui est conçue pour Android appareil et j'utilise un appareil photo ( http://docs.sencha.com/touch/2-1/#! /api/Ext.device.Camera ) Cela fonctionne plutôt bien.

PhoneGap lui-même n'est qu'une couche entre javascript et appareils, et généralement son seul navigateur, vous pouvez utiliser le javascript natif pour faire fonctionner DOM ou vous pouvez utiliser des cadres tels que JqueryMobile.

Sencha touch est un framework HTML5 avec une super couche js. Vous n'avez pas besoin d'utiliser de frameworks externes pour faire une application (mais si vous voulez, vous pouvez le faire). en plus de la version 2, ils prennent en charge la construction native pour Android, iOs et probablement blackberry (mais ici, je ne suis pas sûr d'avoir vu quelques articles). Dans la nouvelle version alpha, il y a un compilateur pour winphone et IE10.

Pour mon projet, j'ai créé une petite application en utilisant phonegap + jquery mais je dirais qu'elle ne semble pas native, trop lente. En ce moment, j'ai réécrit Sencha Touch et c'est vraiment cool parce que je ne vois aucun problème de vitesse, j'ai également une ligne de commande pour construire le projet. D'un autre côté, j'ai un petit problème que certains comment Sencha Touch ne fonctionne pas sur l'appareil Prestigio, donc je vais rechercher si ce problème est dans mon application ou ses problèmes Sencha Touch

Oh oui et le problème le plus important pour moi. Le fichier apk PhoneGap est proche de 2 Mo, l'apk Sencha touch est de 600 Ko. La fonctionnalité est totalement la même. Même dans Sencha Touch, j'ai ajouté un peu plus de fichiers :)

38
Volodymyr Bilyachat

Nous développons avec Phonegap et jQueryMobile depuis plus de 5 mois. Pour ajouter de la valeur à cette discussion, je dois dire que Phonegap n'a aucun problème de vitesse avec l'iPhone 5 et les nouveaux appareils Android 4.x car ils sont extrêmement rapides. Si vous ciblez l'iPhone 4 et les anciens appareils, vous pouvez sentir l'application un peu lente. C'est vrai. Mais si vous le développez pour l'avenir, Phonegap est une alternative vraiment vraie si vous ne voulez pas entrer dans le monde Objective-C. Mais n'oubliez pas que les applications natives sont la vraie chose et les autres frameworks ne seront pas les mêmes ... ils seront assez proches.

9
Ariel Erlijman

Si vous êtes un développeur Web principalement utilisé pour créer des sites Web avec HTML, CSS et du JavaScript, vous trouverez que jQuery Mobile est beaucoup plus facile et donc plus rapide à développer qu'avec Sencha Touch. Mais si vous êtes un programmeur JavaScript professionnel qui aime la "façon MVC" de faire les choses, vous aimerez Sencha Touch.

De plus, jquery mobile vous donne beaucoup de flexibilité, ce qui n'est pas toujours une bonne chose

0
Tarun

Pourquoi pas les deux ? Phonegap/Cordova n'est pas un travail de cadre ui PG/Cordova est entre les fonctions natives et le cadre ui. Vous pouvez donc utiliser Sencha et Phonegap ensemble

0
Josephy Besim