Frage

Vor kurzem begann ich einen J2ME app Prototyp zu entwickeln. Ich merkte, wie schwierig es ist, eine gut aussehende Benutzeroberfläche zu entwickeln. Betrachten Sie eine App in J2ME für Buchung von Flügen Entwicklung mit Webservice interagieren.

Eine Website Flüge buchen wird einfach mit netten ui zu entwickeln und durch Browser auf einem Mobiltelefon zugegriffen werden. Ich verstehe nicht alle Handys haben Browser, sondern alle neuen und kommenden diejenigen haben Browser und haben auch große Leinwand.

Ist es eine gute Idee, eine solche Anwendung in J2ME zu entwickeln, die für sie sprechen müssen WebService zu arbeiten? Oder J2ME eignet sich nur für den Standalone-Anwendungen?

War es hilfreich?

Lösung

Vorteile von J2ME:

  • Kann Telefonressourcen zugreifen, wie Dateisystem, Telefonbuch und GPS. Die letzte ist sehr wichtig, in Kartenanwendungen.
  • Sie können bauen reiche User Interfaces. Es kann schwierig sein, wie Sie sagen, aber es gibt viele GUI-Bibliotheken, die Ihnen helfen können. Im Gegenteil für die UI eines mobilen Browser (Sie nicht auf CSS und JavaScript arbeiten verlassen können) wäre sehr schlecht sein.
  • Mehr Flexibilität auf der Kommunikationslogik. Sie können Daten verschlüsseln / entschlüsseln, komprimieren sie, SOAP Web-Services nutzen. Mit dem Browser, Ihre beste Wette wäre REST-Service zu entwickeln.

Nachteile von J2ME:

  • Midlets müssen unterzeichnet werden. Dies hat einige Kosten und es gibt Situationen, die auch eine signierte App nicht richtig in bestimmten Telefonen laufen.
  • ein midlet Entwicklung in allen Arten von Telefonen zu laufen ist ein Alptraum. Im Gegenteil, eine gut mobile Web-Anwendung entwickelt, würde in allen neueren Handys richtig angezeigt werden.
  • Sie müssen für die Verteilung Ihrer Anwendung einen Kanal haben. Die Leute würden brauchen, um es herunterzuladen und für die erforderliche Bandbreite aufgeladen zu bekommen. Sie müßten für verärgerte Kunden, die Probleme mit der Anwendung sorgen. Die Dinge sind einfacher, mit einer Website.
  • J2ME-Anwendungen sind zwangsläufig mit nativen Anwendungen (iPhone, Windows Mobile, Symbian) verglichen. Im Vergleich zu diesen sind sie sehr schlecht, und viele würden feststellen, dass für sie zu bezahlen oder sogar mit ihnen ist nicht gerechtfertigt.

Mein Fazit: Heute echte Smartphones werden immer beliebter und ein stetig wachsenden Marktanteile gewinnen. Unter diesen Umständen überwinden die Vorteile von J2ME kann nicht wirklich seine Einschränkungen. Die einzige Ausnahme, die ich denken konnte, ist, wenn eine GPS-Anwendung zu haben, zu entwickeln. In allen anderen Fällen ist eine mobile Website eine bessere Idee.

Andere Tipps

Es gibt viel von Missverständnissen und schlicht falsche Angaben in den vorangegangenen Antworten.

ich Rat, den Sie einfach tun Sie Ihre Forschung selbst. Heutzutage Sie können entwickeln wirklich gut aussehende Anwendungen mit J2ME ohne eigene GUI-Framework zu schreiben. Werfen Sie einen Blick auf LWUIT wirklich. Zum Beispiel haben sie eine virtuelle Tastatur als eine ihrer Touchscreen-Funktionalitäten und diese haben Sie auf Geräte wie das N97, das selbst nicht eine virtuelle Tastatur verfügt. BTW LWUIT verwenden, haben Sie ein Blackberry und Android-Port anschließen, wenn jemand sich interessiert.

Auch heutzutage Apps im Mittelpunkt auf vielen Plattformen wird nicht nur das iPhone. Schauen Sie sich die jüngsten Entwicklungen in diesem Bereich wie OVI, RIM, Samsung, SE, Orange World sie alle beginnen mit App-Shops.

„Erste Menschen eine Website auf ihrem Mobiltelefon zu verwenden ist einfacher, als sie immer eine Anwendung zum Download bereit.“ dies ist nur ein Anspruch ohne Beweis. Sie können nicht so wie diese sagen. Es hängt von vielen anderen Faktoren ab. - Warum sollten Benutzer geben Sie Ihre mobile URL in den eher kleinen Bildschirm wieder

?

Wie auch immer, ist diese Antwort wahrscheinlich zu spät, so werde ich nicht schreiben viel mehr. Die Mobilfunk-Branche verändert sich schnell gerade jetzt, aber es ist noch nicht eine Alternative für plattformübergreifende Entwicklung J2ME. Vielleicht in der Zukunft mit besseren Browsern und Widget technolgies.

Nur eine kurze Notiz, Anwendungen wie Google Maps oder Google Mail Mobile wahrscheinlich verwenden WebServices nicht ihren Server-Teil zu sprechen. Ein WebService hat eine Menge Aufwand, vor allem, wenn man bedenkt, dass mobile Benutzer in der Regel durch die Menge der Daten bewertet werden sie übertragen. Der beste Weg, die Kommunikation zwischen dem Client-Anwendung und dessen Serverteil auszuführen ist Binärdaten über eine Socket-Verbindung zu verwenden.

