Che cosa sta succedendo nel mondo delle tecnologie server-side per quanto riguarda il boom delle app mobili?

12

Con le tecnologie mobili sta diventando sempre più popolare ciò che accade sul lato server con la maggior parte di queste app quando devono comunicare con un back-end?

Sono abituato al mondo della tecnologia di 10 anni fa, quando la maggior parte delle risorse era accessibile 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 le grandi modifiche?

    
posta Akromyk 27.09.2012 - 06:56
fonte

5 risposte

7

Dall'alto della mia testa:

  1. Uso di servizi Web invece dell'accesso diretto al DB dal client.
  2. REST anziché SOAP. SOAP sembra essere troppo pesante per la comunicazione mobile con back-end. REST usando JSON è molto più semplice da configurare e consumare. Soprattutto se usi diverse tecnologie su client e server.
  3. Concentrati su più visualizzazioni per pagine web. Uno per desktop e uno per mobile. Dovrebbe essere facile se qualcuno usa MVC, ma è ancora abbastanza problematico.

Ci sono probabilmente di più. Le app mobili sono per lo più considerate normali client, che consumano dati e li visualizzano.

    
risposta data 27.09.2012 - 07:28
fonte
6

Tecnologie

  • API RESTful che utilizza JSON come serializzazione - La stessa API è utilizzata da app native, app ibride e app Web mobili. Anche nel primo caso vengono spesso usati i modelli lato client (vedi esempio eccellente in " Lasciando i JSP nella polvere: spostando LinkedIn nei modelli sul lato client di dust.js ")

  • Server leggeri, asincroni (basati su eventi) - non più Apache pre-fork. Nginx, node.js, Twisted, Tornado ecc. Sono usati ora.

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

Cose da considerare

  • Le reti mobili hanno latenze molto elevate;
  • È normale che i client perdano connessioni;
  • È normale che un client modifichi l'IP durante la sessione;
  • I cellulari non sono neanche lontanamente potenti come desktop / laptop;
risposta data 27.09.2012 - 15:45
fonte
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 di scala di massa di piccoli datagrammi rispetto a HTML di rendering relativamente spessi significano requisiti diversi. Alcuni esempi:

  • node.js è probabilmente l'esempio cannone di questo. La maggior parte delle persone si blocca sulla funzione javascript-on-the-server, ma questa è una falsa pista - interessante per i bambini che non possono andare oltre js, ma non importa. La parte davvero ingegnosa è la natura asincrona che la rende in scala pazzesca, specialmente mentre serve servizi RESTful piccoli e nitidi. Alcuni altri stack con similitudini sarebbero twistati per Python o manos de mono per .NET.

  • nginx usa molto lo stesso IO event (libuv) che node.js fa, e pulisce il mercato dei server in alcune cerchie. Molto più concentrato di apache e follemente veloce.

  • Gli stack di server sottili stanno spuntando in ambienti che tradizionalmente avevano framework spessi che facevano un sacco di presunzioni. Cioè, nel rubino hai il sinatra per controbilanciare i binari. In python hai una fiaschetta [e altre] per controbilanciare il django. In .NET hai la WebAPI per controbilanciare MVC e WebForms. Tutti gli stack che ho menzionato sono molto, molto sottili e sono più (o totalmente) focalizzati sul servire i datagrammi e non le pagine web. Nessuno di quelli che menziono presenta i tipi di templating e ORM che ci si aspetta da un tipico web stack in questi giorni.

Tutto ciò detto, il più delle volte qualcuno sta servendo la propria app mobile hackerando l'app web di 10 anni esistente sul lato server per servire Json su un diverso endpoint HTTP. Il mondo non è cambiato così tanto - la gestione continuerà a zoppicare su 2 ruote e una ciambella se pensano che possano farla franca.

    
risposta data 27.09.2012 - 15:37
fonte
1

Is this still the case, and if not, what are the big changes?

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

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

    
risposta data 27.09.2012 - 13:01
fonte
1

La maggior parte dei back-end ora supporta JSON e REST e non solo SOAP. Oltre a questo, 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 sul front end (il modo migliore per inserire le informazioni su uno schermo più piccolo). Alcune app stanno iniziando a sfruttare le funzionalità mobili (come la segnalazione della posizione), ma è su entrambe le estremità.

    
risposta data 27.09.2012 - 14:41
fonte

Leggi altre domande sui tag