2012-05-01 29 views
5

Mam opracowaną aplikację PHP. Chcę używać phonegap.com lub podobnego podejścia do rozwijania aplikacji natywnych opartych na tej samej bazie danych MySQL. Innymi słowy, połącz aplikacje mobilne z internetowym.Budowanie natywnej aplikacji mobilnej - opartej na aplikacji internetowej PHP

Musi wykonać jedną lub dwie czynności inaczej. Po pierwsze, użyj rodzimych funkcji GPS, aby określić, gdzie jest użytkownik - zgaduję, że można to zrobić tylko za pomocą HTML5?

Po drugie, wysyłaj powiadomienia push, gdy użytkownik aplikacji internetowej otrzyma powiadomienie.

Wszystkie informacje już tam są, w bazie danych MySQL, a wszystko poza tymi dwoma funkcjami powyżej działa poprawnie.

Mam obecnie API opracowane dla wszystkiego w aplikacji internetowej - czyniąc go API-centrycznym. W mojej głowie łatwo będzie połączyć dwie wersje za pośrednictwem interfejsu API.

Na przykład użytkownik rejestruje się w aplikacji internetowej. Następnie jest on oferowany do aplikacji na iPhone'a do pobrania.

Czy można go uzyskać, aby logował się z tym samym przez iPhone'a. Z drugiej strony, czy możliwe jest przeszukiwanie bazy danych za pomocą iPhone'a i "dodawanie nowego znajomego" - łączenie dwóch użytkowników w tabeli znajomych - w tym przypadku przyjaciel jest także przyjacielem Aplikacja internetowa?

Czytałem dużo o wszystkich dostępnych opcjach i nadal jestem bardzo zdezorientowany! Każda pomoc byłaby bardzo pomocna.

Odpowiedz

3

Sam nie jestem programistą telefonicznym, jednak właśnie ukończyłem tworzenie natywnej aplikacji na Androida, która łączy się ze stroną internetową i jest w stanie się zalogować, robić rzeczy, które można zrobić na stronie internetowej. Jeśli integracja śledzenia GPS korzysta z funkcji natywnych, to raczej nie będzie używać HTML5 (chociaż nie jestem pewien, jak to działa).

Zasadniczo, aby połączyć się ze zdalną bazą danych/serwerem, należy wysłać żądania HTTP z telefonu do skryptu po stronie serwera.

Więc po prostu stwierdzić: W celu osiągnięcia wyniku którego szukasz dla przepływu pracy może wyglądać tak:

1.Mobile użytkownik wypełnia formularz ->

2.App robi żądanie HTTP do skryptu po stronie serwera ->

3.script robi to ciężka praca (np łączy się z bazą danych) ->

4.script świadczy wynik ->

5. Aplikacja mobilna wyświetla wynik.

Mam nadzieję, że to pomoże.

+0

Dzięki za to :) – Samwise

3

Im moją obiektywną opinię istnieją trzy możliwości:

zacząć z Objective-C

Będziesz musiał nauczyć się kodu, a dostaniesz najlepszą rodzimą doświadczenie dla użytkowników. Pozwoli to łatwo wykorzystać pozycję GPS lub zawartość pamięci podręcznej w telefonie.Głównym problemem z połączeniem internetowym w telefonie jest to, że połączenie internetowe może być niestabilne. Musisz to zaprojektować. Już podjąłeś właściwe podejście: użycie bezpośredniego C-API MySQL do bezpośredniego połączenia z serwerem bazy danych nie działałoby tak dobrze, ponieważ ten protokół nie jest bezpaństwowcem. Musisz najpierw zalogować się na serwerze, a następnie możesz wysłać zapytania SQL.

Wykorzystując swoje API, które jest nadzieją bezpaństwowcem, może nawet REST API, wówczas można podjąć jakieś fajne skróty do swojej natywnej aplikacji iPhone. Następnie można użyć biblioteki RestKit, aby łatwo konwertować odpowiedzi JSON z serwera na obiekty, wykonywać buforowanie i inne przydatne funkcje.

Napisz aplikację internetową

