Home
Sviluppare applicazioni Facebook

27 Novembre 2017

Sviluppare applicazioni Facebook

di

Modelli di business diversi dagli app store e ugualmente promettenti. A patto di rimanere aggiornati e voler migliorare.

Facebook è di varie lunghezze il social network più utilizzato al mondo, con oltre due miliardi di utenti mensili attivi. Creare un’applicazione per Facebook rappresenta quindi un’opportunità di business che può divenire importante.

Per avere un commento aggiornato in argomento abbiamo intervistato Alberto Fecchi, autore di Sviluppare applicazioni Facebook con l’obiettivo di insegnare a realizzare applicazioni integrate con le funzionalità del social network, dalla raccolta dei dati ai sistemi di interazione tra utenti. Alla lettura dei prossimi paragrafi è affidato il convincerci sulla fattibilità di impostare il proprio business sulla piattaforma di Mark Zuckerberg.

Apogeonline: Hai cominciato a scrivere codice prestissimo… o forse no. Cominciare a programmare a dodici anni è stata una grande fortuna oppure qualcosa che si avvicina sempre più a un requisito base, un po’ come suonare il pianoforte?

Alberto Fecchi: Probabilmente è stata la mia più grande fortuna. Nei primi anni 2000 l’Italia era ancora molto arretrata sotto il punto di vista tecnologico e quindi era difficile trovare ragazzi, soprattutto della mia età, appassionati di sviluppo software. Per me invece era un modo per esprimere la mia creatività; solo in seguito infatti mi sono reso conto anche del suo potenziale dal punto di vista lavorativo.

Oggi i tempi sono cambiati e secondo il mio parere imparare un linguaggio di programmazione dovrebbe essere una priorità di tutti, anche per chi intraprenderà carriere totalmente estranee al mondo dell’informatica. L’apprendimento di un linguaggio di programmazione migliora il tuo modo di ragionare aumentando le tue capacità di problem solving. Per intraprendere la carriera da sviluppatore software professionista è necessario essere sempre aggiornati sulle nuove tecnologie e mettere in pratica continuamente ciò che si impara, proprio come si fa con uno strumento musicale.

Il mercato potenziale – l’utenza Facebook – ha estensione sterminata. Anche gli app store per gli smartphone, però, non scherzano. Eppure, per tutti gli sviluppatori sotto il vertice della piramide, è difficilissimo guadagnare bene. Si può ricavare uno stipendio rispettabile dalla scrittura di applicazioni Facebook?

Da sviluppatore orientato al web ho deciso di parlare principalmente di sviluppo di applicazioni Facebook con PHP e JavaScript, ma l’ecosistema di servizi permette l’accesso ai propri dati da qualsiasi tipo di applicazione, comprese quelle mobile. Negli ultimi anni abbiamo assistito alla nascita di colossi come Candy Crush Saga che, neanche a dirlo, portano a casa molto più di uno stipendio. Nello specifico, il gioco esiste anche come applicazione Facebook e monetizza molto. Esistono ovviamente anche applicazioni e giochi meno diffusi, ma che comunque permettono ai propri creatori di guadagnare bei compensi, sia grazie alle pubblicità presenti all’interno della loro applicazione, sia grazie agli acquisti diretti di feature a pagamento o, nel caso dei giochi, power-up e simili. La cosa importante per monetizzare un’applicazione Facebook è ovviamente costituire un grande bacino di utilizzatori, diretta conseguenza della bontà dell’idea che sta alla base dell’app.

Hai avuto esperienze con il codice nativo, con lo sviluppo di applicazioni convenzionali, fatte per un sistema operativo più che per il web? È più facile per uno sviluppatore passare da queste alle applicazioni Facebook o viceversa?

Da amante dello sviluppo software mi è capitato di lavorare in diversi tipi di ambiente, compresi desktop e mobile. Per qualsiasi tipo di sistema Facebook mette a disposizione le proprie API ovvero, come spiego nel libro, meccanismi per usufruire dei dati e delle funzioni messe a disposizione dal social network.

È quindi possibile sviluppare applicazioni native e no, che interagiscono con Facebook; la complessità dipende solo dal grado di conoscenza che lo sviluppatore ha del linguaggio di programmazione che decide di utilizzare.

Sviluppare applicazioni Facebook

La porta verso un mercato potenziale di due miliardi di persone.

 

Di quale tua realizzazione software vai più orgoglioso e perché?

Dopo tutti questi anni da sviluppatore è difficile scegliere un solo lavoro; mi sono affezionato a molti progetti durante la mia carriera.

Dato che stiamo parlando di Facebook, posso però estrarre dal cilindro uno dei primi lavori che ho sviluppato con le sue API: la realizzazione di un plugin per i browser Firefox e Chrome che mostrasse una barra laterale social durante la visita di un qualsiasi sito di e-commerce: questa barra laterale si collegava alle API Facebook e mostrava la mia lista di amici, con i quali potevo interagire chattando direttamente attraverso il plugin o condividendo in tempo reale, tramite drag & drop, gli articoli che più mi interessavano sull’e-commerce visitato. Il plugin permetteva quindi avere un’esperienza di shopping condiviso con i propri amici.

