Un rapido sguardo d’insieme al mondo dello sviluppo software e alle tendenze che si stanno confermando tra le più forti in questi primi mesi del 2014. Alcune sono ormai mature, altre necessitano ancora di tempo per affermarsi definitivamente, ma chi opera nel mondo della progettazione e dello sviluppo deve tenere d’occhio questi dati, e non farsi trovare impreparato.
Introduzione
In questo e nei prossimi numeri di MokaByte, pubblicheremo una serie di interventi realizzati dai fondatori di “CoseNonJaviste – Programmare da professionisti“[1], un team che si occupa di progettazione e sviluppo di software, in particolare (ma non esclusivamente) per quel che attiene le piattaforme tecnologiche per la creazione di web app, il mondo Java EE nelle varie versioni, e il sistema operativo mobile Android, avendo realizzato alcune app di buon successo pubblicate sul Google Play Store. I loro contributi spazieranno dai temi più tecnici sulle diverse tecnologie ad articoli dal taglio più generale, che affrontano la gestione dei progetti o le tendenze del mondo dello sviluppo software, come in questo primo articolo della serie. [La redazione]
Tendenza 1: il mobile e le app
Un rapido sguardo ai mercati più avanzati ci dimostra come ormai ci siano in giro più dispositivi mobile che esseri umani su questo pianeta. Nel 2014, secondo un’analisi di Gartner [2], la richiesta di smartphone, tablet e altri dispositivi mobili sarà in ulteriore ascesa. Per quanto riguarda i tablet la crescita sarà significativa: + 47% rispetto al 2013.
È chiaro quindi a chiunque faccia business, a qualunque livello, come sia importante essere presente nel mondo mobile nel 2014 e nei successivi: sempre più persone vorranno usufruire di informazioni e servizi dal proprio smartphone o tablet, e sempre maggiore dovrà essere l’attenzione delle aziende dei vari settori per fornire tali contenuti con le tecnologie più adatte, tenendo anche presente il tipo di suddivisione del mercato degli OS mobile tra i due principali attori (Android e iOS) senza peraltro dimenticarsi di Windows Phone, minoritario ma comunque in ascesa. Di conseguenza la richiesta di sviluppatori iOS e Android continuerà a crescere nel 2014.
Figura 1 – Andamento dei tre maggiori sistemi operativi mobile.
Nella figura 1 è riportato l’andamento su Google Trends di Android (rosso), iOS (blu) e Windows Phone (giallo) dal 2010 ad ora: si noti la vertiginosa crescita del trend di Android.
Tendenza 2: wearable devices
La prossima generazione di dispositivi mobile sarà… indossata. Google, Apple, Microsoft, Samsung e altre grandi aziende stanno investendo molto denaro per la ricerca e lo sviluppo di prodotti quali occhiali, orologi, chiavi e vestiti!
Figura 2 – Probabilmente i dispositivi indossabili non sono ancora maturi, ma sono la nuova frontiera: la tendenza è in forte crescita già per il 2014.
Il fatto che si possa assistere a una imminente “esplosione” del fenomeno è intuibile anche consultando Google Trends: l’andamento di Wearable Devices è in forte crescita negli ultimi 12 mesi (figura 3).
Figura 3 – Su Google Trends, l’aumento di “Wearable Devices” è in forte e costante ascesa.
Gli sviluppatori software si preparino: ci sarà da imparare una API in più per questi device. Un aspetto “rassicurante”, però, è dato dal fatto che in questo settore potrebbero farla da padroni proprio Android e Java, con un’ulteriore smentita della “profezia” sulla imminente “morte di Java” che si sente ripetere ormai da diversi anni, ma che non sembra ancora prossima ad avverarsi.
Tendenza 3: JavaScript
Dopo un periodo in cui, almeno in certi ambienti, era stato un po’ snobbato, dal 2011 al 2013 JavaScript è stato in crescita continua. JavaScript è ormai dappertutto: sul lato client e sul lato server, nelle applicazioni web e nei dispositivi hardware, poiche’ si tratta di uno strumento flessibile, molto conosciuto e relativamente facile da usare.
Certo, non mancano anche degli aspetti critici su cui ancora lavorare: rimangono problemi di compatibilità su alcuni browser, ed effettuare il debug di JavaScript diventa in certi casi davvero infernale. Ma l’utilizzo di JavaScript attraverso una delle tante ottime librerie a disposizione, come jQuery [3], Node.js [4], Backbone.js [5], Angular.js [6], ha trasformato il suo utilizzo in una esperienza piacevole e altamente produttiva. Nel 2014 ce lo aspettiamo ancora più protagonista nello sviluppo web.
Tendenza 4: infrastrutture cloud, anche personali e private
Il cloud non è certo una novità, perche’ ormai già da alcuni anni la virtualizzazione ci ha svincolato dall’hardware fisico con tutta una serie di vantaggi:
- maggiore flessibilità: è possibile creare nuove macchine, clonarle e distruggerle con pochi click;
- maggiore efficienza dei data center: virtualizzando più macchine su uno stesso server fisico, garantiamo che non ci sia spreco di risorse;
- riduzione dei costi e data center più ecologici.
Il cloud computing, sebbene sia ampio e abbracci diverse modalità e piattaforme di lavoro (SaaS, IaaS, PaaS) ha portato una vera e propria rivoluzione, di cui però solo ora cominciamo a vedere la portata effettiva, non solo tecnologica: nell’immediato futuro i computer server e desktop potrebbero sparire perfino dalle software house ed essere relegati nei giganteschi data center di grossi player (Amazon, Google etc.). Questi enormi data center potranno essere strategicamente costruiti in aree geografiche dal clima freddo, per risparmiare sui costi di condizionamento delle sale server. Non è un caso che Paesi come l’Islanda, stiano investendo pesantemente in connessioni con fibra ad alta velocità, per essere pronti ad ospitare tali strutture a tutto vantaggio della loro economia.
Figura 4 – Andamento di “Cloud Computing” su Google Trends dal 2010 ad oggi.
Grazie ai principi, alle buone pratiche e agli strumenti messi a disposizione dalle metodologie propugnate dal movimento DevOps [7], lo sviluppatore può già da ora creare macchine di sviluppo e produzione con pochi click, automatizzando i processi. Le aziende potranno mettere a disposizione servizi affidabili, scalabili e dai costi proporzionali alla crescita del proprio business come mai era successo prima.
Infine tutti noi, utenti di dati e servizi, possiamo oramai accedere ai nostri documenti e applicazioni da qualunque dispositivo, grazie alle personal cloud. Aziende come Google, Apple, Microsoft, Adobe e Sony mettono a disposizione dei propri utenti personal cloud: oggi basta un dispositivo e una connessione internet per utilizzare prodotti come Google Docs, Microsoft Office 365, Adobe Photoshop e perfino Visual Studio Online. Per qualsiasi attività si debba fare (fatturazione, schedulazione, posta elettronica, gestione documenti etc.) esiste un servizio in cloud adatto allo scopo.
E per chi ha necessità di preoccuparsi della privacy dei propri dati, esistono soluzioni come le private cloud o le hybrid cloud, anche se presentano costi leggermente superiori.
Tendenza 5: big data
È stata la tecnologia del 2013 e continua a crescere nel 2014. C’è talmente tanto rumore attorno a questa buzzword che se ne parla anche senza avere poi così chiaro cosa si intenda… Big data è una raccolta di dati grande e complessa: i DBMS relazionali tradizionali non sono adatti a gestire i volumi di dati richiesti con la velocità che tutti oggi ci aspettiamo. Per non parlare della necessità di presentare tali dati in formati e modalità sempre più accattivanti.
Per questo motivo nel 2013 sono nate centinaia di startup focalizzate su Big Data. Per fare qualche nome: SAP Hana, VoltDB, Vertica, Apache Pig, Apache Hive e Apache Mahout. Oracle, Microsoft, Google e Amazon stanno investendo grosse fette del proprio budget in queste tecnologie. Le previsioni di IDC [8] indicano che, nel 2016, attorno ai Big Data ci sarà un mercato da 24 miliardi di dollari.
Figura 5 – Andamento di “Big Data” su Google Trends dal 2010 ad oggi.
Tendenza 6: security
La facilità e la velocità con cui le nuove tecnologie ci consentono di mettere a disposizione un servizio sul web pongono nuove sfide in termini di sicurezza. Gli attacchi ai server si stanno moltiplicando e ci si aspetta un incremento della cybercriminalità, che sfrutterà tutte le nuove frontiere. I canali nuovi con cui i malintenzionati possono oggi accedere a una rete aziendale sono il malware su uno smartphone e la connessione wifi, oppure i portatili dei dipendenti, sempre più utilizzati sia a casa che al lavoro, con policy non sempre stringenti per quanto riguarda gli aggiornamenti di sicurezza, antivirus etc.
Inoltre la nuova moneta virtuale Bitcoin, che offre pagamenti veloci ed economici, attrarrà presto l’attenzione di potenziali criminali, che ne sfrutteranno tutte le vulnerabilità. Ci aspettiamo che, con la sua diffusione, aumenti anche il malware che ha come target questa nuova tecnologia.
A chi lavora nel settore IT, aggiungere qualche competenza inerente le architetture e le tecnologie legate alla sicurezza è certamente vantaggioso, anche in un’ottica futura di business, per lo sviluppo che investirà il settore.
Concludendo
L’informatica ci ha ormai abituati a cambiamenti radicali e rapidi, che influenzano le abitudini e il pensiero di tutti noi come mai avremmo pensato solo pochi anni fa. Vedremo se queste tendenze manterranno concretamente le proprie promesse o se alcune di queste rimarranno solo delle buzzwords insistenti ma poco presenti nella quotidianità dei non addetti ai lavori.
Riferimenti
[1] CoseNonJaviste – Programmare da professionisti
[2] Gartner Says Worldwide Traditional PC, Tablet, Ultramobile and Mobile Phone Shipments On Pace to Grow 7.6 Percent in 2014
http://www.gartner.com/newsroom/id/2645115
[3] jQuery
[4] Node.js
[5] Backbone.js
[6] Angular.js
[7] La voce DevOps su Wikipedia
http://en.wikipedia.org/wiki/DevOps
[8] IDC