2010-07-02 12 views
12

Ich möchte eine Webanwendung mit separater Benutzeroberfläche für Mobil und PC implementieren. Weißt du wie ich erkennen kann ob es mobil ist oder nicht? Haben Sie im Allgemeinen Vorschläge zur Implementierung einer solchen Anwendung in GWT?Mobile Browser in GWT erkennen

+0

Ich verstehe nicht, warum das geschlossen wurde. Ist die angenommene Antwort falsch oder irreführend? Ich kann sehen, das OP fragt mehr als nur die Frage im Titel, aber immer noch ... –

+1

Diese ** Frage ** sollte ** NICHT ** geschlossen sein! Es ist eine sehr nützliche, relevante Frage. – Magick

Antwort

13

Auf der Client-Seite können Sie die Navigator Klasse nutzen die Plattform und den User-Agent-String zu erhalten:

Navigator.getPlatform 
Navigator.getUserAgent 

Identifizieren von Geräten und Plattformen, die Art und Weise.

6

Es gab ein paar Beiträge in Bezug auf die mobile Version von Safari in GWT Handhabung und Touch-Anwendungen auf Just enough code to be dangerous:

Es könnte einige andere Beiträge geben, die Sie interessieren könnten - viel Spaß beim Graben :)

+0

sieht aus wie Links, die Sie bereitstellen, nicht mehr funktionieren: "Verbindung zu 170.225.97.112 fehlgeschlagen" –

+0

@ArtemAO, vielen Dank für das zeigen - behoben :) –

+0

Nicht einmal ein einzelner Link funktioniert – Prakash

7

Wenn Sie daran gewöhnt sind, mit dem MVP-Muster zu entwickeln oder eine mobile Version einer bestehenden App zu erstellen, würde ich vorschlagen, zu verwenden m-gwt. M-gwt funktioniert gut mit Best Practices von GWT, wie MVP, da es versucht, den Kern von GWT nur mit der notwendigen Funktionalität für Mobiltelefone zu erweitern. Viele der in GWT gefundenen Widgets existieren in mobilen Versionen in m-gwt, mit besserer Berührungsunterstützung usw.

Wenn Sie daran gewöhnt sind, iPhone Apps zu entwickeln, können Sie sich NEXT ansehen. Next interfaces verwendet ein eigenes MVC-System, was bedeutet, dass es gut mit MVP funktioniert oder mobile Versionen existierender GWT-Sites erstellt. Manche Leute bevorzugen dies vielleicht mit Aktivitäten und Orten und es hat auch eine nette Widget-Bibliothek.

GwtMobile hat eine ähnliche Reihe von Widgets zu m-gwt und Next-Schnittstellen. GwtMobile verwendet ein eigenes System, um Seiten zu erstellen, auf denen jede Seite eine Page-Klasse erweitert, und Sie haben eine GoTo-Methode, um zwischen verschiedenen Seiten zu navigieren. Einige bevorzugen möglicherweise andere Frameworks, in denen Sie stattdessen die Google-Aktivitäten & verwenden können. GwtMobile hat einige nette Widgets, die auch mit anderen Frameworks verwendet werden können und es hat auch ein eigenes Persistenz-Framework.

M-gwt und GwtMobile haben beide eine eigene Phonegap-Bindung, so dass Sie die Apps in den Apple App Store und Android Market hochladen können.

Gwt-mobile-webkit ist derzeit nicht so viel über mobile als die einzige Sache, die nutzbar ist und derzeit nicht in Kern GWT integriert ist die Datenbank-API. Wenn Sie Web SQL benötigen, dann GWT-mobile-webkit Datenbank-API Ihr Freund ist

Wenn Sie sehr einfach wollen No-Frills-Widgets und keine Animationen, aber die Kompatibilität mit Steinzeit-Browsern, dann einen Blick auf informagen mobile gwt Der Code ist versteckt in der maven repository.

Eines der beliebtesten JavaScript-Frameworks, Sencha Touch, hat GWT-Bindung bei http://emitrom.com/gwt4touch gefunden Das Problem mit Gwt4Touch ist, dass die Widgets in der aktuellen Version nicht wirklich GWT Widgets sind, nur einfache Wrapper um Sencha Touch.Dies bedeutet, dass die aktuelle Version im Allgemeinen nicht sehr kompatibel mit anderen GWT-Bibliotheken ist. Laut den Entwicklern soll die Version 2.0 mit echten GWT-Widgets gegen Ende Dezember 2011 veröffentlicht werden, zu diesem Zeitpunkt wird sie viel brauchbarer sein.

Im Allgemeinen unterstützen die mobilen GWT-Bibliotheken Webkit-basierte Browser nur, da sie dazu neigen, neuere Browserfunktionen und CSS3 zu verwenden. Es ist möglich, dass es mit anderen Browsern funktioniert, aber Sie müssen neue Versionen einiger Widgets und Animationen erstellen, die keine CSS3-Funktionen verwenden, die nur in Webkit zu finden sind.

Abschließend, wenn Sie eine neue App entwickeln, schauen Sie in welche der Frameworks Sie am besten gefällt, wenn Sie eine mobile Version einer bestehenden App machen, sind Sie wahrscheinlich am besten mit m-gwt, vor allem wenn Sie verwenden Aktivitäten und Orte. Es ist möglich, dass Gwt4Touch 2.0 auch gut funktioniert, um mobile Versionen existierender Apps zu erstellen, wenn diese veröffentlicht werden. Behalte das auch im Auge.

+3

Dieser Beitrag wurde bereits von einem Moderator überprüft. Siehe http://meta.stackexchange.com/questions/114402 –