È necessario rendere l'applicazione Web basata su php "orientata ai servizi", ovvero funge da endpoint del servizio Web e elabora solo le richieste e risponde con dati XML / JSON / di testo. Questa interfaccia sarà disponibile sia per l'applicazione mobile che per l'applicazione Web (utilizzare ajax per comunicare con il servizio).
In questo caso l'applicazione web e l'applicazione mobile fungono da livello di presentazione per i dati ricevuti dal servizio web. Tuttavia, a causa del modo in cui i crawler analizzano i siti Web, la tua applicazione web basata su Ajax non sarà più leggibile da loro. Se hai bisogno che la tua applicazione web sia leggibile dai crawler, devi introdurre un altro livello che interagisce con il servizio web e presenta le informazioni come una pagina generica basata su HTML.
Quindi la tua app web sarà come:
Client >> Presentation-Layer (js) >[HTTP]> Service-Layer (php) >> DB (MySQL)
Oppure,
Client >[HTTP]> Presentation-Layer (php) >[HTTP]> Service-Layer (php) >> DB (MySQL)
se vuoi che sia analizzabile dai crawler.
E la tua app mobile sarà come:
Client >> Presentation-Layer (java/obj-C) >[HTTP]> Service-Layer >> DB (MySQL)
Puoi anche connetterti in remoto al tuo database principale sia dall'applicazione web sia dall'applicazione mobile, ma è sconsigliato creare un punto di vista della sicurezza, e dovrai anche ri-implementare tutta la logica su entrambi i web e applicazione mobile.