Question

Récemment, j'ai commencé à développer un prototype d'application J2ME. J'ai remarqué à quel point il est difficile de développer une belle interface utilisateur. Envisagez de développer une application dans J2ME pour réserver des vols en interaction avec Webservice.

Un site Web pour réserver des vols sera facile à développer avec une interface utilisateur agréable et peut être consulté par le navigateur sur un combiné. Je comprends que tous les combinés n’ont pas de navigateur, mais que tous les nouveaux et les futurs ont un navigateur et un grand écran.

Est-ce une bonne idée de développer une telle application en j2me qui nécessite de parler à webservice pour que cela fonctionne? Ou j2me ne convient-il qu'aux applications autonomes?

Était-ce utile?

La solution

Avantages de J2ME:

  • Peut accéder aux ressources du téléphone, telles que le système de fichiers, le répertoire téléphonique et le GPS. La dernière est très importante dans les applications cartographiques.
  • Vous pouvez créer des interfaces utilisateur plus riches. Cela peut sembler difficile, mais de nombreuses bibliothèques d’interface graphique peuvent vous aider. Au contraire, l'interface utilisateur d'un navigateur mobile (vous ne pouvez pas compter sur CSS et javascript) serait très médiocre.
  • Plus grande flexibilité dans la logique de communication. Vous pouvez chiffrer / déchiffrer des données, les compresser, utiliser les services Web SOAP. Avec le navigateur, le mieux serait de développer des services REST.

Inconvénients de J2ME:

  • Les midlets doivent être signés. Cela a un coût et il y a des situations dans lesquelles même une application signée ne fonctionnera pas correctement dans certains téléphones.
  • Développer un midlet compatible avec tous les types de téléphones est un cauchemar. Au contraire, une application Web mobile bien conçue s’afficherait correctement sur tous les téléphones récents.
  • Vous devez disposer d'un canal pour distribuer votre application. Les gens auraient besoin de le télécharger et de se faire payer pour la bande passante requise. Vous devez prendre soin de clients en colère ayant des problèmes avec l'application. Les choses sont plus faciles avec un site Web.
  • Les applications J2ME sont inévitablement comparées aux applications natives (iPhone, Windows Mobile, Symbian). Comparés à ceux-ci, ils sont très pauvres et beaucoup trouveraient que payer ou même les utiliser n’est pas justifié.

Ma conclusion: De nos jours, les vrais téléphones intelligents gagnent en popularité et gagnent une part de marché en croissance constante. Dans ces circonstances, les avantages de J2ME ne permettent pas de surmonter ses restrictions. La seule exception à laquelle je pouvais penser est si je devais développer une application GPS. Dans tous les autres cas, un site Web mobile est une meilleure idée.

Autres conseils

Il y a beaucoup de fausses déclarations dans les réponses précédentes.

Je vous conseille de faire vos recherches vous-même. De nos jours, vous pouvez développer de très jolies applications avec J2ME sans écrire votre propre cadre d'interface graphique. Jetez un coup d'oeil à LWUIT vraiment. Par exemple, ils ont un clavier virtuel comme une des fonctionnalités de leur écran tactile, ce que vous avez sur des périphériques comme le N97, qui n’a pas de clavier virtuel. BTW utilisant LWUIT, vous avez un port Blackberry et Android inclus si cela vous intéresse.

De plus, les applications occupent désormais une place centrale sur de nombreuses plateformes, et pas seulement sur l'iPhone. Regardez les développements récents dans ce domaine comme OVI, RIM, Samsung, SE, Orange World, ils commencent tous par des boutiques d'applications.

"Il est plus facile d'inciter les internautes à utiliser un site Web sur leur téléphone portable que de télécharger une application." c'est juste une réclamation sans preuve. vous ne pouvez pas dire ça comme ça. Cela dépend de beaucoup d'autres facteurs. - Pourquoi les utilisateurs devraient-ils saisir à nouveau votre URL de mobile sur un écran plutôt petit?

Quoi qu'il en soit, cette réponse est probablement trop tard, je ne vais donc pas écrire beaucoup plus. L'industrie de la téléphonie mobile évolue rapidement à l'heure actuelle, mais il n'y a pas encore d'alternative à J2ME pour le développement de plates-formes croisées. Peut-être à l'avenir avec de meilleurs navigateurs et technologies de widgets.

Juste une note, des applications telles que Google Maps ou Gmail Mobile n'utilisent probablement pas WebServices pour communiquer avec leur serveur. Un WebService génère beaucoup de temps système, en particulier si l’on considère que les utilisateurs mobiles sont généralement notés en fonction de la quantité de données qu’ils transmettent. Le meilleur moyen de communiquer entre votre application cliente et sa partie serveur consiste à utiliser des données binaires via une connexion socket.

