2012-05-01 12 views
5

Ich habe eine PHP-Anwendung entwickelt. Ich möchte phonegap.com oder einen ähnlichen Ansatz verwenden, um native Anwendungen zu entwickeln, die auf derselben MySQL-Datenbank basieren. Mit anderen Worten, verbinden Sie die mobilen Anwendungen mit der Web-Anwendung.Erstellen einer nativen mobilen Anwendung - basierend auf einer PHP Web-App

Es muss ein oder zwei Dinge anders machen. Nutzen Sie zunächst die nativen GPS-Funktionen, um festzustellen, wo sich ein Benutzer befindet - ich nehme an, dass dies nur über HTML5 möglich ist.

Zweitens senden Push-Benachrichtigungen, wenn der Web-Anwendung Benutzer eine Benachrichtigung erhält.

Alle Informationen sind bereits da, in der MySQL-Datenbank, und alles außer den beiden oben genannten Funktionen funktioniert ordnungsgemäß.

Ich habe derzeit eine API für alles auf der Web-Anwendung entwickelt - so dass es API-centric. In meinem Kopf wird es einfach sein, die beiden Versionen über die API zu verbinden.

Beispiel: Ein Benutzer meldet sich in der Webanwendung an. Er wird dann zur iPhone App zum Download angeboten.

Ist es möglich, ihn mit dem gleichen über das iPhone einzuloggen. Auf der anderen Seite ist es möglich für ihn, die Datenbank zu suchen, über das iPhone, und "einen neuen Freund hinzufügen" - die Verbindung der beiden Benutzer in der Freundesliste - in dem der Freund ist auch ein Freund auf der Internetanwendung?

Ich habe viel über alle verfügbaren Optionen gelesen und bin immer noch sehr verwirrt! Jede Hilfe wäre sehr hilfreich.

Antwort

3

Ich bin selbst kein Telefonentwickler, aber ich habe gerade eine native Android App fertiggestellt, die sich mit einer Website verbindet und sich anmelden kann, was auch auf der Website möglich ist. Wenn die GPS-Tracking-Integration die nativen Funktionen verwendet, ist es unwahrscheinlich, dass HTML5 verwendet wird (obwohl ich nicht sicher bin, wie es funktioniert).

Um eine Verbindung zu einer entfernten Datenbank/Server herstellen zu können, müssen Sie HTTP-Anfragen vom Telefon an Ihr serverseitiges Skript senden.

Also nur zu dem Schluss: Um das Ergebnis Sie suchen für die Work-Flow zu erzielen, könnte wie folgt aussehen:

1.Mobile Benutzer füllt ein Formular ->

2.App hat eine HTTP-Anforderung an einen Server-Seite Skript ->

3.script macht die harte Arbeit (zB mit der Datenbank verbindet) ->

4.script ein Ergebnis macht ->

5.Mobile App zeigt das Ergebnis an.

Ich hoffe, das hilft.

+0

Danke dafür :) – Samwise

3

Im meine objektive Meinung gibt es drei Möglichkeiten:

Erste Schritte mit Objective-C

Sie müssen lernen, wie man Code und Sie erhalten die besten nativen für die Benutzer erhalten. So können Sie problemlos die GPS-Positionierung verwenden oder Inhalte auf Ihrem Telefon zwischenspeichern.Ein Schlüsselproblem bei der Internetverbindung am Telefon ist, dass die Internetverbindung flockig sein kann. Also musst du dafür entwerfen. Sie haben bereits den richtigen Ansatz gewählt: Die direkte MySQL C-API für die direkte Verbindung zum Datenbankserver würde nicht so gut funktionieren, da dieses Protokoll nicht zustandslos ist. Sie müssen sich zuerst beim Server anmelden und dann können Sie Ihre SQL-Abfragen senden.

Durch die Verwendung Ihrer API, die hoffentlich zustandslos ist, vielleicht sogar eine REST-konforme API, können Sie einige nette Verknüpfungen für Ihre native iPhone-App verwenden. Sie können dann die Bibliothek RestKit verwenden, um Ihre JSON-Antworten vom Server in Objekte umzuwandeln, Caching durchzuführen und andere nette Funktionen.

schreiben Web-App

