Voglio sviluppare un’app Android – Quale linguaggio devo imparare ?

Sviluppare app android – Quale linguaggio imparare ?

Sviluppare app android – Quale linguaggio imparare ?

Hai deciso che vuoi imparare a sviluppare app Android ? Ottimo !
Avere un obiettivo chiaro è il primo passo del percorso che ti permetterà di raggiungerlo con successo.

Imparare a scrivere codice può essere complicato, e spesso è importante sapere da dove partire.

  1. Quale linguaggio di programmazione dovrei conoscere ?
  2. Dove posso imparare questo linguaggio ?

In questo articolo proveremo a rispondere alla prima domanda. Decidere da quale linguaggio di programmazione partire dipende da casa si vuole ottenere.
E una volta che si conosce il linguaggio, bisognerà scegliere l’IDE, ossia l’ambiente di sviluppo per lavorarci.
In questo articolo ci concentreremo sullo sviluppo di app Android.

Scegliere il linguaggio per sviluppare App Android

Le differenze tra i diversi linguaggi di programmazione possono essere molto evidenti o molto leggere. Scegliere da quale linguaggio iniziare, richiede di capire punti di forza e debolezza di ciascuna opzione.

Di seguito una breve descrizione di ciascuna opzione. Considera quella più utile per te.
I linguaggi che puoi considerare di imparare per sviluppare app Android sono:

Java – Java è il linguaggio ufficiale per sviluppare per Android ed è supportato da Android Studio. Ha una curva di apprendimento molto ripida.

Kotlin – Kotlin è stato introdotto recentemente come “secondo” linguaggio ufficiale per sviluppare app Android. E’ simile a Java, ma è un po’ più semplice da imparare. Da Android Studio 3.0 è presente il supporto al linguaggio Kotlin

C/C++ – Android Studio permette di sviluppare in C++ attraverso l’utilizzo di Java NDK. Attraverso C++ è possibile sviluppare codice nativo molto performante, che potrebbe essere necessario ad esempio nei giochi. Sviluppare in C++ è complicato.

C# – E’ un’alternativa a C/C++, permette di scrivere codice ad un livello di astrazione più alto rispetto a C/C++. Si usa con framework come Unity e Xamarin, molto usati in ambito sviluppo giochi 2D e 3D e nello sviluppo di applicazioni cross platform.

Corona/LUA – Un altro tool per sviluppare cross-platform tool. Semplifica il processo di sviluppo e permette di chiamare librerie native.

PhoneGap (HTML, CSS, JavaScript) – Se già sai sviluppare pagine web, puoi utilizzare PhonGap per creare applicazioni cross Platform.

Java

Quando viene in mente l’idea di sviluppare un app Android, il primo linguaggio che viene in mente è Java. Java è il linguaggio ufficiale per lo sviluppo Android. E’ il linguaggio che ha il supporto maggiore da parte di Google, il linguaggio nel quale sono scritte la maggior parte delle app su Google Play, il linguaggio nel quale trovate scritte la maggior parte di app open source.

L’ambiente di sviluppo per creare app in Java è Android Studio. Il pacchetto Android Studio contiene Android SDK, un insieme di strumenti per facilitare lo sviluppo in Android, in questo modo si ha tutto il necessario in un unico ambiente.

Android Studio

Android Studio

Sia direttamente da Google attraverso la documentazione ufficiale che dai tanti tutorial e app open source c’è molto materiale per sviluppare per Android con Java.
Java è stato sviluppato da Sun Microsystems nel 1995 ed è molto utilizzato anche per applicazioni web e desktop. Non è un linguaggio semplicissimo per chi inizia a sviluppare. E’ un linguaggio ad oggetti, e questo potrebbe disorientare all’inizio. Secondo PYPL (Popularity of Programmming Language), Java è il linguaggio più amato dagli sviluppatori.

A rendere la vita più semplice agli sviluppatori c’è Android Studio, l’ambiente per sviluppare in Java sponsorizzato da Google, che negli ultimi anni è cresciuto moltissimo diventando un ambiente molto completo.

Quindi ?
Per coloro che vogliono un’esperienza completa nello sviluppo di App Android, Java è il miglior linguaggio per partire.

Black Friday: Corso Android O: Sviluppa app da zero con Firebase a 10 euro!

Kotlin

Kotlin è stato recentemente promosso da Google ad altro linguaggio ufficiale per lo sviluppo Android. Come Java, Kotlin viene eseguito in una Java Virtual Machine. Può essere utilizzato insieme a Java. E’ più semplice da imparare rispetto a Java.

Android NDK

Android NDK

Non è semplice il setup, e siccome si scrive molto più codice è più facile introdurre dei bugs nelle applicazioni soprattutto se si è all’inizio.

C#

C# è un linguaggio ad oggetti più ad alto livello rispetto a C/C++. E’ molto usato in combinazione con Unity. Unity è un game engine e un IDE come Android Studio. Attraverso Unity è possibile creare giochi 2D e 3D. Su Google Play ci sono molti giochi sviluppati con Unity.
Questa accoppiata è da tenere in considerazione se l’obiettivo è creare giochi. Insieme a Unity, è utile esplorare anche Unreal se interessa il mondo del game dev.

Unity e C#

Unity e C#

C# è anche usato con Xamarin all’interno di Visual Studio. Xamarin è un ottima soluzione per sviluppare app cross platform.

Corona

Corona rappresenta un’altra opzione valida per sviluppare app Android. Si utilizzerà il linguaggio LUA, più semplice di Java, e si sfrutterà il Corona SDK (Software Development Kit).
Supporta le librerie native e permette di pubblicare per diverse piattaforme. E’ particolarmente usato nella creazione di giochi, ma può essere utilizzato anche per sviluppare altri tipi di applicazioni.

Corona

Corona


PhoneGap

Attraverso PhoneGap è possibile creare pacchetti nativi per diverse piattaforme partendo da codice HTML, CSS e Javascript. Spesso si utilizza qualche framework (AngularJS, Sencha Touch, ..)per creare una web app poi si utilizza PhoneGap per impacchettarla e creare dei pacchetti installabili su diverse piattaforme.

Phonegap

Phonegap

Non si tratta di un vero e proprio sviluppo Android, ma può essere una buona strada per chi proviene dal mondo web per creare alcune tipologie di applicazioni.

Conclusioni

Non esiste una scelta giusta, dipende dagli obiettivi e dal background di ciascuno.

The following two tabs change content below.

Cosimo Palma

Software Engineer

Ultimi post di Cosimo Palma (vedi tutti)

 

Qual è il prossimo passo ?

 

 

Commenta