Come creare applicazioni per smartphone

Ci sono due possibili approcci generali:

Approccio “cialtrone”:
Inizi a programmare android seguendo le guide e i vari tutorial scopiazzando codice e cercando di capire a naso cos’è una classe, un oggetto, un metodo e il significato del costrutto iterativo “for”. In questo modo però non impari a programmare, il tutto si riduce a un collage di codice del quale non si conosce nulla.

Approccio “corretto”:
Se parti totalmente da zero, solo l’imparare a programmare ti richiede mesi di studio su libri, e non è una passeggiata, anzi inizialmente può essere pure molto pesante. E anche dopo che si è studiato per mesi o anni, magari si sa programmare, ma non programmare bene.

Purtroppo anche la pubblicità per tv e la presenza di alcuni ambienti di sviluppo che sembrano permettere anche al neofita di sviluppare tutte le applicazioni immaginabili, distorgono la realtà delle cose: ovvero che prima di fare qualcosa di fatto bene devi sbatterti e non poco. Dico “fatto bene” perchè tutto sommato alcuni ambienti permettono all’utente senza basi di programmazione di creare qualche semplice app. Ma parliamo comunque di applicazioni semplici e di poco spessore computazionale, magari a te basta questo, non lo so, prova a informarti.
Se invece vuoi programmare sul serio. Molto brevemente:
1 – Prenditi un libro di programmazione Java che comprenda le nozioni base di programmazione, per esempio (cito questo solo perchè in ambiente universitario è abbastanza diffuso) “Concetti di informatica e fondamenti di Java” di Cay Horstmann. 
2 – Studia il libro e fai pratica a non finire fino a che non hai capito solidamente cos’è la programmazione e finchè non hai appreso le nozioni base di programmazione (strutture dati, dati primitivi) e i must-to-know del Java (Ereditarietà, polimorfismo, eccezioni).
3 – Prendi in mano la documentazione e le guide di Android e smanetta partendo da helloworld.
4 – Pensa all’app che vuoi creare valutandone la fattibilità rispetto alle tue capacità acquisite.
5 – Scrivi l’app.

I primi 2 punti sono un passaggio obbligato e per un neofita è difficile che durino meno di 5-6 mesi. Lungi da me demoralizzare le persone, ma ti dico solo che dopo 3 anni di ingegneria informatica e 3-4 corsi di programmazione, gran parte degli studenti è ancora a un livello di programmazione molto carente e anche riuscendo a realizzare applicazioni funzionanti, ben pochi sono quelli che riescono a farlo in modo decoroso (questo anche grazie ai nuovi ordinamenti didattici, ma questo è un altro doloroso discorso).

E’ possibile anche un approccio ibrido fra i due. Però ha i sui pro e contro, il principale problema è che verrà fuori un codice che magari funziona ma è scritto malissimo, poco performante, poco pulito, poco documentato e non aggiornabile. Questo perchè si è sviluppata una app senza aver fatto pratica (pratica sufficiente = centinaia di programmi).

La capacità di programmare si sviluppa con il tempo, purtroppo non esistono scorciatoie valide.