Die zweite Möglichkeit ein schönes Web-App mit state-of-the-art-Technologien HTML5 zu bauen wäre. Das Tolle daran ist, dass Sie dann eine Android-App schreiben und beide Mobilgeräte einen Webkit-Browser verwenden. Nun, es ist nicht genau der Fall, da es verschiedene Versionen von Android mit unterschiedlichen Bildschirmgrößen gibt, aber im Allgemeinen gilt diese Annahme. Schauen Sie sich zum Beispiel Google's Web App für Google Kalender an, ich denke es ist ein guter Kompromiss. Sie können auch ein Startbildschirm-Symbol dafür erhalten und Sie werden keinen App-Genehmigungsprozess haben und können jederzeit aktualisieren. Die Verwendung des HTML5-Offline-Speichers bietet Ihnen ein gewisses Maß an Freiheit.

Mit Phonegap

Die Möglichkeit, die App in PhoneGap zu schreiben oder einen anderen HTML-Wrapper-Framework, die Objective-C-Code generieren, ist ein möglicher, aber meiner Meinung nach ist dies nicht wirklich eine gute Wahl. Der Grund ist, dass Sie an einer Art Zwischenschicht arbeiten und wenn etwas schief läuft oder Sie auf Fehler stoßen, müssen Sie sowieso auf objective-c abtauchen. Das andere Problem betrifft Updates von iOS. Es kann einige Abhängigkeiten unterbrechen und Sie müssen warten, bis Ihr Intermediate aktualisiert wird, um die neuen Funktionen zu verwenden.

+0

Also, Ihrer Meinung nach; es wäre besser, nur eine Mobile-Web-Version der Web-Appliacation zu erstellen - verschiedene UI usw. Dann erlauben Sie dem Benutzer von iPhone, Android usw., eine Verknüpfung von ihren Home-Dashboards/Sprungbrettern zu erstellen? Prost für diese Antwort, sehr hilfreich! – Samwise

+0

Nun ja und nein. Aus technischer Sicht wäre das sinnvoll. Oft WOLLEN Kunden nur eine App, egal was. In diesem Fall würde eine dünne Wrapper-Ebene ausreichen (im Grunde genommen nur ein zweiter Webbrowser für Ihre App). BTW, wenn Sie die Antwort hilfreich finden, fühlen Sie sich frei, sie abzustimmen. – GorillaPatch

+0

Das Erstellen einer WebApp löst jedoch nicht das Problem, APNs zu empfangen. Sie sollten sich für den nativen entscheiden, wenn Sie solch eine komplexe App brauchen. –

0

Verwenden Sie Zend Studio. Zend Studio ermöglicht Entwicklern jetzt die Verwendung von PHP für die Entwicklung von mobilen Anwendungen. Siehe die folgenden Links: NewsTutorial

+0

Dieser Link ist unterbrochen – Jez

1

Phonegap wäre eine gute Idee, diese App zu entwickeln. Phonegap unterstützt nur clientseitiges Skript - das bedeutet, dass Sie PHP nicht in seinen Code einbetten können. Sie können jedoch einfach AJAX-Aufrufe in Ihrem Skript erstellen, die Daten von Ihrer bereits entwickelten PHP-App/API abrufen und senden.

Phonegap unterstützt auch GPS- und Datenspeicheroptionen, wo Sie die Daten lokal speichern und später synchronisieren können, wenn Internet verfügbar ist.

Für die umgekehrte Synchronisierung (Server zu Client) hätten Sie zwei Optionen. 1. Erstellen Sie ein JavaScript, um häufige Ajax-Aufrufe nach Updates suchen zu lassen. 2. Verwenden Sie Push-Benachrichtigungen (hier ein Tutorial für iOS-APNs und Phonegap-Integration) - http://devgirl.org/2012/10/19/tutorial-apple-push-notifications-with-phonegap-part-1/

Die Verwendung von Phonegap hängt von den Vorlieben ab. Auf der positiven Seite sparen Sie Zeit/Kosten, da der gleiche Code für alle Plattformen verwendet wird. Auf der negativen Seite hat es eine leichte Verzögerung, wenn Seiten geändert werden, was dazu führt, dass es wie eine Website aussieht, aber Sie können das vermeiden, indem Sie so etwas wie jquery mobile verwenden, um alle Seiten vorab zu lesen und sie dann vor und zurück zu animieren. Dies hilft auch beim Hochladen von Daten in einem separaten unabhängigen Thread, während der Benutzer sich frei in der App bewegen könnte.

Hoffe, dass hilft.

0

Einfach ausgedrückt, ist der beste Weg für Sie, einen PHP-Webdienst mit Telefonlücke zu verwenden.

Sie können auch durch Android mit PHP und Android gehen. Dies ist ein sehr guter und einfacher Weg. Versuchen Sie das Tutorial here

Verwandte Themen