2014-07-27 18 views
5

Jestem nowicjuszem w sprawach dotyczących serwerów i usług backendowych i chcę opracować aplikację mobilną z częścią zapleczową. Chcę, aby ten backend obsługiwał aplikację ios, aplikację na Androida oraz stronę internetową. Moje obawy są dziś w jaki sposób komunikować się z częścią frontend strony backend:Komunikacja między frontendem a backendem dla aplikacji mobilnej

  • to działa w ten sam sposób działa strona? (Żądanie Http do serwera?)
  • jak to się dzieje, że wymiana danych między frontend i backend?
  • , które są wspólne rozwiązania mojego problemu?
  • Czy istnieje skuteczny sposób zaprojektowania tego backendu do obsługi aplikacji mobilnych, a także strony internetowej?
  • jest parse (https://parse.com/) dobry punkt wyjścia?

Dzięki

Odpowiedz

11

Patrząc na pytania po kolei:

  • to działa ten sam sposób działa stronie? (Żądania HTTP do serwera?)

Istnieje wiele opcji, ale chyba najbardziej powszechne, czy modne, w tej chwili jest użycie spokojny interfejs: http://en.wikipedia.org/wiki/Representational_state_transfer

Wcześniej, na podstawie SOAP Web usługa może być najczęstszym wyborem: http://en.wikipedia.org/wiki/SOAP

Zobacz tutaj jakiegoś dyskusji o tym, dlaczego można użyć REST zamiast SOAP teraz: Why would one use REST instead of SOAP based services?

  • Jak się dzieje wymiana danych między frontendem a backendem?

Zakładając REST, HTTP jest używany do transportu wiadomości i dane aplikacji są zwykle zawarte w XML lub JSON tworzy

  • które są wspólne rozwiązania mojego problemu?

Myślę, że jest to objęte innymi częściami pytania/odpowiedzi.

  • Czy istnieje skuteczny sposób zaprojektowania tego backendu do obsługi aplikacji mobilnych, a także strony internetowej?

To bardzo zależy od konkretnej aplikacji serwera, zwłaszcza jej wielkości i architektury. Jeśli aplikacja serwera jest podzielona na komponenty lub części, a części, które generują strony "widoków" lub "HTML" aplikacji internetowej, są odrębne i dobrze oddzielone od części "zaplecza" aplikacji serwera ORAZ aplikacji jest typem, którego funkcjonalność jest w dużej mierze taka sama, bez względu na to, czy użytkownik końcowy korzysta z witryny internetowej czy urządzenia mobilnego i jest to po prostu sposób generowania widoku dla różnych urządzeń, które są różne, większość backendu jest jak najbardziej powszechna.Jeśli korzystanie z aplikacji jest bardzo różne, gdy jest używane przez klienta mobilnego, może to nie mieć sensu. Mówiąc bardziej ogólnie, efektywny projekt zachowałby jak najwięcej funkcjonalności pomiędzy aplikacjami mobilnymi i internetowymi.

Zdecydowanie warto zapoznać się z wzorcem architektonicznym "Model View Controller", podobnie jak większość frameworków po stronie serwera, a także wiele frameworków klienta Javascript Web, a nawet iOS i (w mniejszym stopniu) Android. ramy używać tych pojęć:

http://en.wikipedia.org/wiki/Model -widok kontroler

Jedno ważne względy czy trzeba „push” lub powiadomienie jak funkcjonalność w telefonie aplikacji. Jeśli tak, możesz przyjrzeć się niektórym typowym rozwiązaniom, aby zrozumieć, czy spełniają Twoje potrzeby - prawdopodobnie najłatwiej zacząć od ofert firmy Apple i Google, aby uzyskać zrozumienie, ale dostępnych jest również wiele innych rozwiązań:

https://developer.apple.com/library/ios/documentation/NetworkingInternet/Conceptual/RemoteNotificationsPG/Chapters/ApplePushService.html

http://developer.android.com/google/gcm/index.html

Nie jestem zaznajomiony z tą usługą, ale najpierw lepiej przyjrzeć się prostemu podejściu opartemu na REST i sprawdzić, czy spełnia on twoje potrzeby.

2

Aby odpowiedzieć na to pytanie

jest analizować (https://parse.com/) dobry punkt wyjścia?

Tak jest.

Ale polecam Ci dobrze czytać na tematy takie jak

Takie usługi jako parsę nazywa się Mobile Backend jako usługa (MBaaS). Są one idealne do szybkiego tworzenia usług internetowych dla programistów mobilnych, którzy h bardzo małe doświadczenie z rozwojem backendu.

Szybkie wyszukiwanie w Google na "MBaaS" zwróci wiele usług podobnych do analizy, a większość oferuje bezpłatne konta programistów. (Z pewną liczbą darmowych wywołań API na sekundę/aplikację) Użyłem Apigee podobnie & ekwiwalent open source to Usergrid.

Usługi te będą zapewniać GUI dla programisty do tworzenia usług wdrażania &, a usługi są natychmiast dostępne. Oddzielne testowe punkty końcowe produkcji: & będą dostępne. Oprócz podstawowych operacji CRUD, usługi te będą również umożliwiają łatwą integrację z siecią społeczną, buforowanie & Analytics (zależy od operatora)

Funkcje takie jak bezpieczeństwo, skalowalność są wbudowane przez dostawcę MBaaS (jak Parse).

Powiązane problemy