Come diventare sviluppatore di APP IBRIDE e quali corsi seguire.

Ciao, sono Alberto, un developer non convenzionale 🙂 ed in questo articolo non mi limiterò a spiegarti come diventare uno sviluppatore di app, ma voglio mostrarti la strada più veloce! Risparmierai tempo e fatica concentrando i tuoi sforzi sugli strumenti e le tecnologie migliori che ti mostrerò.

Il mondo dello sviluppo mobile è molto vasto, qui ci occuperemo di un solo settore: lo sviluppo di applicazioni ibride – quello che ti consente di creare delle applicazioni da zero, in poco tempo e multi piattaforma.

Comprenderai le differenze tra app ibride e native e quali sono le competenze necessarie per sviluppare in maniera Ibrida, i tools, i corsi e i tutorial da poter seguire da subito per ottenere dei risultati in tempi brevi. Parleremo di strumenti come Cordova/Phonegap, JavascriptJavaScript è un linguaggio di scripting utilizzato nella programmazione Web lato client, per la creazione,... ES6, Angular, React, Ionic e Onsen e tanto altro, sei pronto/a per cominciare?

Come diventare un mobile developer

Applicazioni Ibride e Native

Prima di entrare nel vivo di corsi e strumenti è importante chiarire che esistono diversi modi di sviluppare le applicazioni, che possono essere:

  • App Native
  • App Ibride

Entrambi i metodi danno come risultato un’applicazione a tutti gli effetti, che potrà essere pubblicata nei vari store, scaricata, installata e avrà accesso ai vari sensori come fotocamera, galleria, GPS, internet, ecc.
La differenza non risiede infatti tanto nel risultato finale, quanto nelle tecnologie e nei linguaggi usati in fase di sviluppo.


App native:

Sviluppo app nativeOgni sistema operativo per smartphone usa un linguaggio diverso.

Se voglio sviluppare un app su Android dovrò usare il linguaggio Java, se invece voglio sviluppare un’app per iOS ne dovrò usare un altro, nello specifico Objective-C oppure Swift.

Sì, hai capito bene. Per creare la stessa app su due sistemi operativi diversi dobbiamo scriverla in due linguaggi diversi, usando due strumenti per programmare diversi e con interfacce utente diverse.


App ibride:

Sviluppo app ibrideLe applicazioni ibride nascono proprio per risolvere il problema del multipiattaforma, ovvero permettono di scrivere un solo codice, una sola volta, e fare in modo che possa essere eseguito su più sistemi operativi (Android, iOS, Windows Phone).

Le applicazioni Ibride vengono sviluppate con HTMLHTML  è la sigla di HyperText Markup Language. È il linguaggio di programmazione delle pagine...,CSSCSS ( Cascading Style Sheets) È un linguaggio di programmazione utilizzato per definire gli elementi... e Javascript. Essenzialmente si tratta di pagine web impacchettate come delle applicazioni native.

Questa conversione avviene grazie a uno strumento chiamato Cordova, che consente al Javascript di richiamare le funzionalità del dispositivo come se si trattasse di un app nativa (fotocamera, GPS, rubrica, ecc).
Cordova si occuperà della conversione da pagine web ad app, e di creare i vari file installabili per ogni sistema operativo.


Vantaggi dello sviluppo ibrido

I vantaggi di uno sviluppo ibrido sono molteplici, sia per lo sviluppatore, sia per il datore di lavoro. Guarda i codici di un’applicazione di demo semplicissima, che ha l’unico scopo di stampare nello schermo del cellulare la scritta “Ciao Mondo”.

Vedremo i codici scritti in Java per Android, di Objective-C per iOS e di HTML,CSS e Javascript per le app Ibride multipiattaforma.

App nativa in Java per Android

Android codice Java per Hello World

App nativa in Objective-C per iOS

iOS e objective-c per codice Hello World

App ibrida in HTML, CSS e Javascript per Android, iOS, Windows Phone, Blackberry e altri sistemi operativi

Cordova e Phonegap per codice Hello World

Noti delle differenze?

Molti sviluppatori conoscono già l’HTML e il CSS per questo sono più propensi ad utilizzare dei linguaggi a loro familiari piuttosto che dover andare ad imparare linguaggi più complessi. Ora capisci perchè sviluppare app ibride è molto più veloce ed immediato che svilupparle in nativo.

Naturalmente ci sono anche degli aspetti negativi legati allo sviluppo ibrido, principalmente legati ai limiti per le personalizzazioni e le performance, ma trovo che sia un ottimo compromesso in termini di velocità di sviluppo, costi e produttività.

