it-swarm.com.de

Verwenden von Phonegap für die native Anwendungsentwicklung

Ich bin kürzlich auf Phonegap gestoßen. Hat es jemand von euch versucht? Es ist ein unglaubliches Tool, das behauptet, dass Entwickler HTML 5-basiertes Framework wie Sencha Touch und Jquery gleichzeitig verwenden können, um auf native Funktionen auf dem Telefon zugreifen zu können. Außerdem ist der Code mit einigem Aufwand von Android auf das Iphone übertragbar. Bevor ich darauf eingehe, möchte ich wissen, welche Erfahrungen das Forum mit Phonegap gemacht hat. Was sind die Schwachstellen und ist er wirklich für Unternehmen skalierbar? Level-Anwendungsentwicklung.

97
SaKet

Ich habe einige Anwendungen mit PhoneGap erstellt und für das, was es bietet, ist es großartig. Es gibt ein paar kurze Notizen, auf die ich hinweisen möchte, die Ihnen helfen könnten.

Disable device-based features you're not using Die Geolocation-Funktionen für den Beschleunigungsmesser sind standardmäßig aktiviert. Wenn Sie sie nicht verwenden, würde ich sie deaktivieren, da Ihre App schneller geladen (initialisiert) und reibungsloser ausgeführt wird.

onDeviceReady - Dies ist die Methode, die aufgerufen wird, sobald phonegap geladen und bereit ist. $ (document) .ready oder was auch immer Sie gewohnt sind, trifft hier nicht wirklich zu - es sei denn, Sie machen nur Interface/hartcodiertes HTML-Zeug. Wenn Sie mit iPhone-Funktionen wie GeoLocation interagieren, müssen Sie alles tun after onDeviceReady wurde aufgerufen .

Pick a UI/library Es gibt unzählige Optionen für die Benutzeroberfläche/Bibliotheken, jquery-mobile, sencha touch, jqtouch usw. Diese bieten jeweils einen einzigartigen Ansatz und Funktionsumfang. Recherchiere und benutze eines, aber vermeide es, es zu kombinieren. Weitere Optionen und Tools finden Sie hier: http://www.phonegap.com/tool (Link aktualisiert)

Also, more on just mobile development in general, with PhoneGap Wenn Sie Apps erstellen möchten, die über den Android Markt und den iPhone App Store vertrieben werden, würde ich deren ausführliche Listen nach Richtlinien durchlesen Wie Sie Ihre App entwickeln können: Im obigen Tool-Link gibt es beispielsweise ein "Tool/Plugin" mit dem Namen Easy APNS -, während dies für Android) nützlich ist - und technisch machbar auf dem iPhone, verstößt es gegen die Entwicklungsvereinbarung, da es besagt, dass Sie das Apple Benachrichtigungsnetzwerk usw.) verwenden müssen ersparen sie sich viele kopfschmerzen, wenn das ihr endziel ist.

Alles in allem eignet es sich hervorragend für leichtgewichtige Apps, insbesondere, wenn Sie über einen Webentwicklungshintergrund verfügen. LocalStorage, GeoLocation, etc .. funktioniert wirklich gut. Ich hoffe das hilft ein wenig ... und fühle mich, Fragen zu stellen.

Zusätzliche Bearbeitung:

Ich denke wirklich, es kommt darauf an, was Sie tun wollen und wie Sie es tun können. Matt wies darauf hin, dass es besser ist, native Apps für iOS usw. zu entwickeln. Ja, wenn Sie die Zeit und das Wissen haben, dies zu lernen, ist es natürlich besser, native Apps zu entwickeln. PhoneGap ist jedoch für Webentwickler gedacht, die ihre vorhandenen Fähigkeiten nutzen und Apps erstellen können. Außerdem können Sie mit PhoneGap schnell Apps für iOS, Android, Symbian, Palm und Blackberry erstellen. Mit geringfügigen Anpassungen an Ihrer Codebasis für jeden.

95
TNC

Hier sind die besten Performance-Anleitungen, die ich für PhoneGap gelesen habe. Es gibt eine Menge zu beachten, um sicherzustellen, dass Sie eine solide und stabile Performance haben. Sie können jedoch alles an einem einzigen Abend nach dem Lesen abrufen.

Hier sind die besten Nuggets:

Tipps zur Leistung von PhoneGap/Mobile Web

Neue Funktionen aktivieren

Die Architektur

Architektur Ihrer App in Ext. JS 4: http://www.sencha.com/learn/architecting-your-app-in-ext-js-4-part-2

52
ATSiem

Bevor ich meine Meinung zu Phonegap äußere, muss ich einen kleinen Haftungsausschluss herausgeben, der besagt, dass ich keineswegs ein Webentwickler bin. Für mich ist das Schreiben von JavaScript und CSS das Ziehen von Zähnen. Trotzdem mag ich Phonegap nicht.