Ich persönlich denke, es ist wirklich schwer, eine konsistente und zuverlässige J2ME-Anwendung zu machen, die über eine große Anzahl von Mobiltelefonen laufen. Aufgrund meiner Erfahrung würde ich nur eine J2ME-Anwendung (statt einer Webanwendung) entwickeln, wenn es sich um eine strenge Anforderung ist - zum Beispiel, Ihre Buchungen sehen zu können, ohne an das Netz angeschlossen werden. Es gibt noch anderes mit J2ME-Anwendungen verbunden Kosten - die Anwendungen heruntergeladen werden muss, wird der Benutzer gefragt, ob die Anwendung erlaubt ist, mit dem Netzwerk zu verbinden, wenn es versucht, (es gibt Ausnahmen für diesen Fall, aber ich glaube, dass die Anwendung werden muss unterzeichnet von 3rd-Party-Unternehmen - mehr $$$ beteiligt ist), haben Sie verschiedene Versionen der Anwendung halten auf einer Vielzahl von Mobiltelefonen (mehr Komplexität der Anwendung ausgeführt wird), und so weiter ...

Denken auf diese Weise über sie - wenn Sie eine ähnliche Sache für einen Computer entwickeln, würden Sie eine Desktop-Anwendung oder eine Web-Anwendung bauen? Mit den Handys von heute (von denen viele Voll HTML-Seiten mit Javascript zugreifen kann - was bedeutet, Ajax), der Satz der Frage gilt

.

ich, was eine gute Daumenregel sein sollte. Wenn das, was Sie versuchen kann zu erreichen, mit einer mobilen Website durchgeführt werden - für die Website geht

IMHO, Apps sollten nur verwendet werden, wenn sie die Vorteile der mobilen Hardware nehmen können nicht - wie Lage, Ton, Video, 3D, Bilder etc ...

Auch wenn die Entwickler die Kosten für die App waren unbedeutend (sie sind in der Regel nicht), würden Sie haben einige wirklich erstaunliche Fähigkeiten anzubieten, sondern auch die Anwender durch die Mühe zu machen es herunterzuladen.

(All dies ist im Wesentlichen gilt für J2ME / BREW. Das iPhone ist ein wenig anders als Anwendungen, die im Mittelpunkt steht)

Eine Sache hervorzuheben:. Der einzige Standard Weg, um eine MIDlet der Bereitstellung via OTA-Download ist, so dass Sie nicht ein J2ME-fähiges Handy erwarten würden nicht einen Web-Browser haben

Mobil Web-Browser wie Webkit und Opera wird immer besser schneller als J2ME (zumindest bis MIDP3.0 Versand beginnt, wenn überhaupt).

Egal welche Plattform Sie wählen, müssen Sie Ihren Dienst auf vielen Geräten testen. Ich glaube nicht, von J2ME Umstellung auf Webapp einen großen Unterschied in dieser Hinsicht macht, weil Handy-Hersteller halten die Binärdateien zu ändern, die in den Telefonen Firmwares gehen.

Erste Menschen eine Website auf ihrem Mobiltelefon zu verwenden ist einfacher, als sie immer eine Anwendung zum Download bereit. es sei denn, dass die Anwendung bereits installiert ist, wenn sie das Telefon kaufen, das ist.

Sie könnten für eine bessere und einfachere J2ME GUI auf LWUIT suchen.

Eine Sache, die J2ME für einen Flug-Buchungsservice erreichen wird, ist die Batterie schonen, indem nicht konstant Netzwerk-Datenübertragung erfordern, dank den lokalen Speichermechanismen.

gibt es viele große J2ME-Anwendungen, die (müssen), um einen Web Service sprechen. man denke nur an den Google Apps wie Google Mail Mobile und Karten für Handys. sie sind schneller und einfacher zu bedienen als die Dienste per Handy-Browser. Wenn Sie also eine gute App entwerfen können, ist es auf jeden Fall wert.

EDIT: auch eine J2ME App ermöglicht Funktionen, die von einer Web-Anwendung kann nicht zur Verfügung gestellt werden. Integration mit Telefonfunktionen (Adressbuch, Kalender), "nennt diese Zahl", location api, etc

Ich denke, für Business-Anwendungen, oder mehr Text / Daten-orientierte Dinge, eine mobile Web / WAP-Site könnte einfacher sein, zu halten, da Sie nicht mit Schub Client-Updates, um Handys zu tun haben werden.

Für UI-intensive Anwendungen (Karten, Spiele, etc.), Client-Anwendungen sind wahrscheinlich der Weg zu gehen, so können Sie das mehr der Verarbeitung handhaben und auf der Client-Seite zu machen.

Beide Optionen sind allerdings schwierig, da es so viele Kompatibilitätsprobleme mit Handys sind. Sie könnten am besten gedient durch Eingrenzung, welche Arten von Telefonen Sie für Ihre Anwendung unterstützen wollen. Wenn Sie die meisten Ihrer Kunden denken, iPhone oder Android-Handys sein wird, können Sie diese Zielplattformen (entweder mit Client-Anwendungen oder Web-Anwendungen) und zur Vermeidung der alten Schule J2ME vollständig.

Ich hasse WebApps auf Handys. Sie sind langsam und sie arbeiten nicht in einer halb verbundenen Umgebung.

J2ME-Anwendungen können lokale Sicherungen tun, Bluetooth-Backups, Bluetooth Datenaustausch zwischen zwei Telefonen und besser ansprechenden Benutzeroberfläche. Doch das erfordert Geld, Geschick, Zeit etc.

Meine Hauptkritikpunkte mit MIDP obwohl treiben Software-Updates und wav Echtzeit zu mischen. das ist möglich im Rahmen der MIDP technisch aber die goons am Rad sind nicht sehr kreativ.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top