Cos’è il backend di un’App iOS, Android?

[Voti: 41    Media Voto: 4.4/5]

Iceberg

Se qualcuno, dopo aver letto l’articolo quanto costa far sviluppare un’App, si fosse stupito delle cifre, è bene che legga il seguente articolo.

Quando si pensa ad un’App in genere ci si limita ad immaginare l’interfaccia utente e i meccanismi di interazione con lo stesso, in altri termini la User Experience.

A meno che non si tratti di un’App che non richieda lo scambio di dati per offrire un servizio, la parte che spesso il Cliente sottovaluta o a cui non pensa proprio, è la parte server.

Nei casi reali non banali, un’App non è altro che un’interfaccia verso un sistema molto più complesso che però resta nascosto agli occhi dell’utente.

Questo sistema, molto più complesso dell’App, è quello che effettivamente offre il servizio promesso dall’App.

Tipicamente questo sistema assolve a due compiti:

  1. Memorizzare eventuali dati dell’utente;
  2. Rispondere alle sue richieste.

Il termine tecnico per indicare questo sistema è backend, in contrapposizione all’App che in questo caso diventa il frontend.

Il backend di un’App, per poter assolvere ai suoi compiti deve:

  1. Essere ospitato, attraverso un servizio di hosting, su un server raggiungibile pubblicamente;
  2. Gestire un database contenente i dati degli utenti;
  3. Implementare un protocollo di comunicazione con l’App;
  4. Offrire un’interfaccia di amministrazione (Web App) per i gestori del servizio;
  5. Essere sicuro;
  6. Essere in grado di scalare all’aumentare degli utenti;

Avete in mente un’App per la condivisione di foto? Il vostro backend dovrà farsi carico di ricevere le foto, archiviarle, recuperarle, inviarle ad altri utenti ecc. Inoltre dovrà permettervi di amministrare il tutto: utenti registrati, foto archiviate, ecc.

Tutto questo per dire che non basta trovare un bravo designer che realizzi un’App dall’aspetto accattivante, questa, a voler essere generosi, è solo la metà del lavoro.

Per realizzare un’App standalone (cioé isolata dal resto del mondo), “bastano” conoscenze di HTML5, CSS3, JavaScript o del linguaggio nativo della piattaforma scelta (Objective-C per iOS, Java per Android).

Esempi di App standalone (su iPhone) sono: Note, Promemoria, Orologio, Calcolatrice, ecc.

Per realizzare invece un’App che offra un Servizio è necessario trovare gente che, oltre ad essere in grado di sviluppare un’App multidispositivo, se ne intenda di:

  1. System Administration (es.: Linux);
  2. Hosting (es.: Apache);
  3. Database (es.: MySQL);
  4. Protocolli di comunicazione (es.: HTTP);
  5. Web App (es.: PHP);
  6. Security;
  7. Backup e Disaster Recovery Policies;
  8. Integrazioni con Sistemi di Terze Parti (es.: Pagamenti OnLine);

E questo si limita solo al piano tecnico. Esistono infatti altri aspetti che possono riguardare la distribuzione di un’App, per dirne alcuni:

  1. L’aspetto legale (es.: Termini del Servizio, Privacy Policy);
  2. L’aspetto commerciale (es.: Piani Tariffari);
  3. L’aspetto del marketing (es.: Canali e Strategie di Promozione);

Esempi di App che offrono un servizio (su iPhone) sono: Mappe, Meteo, Borsa, Dropbox, ecc.

Quindi, quando si parla di App, cosa si intende? Solo la piccola applicazione che gira sullo smartphone di un utente oppure anche tutto quello che “ci sta dietro”?

Cerchi qualcuno che possa sviluppare l’App che hai in mente? oppure hai qualche domanda a cui non abbiamo dato risposta? Contattaci senza impegno!

Garda Informatica

Garda Informatica

Garda Informatica sviluppa software su misura nella forma di Web Application, App Ibride per iOS/Android/Windows Phone, Crawler Web, Gestionali Web o semplici Connettori per l'integrazione tra software di terze parti.
Garda Informatica

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *

Inviando i dati del form accetti le condizioni sulla privacy