Corsi per imparare a sviluppare App Nel mondo che stiamo vivendo siamo sempre più vicini gli uni agli altri; dalla facilità di spostamento con i mezzi di trasporto ad internet, l’umanità ha sempre cercato di colmare il gap che lo spazio ed il tempo impongono tra di noi, e oggi l’espressione più compiuta di questo tentativo sono le App. Oggigiorno il vecchio cellulare, ormai in pensione, viene rimpiazzato dagli smartphone che sono il mezzo preferito per accedere a internet e ottenere informazioni. Come dieci anni fa divenne praticamente obbligatorio possedere un sito internet per poter ottenere visibilità oggi è diventato praticamente obbligatorio avere un’app sul device di chi si vuole raggiungere. Ciò ha creato un bisogno sempre più esigente da parte del tessuto produttivo italiano che oggi chiede a gran voce più programmatori per poter competere con le armi di questo decennio. In questo senso è molto positiva la notizia della prossima apertura a Napoli, dell’ “iOS Developer Academy” vero gioiello della formazione designed in California ma made in Campania. Con la collaborazione dei maggiori atenei campani e la stretta cooperazione con l’Università Federico II di Napoli il progetto vedrà centinaia di ragazzi impegnati a programmare App in ambiente iOS dando loro moltissime prospettive per un futuro da programmatori. In attesa che anche Google punti sull’Italia per una formazione concreta sulla programmazione di App in ambiente Android dopo il progetto “Crescere in Digitale” sviluppato in collaborazione con Unioncamere, Ministero del Lavoro, Garanzia Giovani ed Unione Europea noi di DOTIT vogliamo aiutarti a conseguire il tuo sogno di creare e sviluppare un’app per conto tuo. Che tu lo faccia per passione, per interesse personale o per una specializzazione dopo aver imparato a programmare all’università, che tu voglia cercare oro in questa miniera scoperta da poco nel nostro paese e lungi dall’essere esaurita o per aiutare la tua azienda a migliorare le proprie performance noi siamo qui per aiutarti a capire cosa fare e come farlo. Creare un’App, sono tutte uguali? Esistono diversi tipi di App, e per ognuna si ha bisogno di diverse competenze di base. Le app si possono dividere macroscopicamente in native e web based. App Native Le app native hanno il vantaggio di essere create appositamente per il dispositivo su cui dovrà funzionare l’applicazione, sfruttando appieno tutte le potenzialità dello stesso e sono quindi caratterizzate da una maggior fruibilità e prestazioni ottimali. Lo svantaggio è costituito dalla complessità variabile a seconda dell’OS ospite e dalla particolarità di sviluppo per ogni OS, cosa che le rende più costose sia in termini di risorse economiche che temporali. Web App Le web app sono un collegamento ad un applicativo remoto scritto in un linguaggio multipiattaforma compatibile con tutti i sistemi operativi. Hanno, oltre all’universalità del linguaggio di programmazione che le rende utilizzabili su qualunque dispositivo, il vantaggio di essere più “leggere” in quanto non usano la potenza di calcolo del processore dello smartphone. Tale standardizzazione dei processi naturalmente rende lo sviluppo di una web app molto più facile, veloce ed economico. Gli svantaggi di questo metodo di programmazione sono il non poter sfruttare appieno le potenzialità e le peculiarità di ogni sistema operativo ed il fatto che il dispositivo per far funzionare l’app e consentire all’utente una fruibilità continua avrà bisogno di una connessione dati costante e veloce. Sviluppare un’app. iOS o Android? Sebbene si potrebbe pensare che l’unica differenza tra i due sistemi operativi più usati al mondo risieda nel linguaggio di programmazione non è così. Esistono differenze sostanziali che superano la mera differenza nei codici (il linguaggio di iOS è Objective-C/Swift mentre quello di Android è Java), spaziando dal design alla strategia mobile. La libertà di programmazione Se per la creazione di un’app iOS la struttura di un progetto di programmazione in Xcode è molto più libera dando la possibilità al programmatore di creare files e cartelle a cui successivamente far riferimento. In ambiente Android c’è molta più rigidità, si impongono nomenclature ad ogni tipo di risorsa, rendendo tutto il processo molto più strutturato. La fase di testing Un’altra differenza sensibile si riscontra nella fase del testing, se il simulatore iOS ha il vantaggio di essere molto più veloce dell’emulatore Android, quest’ultimo ha il vantaggio di essere una vera e propria macchina virtuale con CPU simulata, il che lo rende molto più realistico nei risultati rispetto al suo antagonista. Il consiglio comunque resta sempre quello di effettuare il test su un dispositivo fisico per evitare sorprese di ogni sorta e genere. Il design Per quanto riguarda il design i files in XML di Android non sono troppo dissimili da quelli in XIB di iOS, con la differenza che questi ultimi sono illegibili. Il design sembra essere il punto forte di iOS rispetto al concorrente, più consolidato e completo rispetto alla direzione presa da Google nella nuova release di Android L con il suo material design. Altre differenze Una differenza non irrilevante è il tasto per tornare indietro, presente sui dispositivi Android ma non negli iPhones, aspetto da valutare attentamente per poter programmare l’app in maniera tale da renderla il più user friendly possibile. Altre differenze minori sono legate alle app native per il sistema operativo scelto, come Mappe di Apple o Google Maps di Google, la sliding bar, in Android verso l’alto mentre in iOS verso destra o il raggruppamento di preferenze e permessi, raggruppati in iOS e più sparpagliati in Android. Le differenze non finiscono qui, in fase progettuale, infatti, bisogna considerare che iOS ha un design per le app più consolidato, a cui gli utenti Apple sono affezionati, il filo conduttore del design non è presente invece su Android. Il posizionamento nello store di riferimento è differente e bisogna farci attenzione per poter essere posizionati nel migliore dei modi. I costi sono leggermente superiori per un’app iOS anche a causa della minore diffusione del sistema operativo, e gli earnings per iOS sono legati soprattutto al prezzo dell’app e agli acquisti in-app, mentre per le app Android sono di solito conseguiti tramite la pubblicità. Impara a programmare Linus Torvalds sosteneva che imparare a programmare è come essere Dio, ma in piccola scala. Se vuoi dar sfogo alla tua creatività ma non hai ancora acquisito le competenze necessarie noi di dotIT possiamo aiutarti. Le app in particolare sono il presente ed il futuro prossimo di questo business, ed oggi è addirittura possibile, tramite le web app, creare un’app senza saper programmare, utilizzando dei layout precompilati. Nel processo di apprendimento che sia di programmazione o semplicemente di sviluppo dell’app anche senza saper scrivere in codice è bene avere delle basi da cui partire, ed è vasta la bibliografia in merito. Un libro per imparare a sviluppare app è sempre un buon inizio per avere delle solide fondamenta, come un po’ in tutti gli aspetti della vita. Altro modo sempre più popolare per imparare a fare qualunque cosa sono i corsi on-line, anche se il metodo migliore restano sempre i corsi di formazione in loco, durante i quali è possibile avere un confronto immediato, essere seguiti più puntualmente e soprattutto toccare con mano le capacità dei vostri formatori, la fiducia, infatti, resta sempre la moneta più importante del mondo. Il consiglio che ti diamo è di metterti subito alla ricerca di un’azienda specializzata che provveda alla tua formazione nello sviluppo di app, e se sei di Napoli o campano non esitare a contattare dotIT, ti risponderemo prontamente e faremo di te un futuro app maker.