Cosa sta succedendo nel mondo delle tecnologie lato server per quanto riguarda il boom delle app mobili?


12

Con le tecnologie mobili sempre più popolari cosa succede sul lato server con la maggior parte di queste app quando devono comunicare con un back-end?

Sono abituato al mondo della tecnologia da 10 anni fa quando si accedeva alla maggior parte delle risorse richiedendo una pagina Web dinamica che dietro il visto utilizzava un linguaggio lato server per ottenere le informazioni necessarie da un database relazionale.

È ancora così, e se no, quali sono i grandi cambiamenti?


Molte app più piccole si affidano a Google App Engine :).
MrFox,

Risposte:


7

Dalla cima della mia testa:

  1. Utilizzo di servizi Web anziché accesso diretto al DB dal client.
  2. RIPOSO invece di SAPONE. SOAP sembra essere troppo pesante per la comunicazione mobile con backend. REST utilizzando JSON è molto più semplice da configurare e consumare. Soprattutto se si utilizzano diverse tecnologie su client e server.
  3. Concentrarsi su più viste per le pagine Web. Uno per desktop e uno per dispositivi mobili. Dovrebbe essere facile se qualcuno usa MVC, ma è ancora abbastanza problematico.

Probabilmente ce ne sono altri. Le app mobili sono per lo più considerate normali client, che consumano dati e li visualizzano.


6

tecnologie

  • API RESTful che utilizza JSON come serializzazione : la stessa API viene utilizzata da app native, app ibride e app Web mobili. Anche nel primo caso vengono spesso utilizzati modelli lato client (vedere esempio eccellente in "Lasciando JSP nella polvere: spostare LinkedIn in modelli lato client dust.js" )

  • Server leggeri, asincroni (guidati da eventi) : niente più Apache pre-fork. Ora vengono utilizzati Nginx, node.js, Twisted, Tornado ecc.

  • OAuth / social login - Gli utenti si aspettano di non dover registrare un account per ogni singola app. Pertanto, la maggior parte delle app consente l'accesso con FB, TW e altri provider. Per FB sia Android che iOS forniscono l' opzione Single Sign-On .

Cose da considerare

  • Le reti mobili hanno latenze molto elevate;
  • È normale che i client perdano le connessioni;
  • È normale che un client cambi IP durante la sessione;
  • I cellulari non sono affatto potenti quanto i desktop / laptop;

4

REST è metà della storia. La cosa più interessante dei protocolli più leggeri sul filo sono i server e gli stack di app Web più leggeri: le richieste in scala di massa per piccoli datagrammi rispetto a HTML con rendering relativamente spesso indicano che hai requisiti diversi. Qualche esempio:

  • node.js è probabilmente l'esempio cannonico di questo. La maggior parte delle persone rimane bloccata dalla funzione javascript sul server, ma questa è un'aringa rossa - interessante per i bambini che non possono progredire oltre js ma non importa. La parte davvero elegante è la natura asincrona che la fa ridimensionare in modo folle, soprattutto mentre serve piccoli servizi RESTful. Alcune altre pile con somiglianze sarebbero contorte per Python o Manos de Mono per .NET.

  • nginx usa molto lo stesso IO (libuv) con cui viene eseguito node.js e sta pulendo il mercato dei server in alcuni ambienti. Molto più concentrato di apache e follemente veloce.

  • Stack di server sottili stanno spuntando in ambienti che tradizionalmente avevano framework spessi che creavano molte presunzioni. IE, in ruby ​​hai sinatra per controbilanciare le rotaie. In Python hai il pallone [e altri] per controbilanciare il Django. In .NET hai il WebAPI per controbilanciare MVC e WebForms. Tutte le pile che ho citato sono molto, molto sottili e sono più (o totalmente) focalizzate sul servire datagrammi e non su pagine web. Nessuno di quelli che ho menzionato presenta il tipo di modello e ORM che ci si aspetta da un tipico stack Web in questi giorni.

Detto questo, il più delle volte qualcuno sta offrendo la propria app mobile hackerando l'app Web esistente sul lato server di 10 anni per servire json su un endpoint HTTP diverso. Il mondo non è cambiato molto: la gestione continuerà a zoppicare su 2 ruote e una ciambella se pensano di poterla cavarsela.


1

È ancora così, e se no, quali sono i grandi cambiamenti?

Penso che ci siano ancora applicazioni che usano la citata architettura lato server o client-server. Tuttavia, negli ultimi anni c'è stata una grande mossa verso la SOA (Service Oriented Architecture) . Pertanto, la comunicazione attraverso servizi sicuri apre nuove funzionalità a tutte le applicazioni client e allo stesso tempo accesso / riutilizzo di servizi aziendali back-end.

Con i mercati emergenti di dispositivi mobili e tablet, sta diventando ancora più importante utilizzare i servizi HTTP come un importante canale di comunicazione per fornire un servizio esteso alle applicazioni client.


1

La maggior parte dei back-end ora supporta JSON e REST e non solo SOAP. Oltre a ciò, non c'è molta differenza tra un front-end Web e un'app mobile. Penso che la maggior parte delle sfide per le app mobili siano nel front-end (il modo migliore per adattare le informazioni su uno schermo più piccolo). Alcune app stanno iniziando a sfruttare le funzionalità mobili (come la segnalazione della posizione), ma questo è su entrambi i lati.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.