Personnellement, j'estime qu'il est très difficile de créer une application J2ME cohérente et fiable pouvant être utilisée sur un grand nombre de téléphones mobiles. D'après mon expérience, je ne développerais une application J2ME (au lieu d'une application Web) s'il s'agit d'une exigence stricte - par exemple, pour pouvoir afficher vos réservations sans être connecté au réseau. Il existe d'autres coûts associés aux applications J2ME - les applications doivent être téléchargées. On demandera à l'utilisateur si l'application est autorisée à se connecter au réseau lorsqu'elle tente de le faire (il existe des exceptions pour ce cas, mais je crois que l'application doit être signée. par une société tierce - plus de $$$ impliqués), vous devrez gérer différentes versions de l’application fonctionnant sur divers téléphones mobiles (plus de complexité pour l’application), etc.>

Pensez-y de cette façon: si vous développiez un logiciel similaire pour un ordinateur, construiriez-vous une application de bureau ou une application Web? Avec les téléphones portables d'aujourd'hui (dont beaucoup peuvent accéder à des sites full-html avec javascript - ce qui signifie ajax), la proposition de la question est valide.

Je pense que la règle générale devrait être la suivante: Si vous pouvez atteindre vos objectifs avec un site Web mobile, privilégiez le site Web.

IMHO, les applications ne devraient être utilisées que si elles ne peuvent pas tirer parti du matériel mobile - comme la localisation, le son, la vidéo, la 3D, les images, etc.

Même si les coûts de développement de l'application étaient insignifiants (ils ne le sont généralement pas), il vous faudrait offrir des fonctionnalités vraiment étonnantes pour que les utilisateurs ne se laissent pas embarrasser pour le télécharger.

(Tout cela est essentiellement vrai pour J2ME / BREW. L'iPhone est un peu différent, les applications occupant une place centrale)

Une chose à souligner: le seul moyen standard de déployer un MIDlet est le téléchargement OTA. Vous ne vous attendriez donc pas à ce qu'un téléphone compatible J2ME ne dispose pas d'un navigateur Web.

Les navigateurs Web mobiles tels que Webkit et Opera s'améliorent plus rapidement que J2ME (au moins jusqu'à ce que MIDP3.0 commence à être expédié, si jamais).

Quelle que soit la plate-forme que vous choisissez, vous devrez tester votre service sur de nombreux appareils. Je ne pense pas que le passage de J2ME à Webapp fasse une énorme différence à cet égard, car les fabricants de téléphones modifient sans cesse les fichiers binaires entrant dans les firmwares des téléphones.

Il est plus facile de faire utiliser un site Web sur un téléphone mobile que de télécharger une application. sauf si cette application est déjà installée lors de l'achat du téléphone, c'est-à-dire.

Vous voudrez peut-être consulter LWUIT pour améliorer et simplifier l'interface graphique J2ME.

Une chose que J2ME réalisera pour un service de réservation de vol est de sauver la batterie de sa batterie en ne requérant pas un transfert de données réseau constant, grâce aux mécanismes de stockage locaux.

il existe de nombreuses super applications j2me qui (doivent) communiquer avec les services Web. Il suffit de penser aux applications Google, telles que Gmail Mobile et Maps for Mobile. ils sont plus rapides et plus faciles à utiliser que les services via un navigateur de téléphone portable. Donc, si vous pouvez concevoir une bonne application, cela en vaut vraiment la peine.

EDIT: de plus, une application j2me permet des fonctionnalités qui ne peuvent pas être fournies par une application Web: intégration aux fonctionnalités du téléphone (carnet d'adresses, calendrier), "appeler ce numéro", api d'emplacement, etc.

Je pense que pour les applications professionnelles, ou plus orientées texte / données, un site Web / WAP mobile pourrait être plus facile à gérer, car vous ne devrez pas envoyer de mises à jour clients aux combinés.

Pour les applications à interface utilisateur intensive (cartes, jeux, etc.), les applications clientes sont probablement la voie à suivre. Vous pouvez ainsi gérer davantage le traitement et le rendu côté client.

Les deux options sont toutefois difficiles, car les problèmes de compatibilité avec les téléphones sont nombreux. Vous feriez mieux de cibler les types de téléphones que vous souhaitez prendre en charge pour votre application. Si vous pensez que la plupart de vos clients seront des téléphones iPhone ou Android, vous pouvez cibler ces plates-formes (avec des applications client ou Web) et éviter complètement le j2me old-school.

Je déteste les WebApps sur les téléphones. Ils sont lents et ne fonctionnent pas dans un environnement semi-connecté.

Les applications J2ME peuvent effectuer des sauvegardes locales, des sauvegardes Bluetooth, le partage de données Bluetooth entre deux téléphones et une interface utilisateur plus réactive. Cependant, cela nécessite de l'argent, des compétences, du temps, etc.

Mon principal reproche avec MIDP est toutefois de proposer des mises à jour logicielles et un mixage en temps réel. Techniquement, cela est possible dans le cadre de MIDP, mais les hommes de main ne sont pas très créatifs.

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