I 6 passi per diventare uno sviluppatore di app ibride

Questi sono i passi fondamentali per diventare uno sviluppatore di app ibride. Alcuni ti sembreranno banali, altri sono più complessi, ma tutti sono importanti!

  1. Studiare HTML e CSS
  2. Studiare la programmazione di base
  3. Studiare la sintassi del linguaggio Javascript e ES6.
  4. Dai un veloce sguardo a Cordova/Phonegap
  5. Studiare almeno un frameworkUn framework è una struttura definita da un insieme di classi astratte e dalle relazioni... moderno basato su Javascript come Angular o React.
  6. Imparare ad usare un UI Framework

Lo so cosa stai pensando, c’è un sacco di roba da studiare!

In realtà mi sarei potuto fermare al punto 2: per creare un’app ibrida ti basta conoscere  l’HTML e il CSS e saper programmare. Non scherzo, puoi farlo in 5 minuti. Guarda questo video:

Gli altri punti che ho inserito servono per migliorare la qualità delle tue app ibride, fare in modo che abbiano un bell’aspetto grafico, che siano performanti e che utilizzino tecnologie moderne. In questo modo non sarai semplicemente uno sviluppatore di app ibride ma sarai un BUON sviluppatore di app, molto più competitivo nel mercato del lavoro.

Ora vediamoli uno per uno.

1. Studia HTML e CSS

L’HTML e il CSS sono alla base dello sviluppo web ma non sono dei linguaggi di programmazione.
L’HTML è un linguaggio di markup che definisce la struttura del contenuto, i paragrafi, gli elenchi, le tabelle, ecc.
Il CSS invece è un linguaggio di stile che serve per personalizzare e abbellire la pagina, possiamo usarlo per modificare i colori, i bordi, i font e l’aspetto di tutti gli elementi che vediamo.

Sono entrambi molto semplici da imparare: ti basteranno pochi esercizi per padroneggiarli con sicurezza.

Per cominciare puoi seguire questi corsi, interamente gratuiti e in lingua inglese:


2. Impara a programmare

Con delle solide basi di programmazione sarai in grado di approfondire qualsiasi linguaggio/tecnologia.

La cosa veramente importante è imparare a  pensare con un programmatore per avere il giusto approccio mentale alla risoluzione dei problemi.
Ecco qualche corso gratuito da cui puoi iniziare (in inglese):

Video guida per imparare a programmare da zero

In italiano ti segnalo il mio corso di programmazione:

Su imparareaprogrammare.it puoi seguire gratuitamente le prime lezioni.
Si tratta di un percorso completo basato interamente su esercizi pratici, pensato per chi vuole fare di questa passione una professione.
Sono competenze che consentono sia di cercare posti di lavoro qualificati – in Italia ed all’estero – sia di sviluppare i propri progetti senza ricorrere a servizi a pagamento.


3. Sintassi Javascript del futuro

Javascript è un linguaggio particolare che negli ultimi anni che è cresciuto spaventosamente e si è evoluto con una rapidità straordinaria. Quello che sto per mostrarti è una piccolissima frazione della sua evoluzione, guarda questi codici.

La maggior parte delle persone è abituata a vedere questo Javascript:

ecmascript5 il vecchio javascript

In realtà adesso Javascript è questo:

ecmascrpt 6 il nuovo javascript

Questa è la nuova sintassi basata su ES6 o ECMASCRIPT 6, tutti i framework moderni si basano su questo “nuovo” javascript e se non lo studi rischi di rimanere indietro.

Ecco alcuni siti in cui puoi trovare maggiori informazioni:

C’è anche un video interessante che potrebbe farti risparmiare un po’ di tempo di studio e letture: Learn ECMAScript 6 in One Video


4. Cordova e Phonegap

Cordova è lo strumento principale per poter creare delle applicazioni ibride. Solo grazie a questo strumento possiamo impacchettare i nostri file HTML,CSS e JS in delle vere applicazioni installabili su smartphone.

Cordova,conosciuto anche come Phonegap, non è uno strumento difficile da usare. È importante che impari a fare almeno queste due attività:

  • Richiamare una funzionalità nativa (fotocamera,galleria,ecc)
  • Lanciare i comandi per impacchettare tutto

Per iniziare ti consiglio di andare sul sito ufficiale di PhoneGap, una distribuzione di Cordova.

