Musi być wiele aplikacji zaprojektowanych do komunikacji z serwerem. Moje pytanie dotyczy tylko aplikacji zainstalowanej na urządzeniu z iOS + interakcji serwisu po stronie serwera. Aplikacja internetowa nie jest tym, o czym mówię, i nie powinno być żadnej strony internetowej zaangażowanej w tę dyskusję. Typowymi przykładami są aplikacje takie jak Instagram i Twitter, w których większość informacji wymienianych między aplikacją a serwerem to tylko dane takie jak String, Image i Integers (owinięte w JSON lub XML), nie jest wymagana prezentacja strony internetowej.Porady na temat wdrażania serwera dla rozwoju struktury serwera/klienta Tworzenie aplikacji na iOS?
Moje pytanie brzmi: jeśli jesteś niezależnym twórcą aplikacji i projektujesz taką aplikację od zera bez żadnego istniejącego interfejsu API witryny, struktury bazy danych lub aplikacji (więc nie jesteś ograniczony żadną istniejącą strukturą interfejsu API lub bazy danych lub protokół aplikacyjny), jakie będzie najbardziej efektywne podejście?
Co strona Sever trzeba zrobić to:
- odbierać dane wysyłać przez aplikację;
- przetwarzać dane według zaprojektowanej logiki;
- wchodzić w interakcje z bazą danych (np. MySQL);
- wykonać niezbędne eksplorację i analizę danych --- może to być stale działająca usługa lub zadanie jednorazowe wymagane przez klienta aplikacji;
- wysłać dane z powrotem do aplikacji na żądanie lub spontanicznie;
- wymieniać lub rozgłaszać dane pomiędzy/pomiędzy różnymi klientami aplikacji (tj. Grupowy czat i wiadomość typu peer to peer);
Jak dalece jak wiemy są 3 oczywistych opcji do wdrożenia po stronie serwera:
- PHP
- Pythona
- Ruby on Rails
(prosimy dodaj więcej opcji)
Moje pytania są następujące:
- Który z nich jest najbardziej odpowiedni do wdrożenia po stronie serwera?
- Jeśli aplikacja intensywnie koncentruje się na wyszukiwaniu, analizie i eksploracji danych w ludzkim języku ludzkim, który z nich jest najlepszym wyborem? Słyszałem, że Python radzi sobie całkiem nieźle w tej dziedzinie.
- Wszelkie porady dotyczące wyboru bazy danych? Na razie używam MySQL i okazało się, że jest dość potężny dla moich celów. Słyszałem, że Twitter przestawia się na Cassandrę. Czy na początku będzie to zbyt trudne?
- Po koniec serwera, jeśli potrzebujesz zbudować interfejs zarządzania serwerem, dla ciebie jako administratora do zarządzania i monitorowania społeczności, członkostwa, danych i innych, czy istnieje jakieś istniejące rozwiązanie, lub framework lub narzędzie do tego? jakie będzie najbardziej efektywne podejście?
- Jeśli nowy programista nie ma doświadczenia w innym z nich, który z nich sugerujesz na początek?
- Czy istnieje jakiś dobry materiał referencyjny lub przykładowy kod po stronie serwera w takim kontekście, z którego możemy się uczyć?
Wiem, że w Stackoverflow jest wielu doświadczonych ekspertów w tych dziedzinach, ale widziałem więcej nowych użytkowników, którzy właśnie weszli do obszaru rozwoju iOS bez dużej wiedzy na temat programowania serwerów/baz danych. Mam nadzieję, że ten wątek pomoże tym, którzy zastanawiają się nad zaprojektowaniem aplikacji ze strukturą serwera/klienta, ale nie mają pojęcia, od czego zacząć.
ps: Będę na bieżąco aktualizował ten wątek i dodawał moje ustalenia na ten temat, aby pomóc wszystkim innym użytkownikom w stackoverflow. :-) Spróbuj, aby Twoja odpowiedź była pouczająca, łatwa do zrozumienia i konstruktywna. Myślę, że większość czytelników tego wątku będzie nowymi członkami tej wspaniałej społeczności.
naprawdę dziękuję za szybką odpowiedź. :) Twoje odpowiedzi definitywnie wyjaśniają, dlaczego tak mało jest informacji na ten wielki temat. Może tak jak powiedział Shiny, zadałem zbyt duże pytanie. dziękuję za podzielenie się, a ja przekażę moje wnioski na ten temat. Teraz zaczynam od PHP + MySQL, do tej pory tak dobrze. Jak już powiedziałeś, dowiem się więcej na ten temat, gdy zacznę uderzać w przeszkody. – horacex