Question

Problème

Quelle est votre stratégie pour créer une application Web de type bureau qui doit être déployée sur les navigateurs Web de bureau et sur les appareils mobiles (Android, IPhone, etc.)?

Une ligne de conduite pourrait être de sélectionner d'abord le meilleur cadre pour créer la partie qui fonctionne sur les ordinateurs (c'est-à-dire pas sur les appareils mobiles). Étant une application de type bureau, un bon framework candidat est GWT + ExtGWT car il fournit:

  • Développement basé sur Java qui est beaucoup plus évolutif / solide que le développement en Javascript via ExtJS par exemple
  • Bon débogage
  • Bonne testabilité

Ensuite, vous souhaiterez également déployer cette application sur les appareils mobiles. Alors, comment allez-vous à partir d'ici? Rédiger une implémentation distincte (distincte de GWT) pour Android, une autre pour iOS (dans objective-c), une autre pour Windows Mobile, et ainsi de suite?

Liés

En lien avec ci-dessus, j'ai vu la présentation de PhoneGap qui prétend que vous développez en Javascript + HTML et qu'il génère du code pour toutes les plateformes mobiles: Android, iOS, etc.

Cependant, PhoneGap n'est pas une option car je ne pense pas qu'il s'intègre bien avec GWT et plus important encore, il ne génère pas d'application native pouvant tirer parti de fonctionnalités telles que l'arrière-plan, les services, etc. (voir http://www.youtube.com/watch?v=xHXn3Kg2IQE pour découvrir pourquoi les applications Android natives sont nombreuses mieux que ceux basés sur un navigateur). Il peut y avoir d'autres frameworks comme PhoneGap dont je ne suis pas au courant, mais à ce stade, je ne vois que:

  • une mise en œuvre avec GWT
  • une mise en œuvre pour Android
  • une implémentation pour iPhone
  • et ainsi de suite ...
Était-ce utile?

La solution

Si vous prévoyez déjà de développer pour plusieurs plates-formes, c'est une bonne idée d'envisager au moins des frameworks multiplateformes comme PhoneGap ou Appcelerator. Au-delà du fait que vous développez pour plusieurs plates-formes, il y a quelques autres questions importantes à considérer.

  1. Voulez-vous également une version Web?
  2. Avez-vous besoin d'une prise en charge graphique intensive?
  3. Avez-vous beaucoup d'argent pour cibler plusieurs plates-formes?
  4. Avez-vous beaucoup de temps pour cibler plusieurs plates-formes?

Vous indiquez également deux autres grandes questions à prendre en compte lors du débogage et de la testabilité. En termes de tests unitaires, toute plateforme native est très difficile à tester unitaire. Le débogage est assez facile pour la plupart des plates-formes natives.

En ce qui concerne PhoneGap, il est important de savoir quelques choses à ce sujet.

Vous pouvez écrire des plugins PhoneGap. Un plugin est essentiellement un code natif pour n'importe quelle plate-forme donnée qui peut faire à peu près tout ce que vous voudriez faire dans le code natif - services d'arrière-plan, opengl, etc. - et le rendre accessible à JavaScript dans la vue Web.

Il existe plusieurs projets open source qui pourraient vous intéresser, tels que GWT-PhoneGap , QUnit pour les tests unitaires JavaScript et Weinre pour Firebug comme le débogage.

J'espère que cela aide!

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top