Aplikacja mobilna łącząca się z bazą SQL


#1

Witam!
Chciałbym się spytać bardziej doświadczonych osób jak byście zrobili aplikacje mobilną, która musi posiadać usługę kont oraz dynamicznego dodawania i edycji różnych wydarzeń (np. Impreza w barze). Myślałem nad wykorzystaniem PHP z MySQL oraz Android Studio z JSON. Liczę na opinie i pomysły.
Pozdrawiam Morasiu


#2

Nie wystawiaj bazy danych na zewnątrz z serwera, nie zaszywaj w appce namiarów na bazę ani żadnego loginu/hasła.
Appka powinna się komunikować przez jakąś warstwę pośrednią na serwerze, coś, co zrozumie podstawowe ‘requesty’ używane przez twoją appke - np dodaj wydarzenie, edytuj wydarzenie, sprawdź użytkownika. Takie API musisz sobie wystawic. Oczywiście każdy request powinien zawierać identyfikator użytkownika i przy wykonaniu każdego requesta powinieneś za każdym razem sprawdzać uprawnienia.
Identyfikator w tym wypadku to nie jakiś numerek ale długi string, hash, coś co będzie nie do odgadnięcia.

Popatrz sobie jak firmy obsługujące mikropłatności rozwiązują zdalny dostęp do bazy dla swoich partnerów. Tam partner dostaje listę ‘poleceń’ które może wykonać, dostaje swój hash i dosłownie buduje sobie linka do strony, zwrotnie dostaje jakiś tekst.

W twoim wypadku request autoryzacji usera musiał by być wykonany na samym początku - podajesz login + hasło aby sprawdzić, czy user ma w ogole konto, czy wpuścić go dalej do appki, zwrotnie możesz sobie wyprintować takiego hasha, który bedzie używany dalej w każdym requescie.


#3

A JSON i PHP nie jest warstwą pośrednią?


#4

JSON to format wymiany danych a PHP to język :wink:

Taką warstwę pośrednią możesz napisać w czymkolwiek. Może to być PHP, C#, Java… Dane możesz sobie wysyłać zwykłym tekstem, XMLem albo JSONem, zależy co ci będzie łatwiej rozczytać.


#5

Wysyłam dane JSON i odbieram w PHP, wtedy dopiero z PHP dane idą do SQL.