Es gibt ein paar sehr ansprechende Aspekte des Frameworks, hauptsächlich den "Write-Once-Run-Anywere" -Appeal und das "I-Don't-Have-To-Learn-Objective-C?" Beschwerde. Über das Framework können Sie sogar auf einige Hardwarefunktionen wie den Beschleunigungsmesser zugreifen. All dies gilt bis zu einem gewissen Grad.

Keine der großartigen iOS-Apps wurde jedoch mit einem plattformübergreifenden Framework erstellt. Es gibt so viele subtile und elegante Benutzeroberflächen-Interaktionen, die von den nativen UIKit-Steuerelementen für Sie verwaltet werden und die viele Benutzer und Entwickler für selbstverständlich halten, bis sie nicht mehr vorhanden sind in der Web-View-basierten Benutzeroberfläche. Sie könnten sich die Mühe machen, sie perfekt zu reproduzieren, aber für diese Zeit sollten Sie nicht einfach einheimisch werden.

Ein zweiter wichtiger Punkt ist, dass die Support-Community für von Phonegap erstellte iOS-Anwendungen drastisch kleiner ist als nativ entwickelte Anwendungen. Wenn Sie sich bei Projekten auf die Community verlassen möchten, sollten Sie auch eine Pause einlegen.

Am Ende kommt es auf die Qualität der Erfahrung an, die Sie liefern möchten. Die Obergrenze ist bei Phonegap niedriger. Wenn Sie bereit sind, eine weniger als hervorragende Benutzererfahrung im Austausch für kürzere Entwicklungszeiten und höhere Portabilität zu akzeptieren, ist dies ein sehr praktikables Framework.

Marco Arment und Dan Benjamin diskutierten kürzlich dieses Thema als Untertext für alle Interessierten. Sie können es sich anhören hier .

29
Matt Wilding

Das Installationsverfahren umfasst eine Reihe von Paketen (Java, Apache Ant, Ruby, iOS SDK, Android SDK und PhoneGap selbst)), die alle korrekt installiert und eingerichtet werden müssen. Dies kann eine sein Um fair zu sein, haben sie in der Beta etwas namens PhoneGap Build, das dies viel einfacher machen sollte.

Wir verwenden es mit NS Basic/App Studio, um Apps zu erstellen, die für App Stores geeignet sind.

4
ghenne

wenn Sie weder ein Spiel noch ein Widget erstellen, sondern nur eine gut aussehende App, dann ist phonegap Ihre Wahl.

Aber Sie sollten mit Ihrem JS vorsichtig sein, nichts in JS tun, zum Beispiel, wenn Sie eine Animation machen möchten, vermeiden Sie das Setzen eines Timers mit kleinen Intervallen (z. B. 100 ms), vermeiden Sie JQuery und ähnliche Animationen. Anstatt zum Beispiel das Überblenden zu animieren, indem Sie einen Kurzzeittimer einstellen, der die Deckkraft an jedem Punkt schrittweise verringert (so funktioniert jquery Fade), sollten Sie css3-Übergänge von Deckkraft 1 zu Deckkraft 0 verwenden.

Mein Rat ist, mit etwas wie zeptojs.com zu gehen, schließlich läuft phonegap nicht ie6 :-)

In einem Tutorial erfahren Sie, wie Sie Ihren JS leichter machen

http://bcksp.blogspot.com/

2
Muayyad Alsadi

Wenn Sie keine der Hardwarefunktionen oder -leistungen benötigen, die über das hinausgehen, was HTML5 und Phonegap bieten, ist eine gekapselte Web-App (plus eingeschränkter Zugriff auf andere Funktionen) eine großartige Lösung.

Viele Unternehmen setzen umfangreiche Web-Apps ein. Mit Phonegap (oder einfach einer einfachen Webansicht mit eingebettetem Inhalt) können Sie diese Webanwendungen offline ausführen (außer natürlich für alle erforderlichen Online-Daten).

1
hotpaw2

Ein "Schmerz", der beim Einsatz auf mehreren Geräten nicht erwähnt wird: Je mehr Geräte, desto größer die Lernkurve. Um mit PhoneGap auf iOS-Geräten bereitzustellen, müssen Sie die Grundlagen von Xcode auf einem Mac erlernen. Für die Bereitstellung auf Android müssen Sie Eclipse, das Android SDK usw. installieren und lernen. Für die anderen Plattformen müssen eigene SDKs verwendet werden. Das Erlernen von rudimentärem Xcode, Javascript und Java hilft mir, Fehler und allgemeine Syntax zu verstehen.

"Einmal erstellen, überall bereitstellen" lässt VIELE Schritte aus!

0
Steve