Per la documentazione, invece, ti consiglio di fare riferimento al sito di Cordova.

Sotto la voce “Plugin APIs” trovi come richiamare le funzionalità del dispositivo come:

  • Status della batteria
  • Fotocamera
  • Contatti del cellulare
  • Info sul Device
  • L’accelerometro
  • Orientamento dello schermo
  • File per lettura e scrittura
  • Dati GPS

Ma facciamo anche un esempio pratico, vediamo un po’ di codice:

Cordova e Phonegap richiamare status della batteria

Questo codice Javascript si attiva quando la batteria è quasi scarica e mostra un semplice avviso.

È semplice e intuitivo, programmare così è nettamente più facile.


5. Framework Javascript

Con Cordova non sei obbligato ad usare dei framework javascript particolari. Potresti addirittura non usarne e scrivere tutto in Javascript puro (Vanilla), oppure utilizzare delle librerie come jQuery o jQuery Mobile che sono più immediate e semplici da usare.

Potresti, ma ha senso?

Il mondo dello sviluppo si sta spostando dal vecchio JS al nuovo Javascript (ES6 e oltre). Che senso ha stare fermi alla vecchia versione quando tutto il mondo va avanti?

Tutti i principali framework per lo sviluppo front-end basati su Javascript stanno già usando la nuova sintassi o si stanno aggiornando per supportarla. In molti ambienti di sviluppo è già considerata uno standard e si affermerà inevitabilmente anche qui in Italia.

Angular, il framework di Google, supporta la sintassi ES6 di Javascript, anzi non solo la supporta ma la mette al centro dello sviluppo assieme a Typescript. Guarda questo codice:

Angular il framework che usa Typescript

Anche React, il framework di Facebook, usa la sintassi ES6. Dai un’occhiata:

React.js il Framework Javascript di Facebook

Come ti sembrano questi codici? Sembra ancora il “classico” Javascript?

Direi che è cresciuto parecchio!

Veniamo ora ai tutorial. Personalmente mi piace iniziare a studiare una nuova tecnologia partendo dalla documentazione e dai tutorial ufficiali. Sia il sito di Angular che quello di React offrono un’ottima documentazione dei tutorial per iniziare subito a fare pratica quindi eccoli:


6. UI Framework

Siamo arrivati agli UI Frameworks, dove UI sta per User Interface ovvero interfaccia utente. Dato che parliamo di grafica direi che è il caso di vedere qualcosa, piuttosto che continuare a scrivere.

Un semplicissimo codice HTML con una resa grafica fantastica in tutti i sistemi operativi: quello che vedi è solo un piccolissimo esempio di ciò che fa Ionic UI, una minima frazione delle sue potenzialità.

ionic frameworkQuesto è il sito ufficiale, corri a dare un’occhiata alle sue caratteristiche: codice ottimizzato per le performante e un ottimo aspetto grafico.

Per iniziare puoi usare Ionic Creatore, un editor visivo che ti consente di creare la tua app senza dover scrivere neanche una riga di codice, lo trovi qui.

Un altro UI Framework interessante è Onsen IU, questo è il sito ufficiale.
Onsen si integra sia con dei framework moderni come Angular, React, Vue.js e Meteor ma anche con il più vecchio jQuery.

Anche qui ti consiglio di iniziare con il Get Started della documentazione ufficiale.
Se ti interessa questo è un breve video di presentazione di Onsen:


Ottimo lavoro!

Sei arrivato alla fine di questa mini guida, adesso hai una visione più chiara dell’intero ecosistema che sta dietro le applicazioni ibride e sai qual è la strada più veloce per diventare uno sviluppatore mobile competitivo nel mercato.
Spero ti sia venuta la voglia di unirti a noi 🙂

Contattami quando avrai sviluppato la tua prima app, sarò felicissimo di provarla e di farla vedere ai miei studenti!

Visita il mio sito personale linkato nel profilo, troverai la lista aggiornata dei miei corsi e anche la mia speciale newsletter in cui invio periodicamente guide e video interessanti.

Adesso conosci il percorso per diventare un vero sviluppatore mobile.
Buona programmazione!

Il tuo nuovo amico Alberto

About Alberto Olla

Alberto Olla

Ciao, sono un Full Stack Web Developer e mi sono occupato dello sviluppo di app sia native. Attualmente mi dedico a "sviluppare nuovi programmatori" :D con guide e corsi per acquisire queste competenze sempre più richieste dal mercato del lavoro digitale.

WebSite

Leave a Reply