Il bello di questo progetto era la possibilità di utilizzare diverse tecnologie innovative per quel periodo (plugin e API Facebook) in un sistema di real-time sharing. Questo serve a dimostrare che le API Facebook possono esser utilizzate ovunque; basta avere inventiva e voglia di sperimentare.

Se davanti avessi uno sviluppatore alle prime armi ansioso di farti concorr… di cimentarsi sul mercato con creazioni proprie, che cosa gli consiglieresti?

Considerami un pazzo, ma mi piace creare la mia concorrenza (altrimenti non avrei scritto un libro per condividere le mie conoscenze). Uno dei vantaggi del nostro settore è poter lavorare con persone provenienti da tutto il mondo, senza dover essere fisicamente presenti nella stessa stanza… anzi, nello stesso stato.

Questo significa che, potenzialmente, ogni sviluppatore esistente può essere sia un nostro competitor, sia un nostro alleato… e mi piace essere molto ottimista sotto questo aspetto! Scherzi a parte, sono felice di aiutare chi condivida la mia stessa passione, e il primissimo consiglio che posso dare alle nuove leve è guardarsi bene intorno e valutare tutte le tecnologie disponibili. Conosco molti sviluppatori che sono partiti dal web per poi passare totalmente allo sviluppo mobile, e viceversa, quindi prima di focalizzarsi su un solo tipo di prodotto è bene sperimentare molto e trovare la propria passione.

Il secondo consiglio che posso dare è studiare i codici sorgenti di applicazioni realizzate da altri programmatori: GitHub è una miniera d’oro. Studiare il codice di altri velocizza il proprio apprendimento e permette di conoscere i tips & tricks più efficaci. Infine, è bene sondare il mercato prima, durante e dopo la pubblicazione di un’applicazione. Se le cose vanno bene è importante chiedersi come posso migliorare?. Se le cose vanno male invece non ci si deve scoraggiare, ma si deve ragionare a mente fredda su quali errori siano stati commessi.

C’è ancora spazio per l’originalità in mercati come questo? A volte sembra che sia impossibile raggiungere il successo fuori da strade molto precise, molto stereotipate, molto affollate di concorrenza. Non è che tutto sia stato già inventato, a livello di applicazione Facebook?

Ogni volta che mi è capitato di pensare dai, ormai hanno inventato davvero tutto, il mercato è saturo sono stato smentito nel giro di pochi giorni da qualche fenomenale idea innovativa a cui nessuno aveva mai pensato prima. Alla centesima volta ho capito che di innovazione da creare ce n’è ancora tanta, troppa, e che l’importante è essere continuamente informati sulle tendenze del momento ma, soprattutto, cambiare il proprio modo di ragionare, cercando di prevedere quelli che saranno i bisogni del futuro, sia nel breve che nel medio/lungo periodo.

In altre situazioni invece la soluzione ottimale è totalmente opposta all’innovazione: molti business nascono copiando (e, in alcuni casi, migliorando) idee già esistenti, con l’obiettivo primario di venir acquistati proprio dalle grandi realtà che sono state copiate. Questo dimostra che le possibilità di successo non finiscono mai, dipende tutto dalla propria apertura mentale.

Da programmatore che ha iniziato giovanissimo, che opinione hai degli attuali sforzi per introdurre il coding nella scuola?

Nel corso degli anni ci sono stati miglioramenti, ma ancora siamo molto indietro rispetto ad altri Paesi europei. Ho toccato con mano l’attuale livello scolastico partecipando a interventi sia in scuole superiori sia in università della mia zona, constatando purtroppo una forte arretratezza sotto il punto di vista delle tecnologie che vengono insegnate. Personalmente suggerirei alle scuole e alle università di adottare un modello molto più pratico, mirato soprattutto al mondo del lavoro.

Domani decidi di scrivere una applicazione Facebook di medio calibro e complessità. Quanto ci metti?

I tempi di sviluppo di un’applicazione dipendono sicuramente dalle funzionalità che deve includere e soprattutto da quante persone lavorano contemporaneamente al progetto. Come spiego nel libro, l’integrazione delle API Facebook rappresenta solo una parte del lavoro; il resto della complessità dipende ovviamente dalla totalità dell’applicazione. Personalmente ho realizzato alcune applicazioni Facebook in due giorni e altre in sei mesi!

L'autore

  • Alberto Fecchi
    Alberto Fecchi inizia a scrivere codice all'età di 12 anni. Specializzato nello sviluppo di software web-based e mobile, si focalizza principalmente sulla realizzazione di applicazioni integrate con i principali social network e, nel 2012, trasforma la sua passione in un lavoro fondando LuckySeven, azienda innovativa in ambito tecnologico. Costantemente attivo in varie community online, promuove l’interesse per lo sviluppo software in Italia.

Iscriviti alla newsletter

Novità, promozioni e approfondimenti per imparare sempre qualcosa di nuovo

Gli argomenti che mi interessano:
Iscrivendomi dichiaro di aver preso visione dell’Informativa fornita ai sensi dell'art. 13 e 14 del Regolamento Europeo EU 679/2016.