Drugą możliwością byłoby zbudować piękny aplikację przy użyciu technologii state-of-the-art HTML5. Wspaniałą rzeczą jest to, że napiszesz aplikację na Androida, a oba urządzenia mobilne korzystają z przeglądarki internetowej. Cóż, nie jest tak dokładnie, ponieważ istnieją różne wersje Androida z różnymi rozmiarami ekranu, ale ogólnie to założenie utrzymuje. Spójrz na przykład na aplikację Google do Kalendarza Google, myślę, że to dobry kompromis. Możesz także uzyskać ikonę ekranu głównego i nie będziesz mieć procesu zatwierdzania aplikacji i możesz go aktualizować w dowolnym momencie. Korzystanie z przechowywania w trybie offline HTML5 zapewnia pewien stopień swobody.

Korzystanie PhoneGap

Możliwość pisania aplikacji w PhoneGap lub innego ramy HTML owijkę, która będzie generować kod Objective-C jest możliwy jeden, ale moim zdaniem nie jest to dobre rozwiązanie. Powodem jest to, że pracujesz nad jakąś warstwą pośrednią, a jeśli coś pójdzie nie tak, lub gdy natkniesz się na błędy, będziesz musiał zanurkować do celu-c tak czy inaczej. Drugi problem dotyczy aktualizacji systemu iOS. Może złamać niektóre zależności, a następnie musisz poczekać, aż twój pośrednik zostanie zaktualizowany, aby korzystać z nowych funkcji.

+0

W związku z tym; lepiej byłoby stworzyć wyłącznie mobilną wersję aplikacji sieciowej - inny interfejs użytkownika itd. Następnie pozwolić użytkownikowi iPhone'a, systemu Android itp. na utworzenie skrótu ze swoich domowych pulpitów/trampolin? Pozdrawiam za tę odpowiedź, bardzo pomocne! – Samwise

+0

Cóż, tak i nie. Z technicznego punktu widzenia miałoby to sens. Często klienci po prostu CHCE aplikacji, bez względu na wszystko. W tym przypadku wystarczyłaby cienka warstwa owijająca (w zasadzie druga przeglądarka internetowa tylko dla ciebie). Jeśli uznasz odpowiedź za pomocną, możesz ją głosować. – GorillaPatch

+0

Jednak tworzenie webApp nie rozwiązuje problemu odbierania APN. Powinieneś pójść na wersję natywną, jeśli potrzebujesz tak złożonej aplikacji. –

0

Użyj Zend Studio. Zend Studio umożliwia programistom korzystanie z PHP do tworzenia aplikacji mobilnych. Zobacz następujące linki: NewsTutorial

+0

Ten link jest uszkodzony – Jez

1

Phonegap byłby dobry pomysł, aby rozwijać tę aplikację. Phonegap obsługuje tylko skrypt po stronie klienta - co oznacza, że ​​nie możesz osadzić php w swoim kodzie. Możesz jednak łatwo tworzyć połączenia AJAX w swoim skrypcie, które pobierają i wysyłają dane z twojej już opracowanej aplikacji php/api.

PhoneGap wspiera również opcje GPS i przechowywania danych, w którym można przechowywać dane lokalnie, jak i później, gdy synchronizacja dostępu do Internetu.

Na odwrotnej synchronizacji (serwera do klienta), to masz dwie opcje. 1. Utwórz javascript, aby wykonywać częste wywołania ajax w celu sprawdzenia aktualizacji. 2. Użyj powiadomień wypychanych (tutaj samouczek dotyczący iOS APN i integracji Phonegap) - http://devgirl.org/2012/10/19/tutorial-apple-push-notifications-with-phonegap-part-1/

Korzystanie z phonegapa zależy od preferencji użytkownika. Z drugiej strony oszczędzasz czas/koszt, ponieważ ten sam kod jest używany na wszystkich platformach. Po stronie negatywnej ma ona niewielkie opóźnienie przy zmianie stron, co powoduje, że wygląda jak strona internetowa, ale można tego uniknąć, używając np. Jquery mobile, aby wstępnie pobrać wszystkie strony, a następnie animować je w jedną i drugą stronę. Pomoże to również w przesyłaniu danych w oddzielnym wątku, podczas gdy użytkownik będzie mógł swobodnie poruszać się po aplikacji.

Nadzieję, że pomaga.

0

Mówiąc najprościej, najlepszym sposobem jest, aby korzystać z usługi internetowej php ze szczeliną telefonu.

Możesz także przejść przez Androida używając PHP i Androida. To bardzo dobry i prosty sposób. Wypróbuj samouczek: here

Powiązane problemy