Programmare

Un anno tutto da “programmare”

1 Flares 1 Flares ×
FacebookTwitterGoogle+tumblrLinkedIn

In autunno il tempo è clemente, le distrazioni diminuiscono, riprende a pieno regime l’attività lavorativa.
Anche nello sviluppo è il momento di fissare obiettivi, decidere cosa è rilevante e stabilire dove puntare il radar.

Cosa sta accadendo e cosa potrebbe cambiare nei prossimi dodici mesi?

L’ONNIPRESENTE CLOUD

Il cloud rimane, come nei mesi passati, un tema caldo, con i vendor principali molto impegnati nel convincerci a compiere la transizione verso un’infastruttura di computer esterna.

Alcune di queste opportunità sono davvero molto convincenti.
Microsoft sta investendo energie per fare di Azure un ecosistema ideale per i costruttori di applicazioni investendo su due fronti principali.

Il primo, il più ovvio, è la creazione di risorse online per applicazioni che si affacciano sul web.
Dopo qualche tempo di utilizzo reale dobbiamo riconoscere che la gestione di una batteria di servizi web con Azure è pratica e agevole e la possibilità di ospitare gratuitamente un’applicazione web, con una buona scelta di linguaggi, è un biglietto di ingresso molto interessante.

Il secondo filone è l’uso del cloud come infrastruttura per l’archiviazione di sorgenti e l’esecuzione di piani di test.
Microsoft offre una scelta di sistemi di archiviazione che vanno dallo spazio su disco a database Sql, gratuiti fino a una dimensione ragionevole (20 Mbyte).

Un’altro novità interessante è DocumentDB, un database NOSQL, che permette di archiviare dati in formato Json e interrogare il database con un linguaggio tipo Sql.

Per tenersi al corrente degli sviluppi di Azure, conviene aggiungere alla propria reading list azure.microsoft.com/blog.

Il cloud di Amazon continua a evolvere senza rallentare il passo da diversi anni, tanto che tutto quello che è concepibile offrire in un cloud su aws.amazon.com c’è.

La ricchezza dell’offerta può far girare la testa al primo impatto ma Amazon ha compiuto sforzi notevoli per non scoraggiare gli sviluppatori con un’interfaccia utente troppo complicata e, soprattutto, ha reso più facile capire quali risorse sono in uso e a quanto può ammontare la bolletta menisle.

Le novità più interessanti sono Zocalo e Cognito, che sono entrati in servizio agli inizi dell’estate.
Zocalo è un’infrastruttura aperta per la gestione documentale dove si possono archiviare documenti nei formati da ufficio più comuni e si può consentire agli utenti di vederli e modificarli su device che vanno dal telefono, al tablet, al computer.

Cognito è un progetto aperto per consentire alle applicazioni mobili di sincronizzare dati fra diversi device.
Un problema tipico, ma non esclusivo, dei creatori di giochi, che devono ricostruire 1e preferenze degli utenti e i loro mondi sui diversi device.

Due progetti a cui vale la pena dare un’occhiata.

L’UNIVERSO DEI LINGUAGGI

I dialetti di programmazione sono affascinanti nelle loro somiglianze e nelle loro differenze e le discussioni su quale sia la scelta migliore sono infinite. Più spesso non c’è molto da decidere: la piattaforma in uso detta le condizioni.

L’anno scorso è stato segnato da un nuovo linguaggio, Swift, al quale Apple si affiderà per il futuro delle sue applicazioni.
Swift ha fatto molto rumore ed è entrato di forza nella top 20 della lista di popolarità dei linguaggi del Tiobe index, su tiobe.com.

Tuttavia l’eccellente stato di salute di Objective-C e la residua instabilità delle beta di Swift hanno portato la comunità di sviluppatori a tornare a lavorare tranquillamente nel linguaggio titolare, abbassando la priorità alla sperimentazione.

Credo però che la tendenza sia destinata a invertirsi nel tempo, ma non nell’imrnediato.
Meglio così: abbiamo tempo per studiare e fare pratica nel nuovo linguaggio, mentre continueremo a realizzare con il vecchio.

Una situazione apparentemente simile si nota in casa Microsoft: Visual Basic 6 continua a rimanere in classifica e a piazzarsi un posto avanti a Visual Basic.NET (anche negli annunci di lavoro Visual Basic 6 si mantiene in buona posizione).

Cosa penso?
Beh anche se è lodevole la fedeltà degli utenti a una piattaforma stabilizzata, in questo caso non si tratta di prudenza, ma di pigrizia.
Sicuramente è vero che esistono sterminate basi di codice in Visual Basic 6 e applicazioni consolidate, così come ci sono milioni di righe di codice Cobol e Rpg ancora in esercizio.

Mentre i mainframe stanno quietamente nel retrobottega, le applicazioni VB sono in bella mostra su desktop che non possono essere aggiornati all’ultima release di sistema e questo è un male, soprattutto con Windows.

Insomma, anche se questo non è l’anno in cui Visual Basic 6 andrà in pensione (quello era il 2012) credo sia davvero ora di cominciare a aggiornarsi e rinnovare le applicazioni, magari riscrivendole proprio in C#.

Visual Basic.net infatti è piuttosto involuto, ancora più del suo antenato e c’è molto più codice in circolazione del linguaggio ispirato da Java.
Dovendo cambiare, si può cambiare del tutto, aprendo porte verso altri rnondi.

Java resta il linguaggio principe, secondo solo al C perché la comunità di sviluppatori C tende a essere molto presente nel web e sui forum.
Si tratta, infatti, degli sviluppatori più hard core, i più dedicati e quelli che si occupano dei progetti ad alta tecnologia.
Non c’è da stupirsi se hanno molto di cui discutere e su cui confrontarsi.

CONCLUSIONI

Riassumendo, non ci sono grandi terremoti, se non in casa Apple, per il resto lo sviluppo mainstream su Windows è in C# e lo sviluppo cross platform e server side resta ancorato a Java.
Sui vari Unix, quello che non si può fare in C converrà farlo in Assembler o in Python, secondo la direzione della complessità tecnologica.

Rimangono fuori dal quadro tanti linguaggi simpatici, come il Go di Google, ML o Erlang, che hanno nicchie molto esclusive.

TANTE PIATTAFORME

Le piattaforme applicative fra cui scegliere costituiscono un ventaglio abbastanza largo da costringere gli sviluppatori a lasciarne la maggioranza fuori dal quadro.

In primo luogo diamo uno sguardo alle macchine virtuali: Java Virtual Machine è l’ambiente primario per lo sviluppo per Android, anche se l’ambiente run time Dalvik (e meno ancora il prossimo ART) non è strettamente una macchina virtuale Java, mentre soluzioni come Xamarin e il progetto open source Mono portano l’ambiente e gli strumenti di lavoro abituali per .NET anche sui cellulari con iOS e Android.

Per quanto riguarda le piattaforme desktop, non ci sono variazioni rispetto all’anno precedente, salvo il fatto che la più popolare Windows sta mostrando in modo sempre più evidente la sua duplice faccia, grazie alla profusione di dispositivi mobili e convertibili in circolazione.

Dal punto di vista degli sviluppatori, la scelta di Microsoft è più ambiziosa e vincolante, perché non è possibile ignorare che l’applicazione in fase di creazione potrebbe essere eseguita su un desktop come su un dispositivo con schermo sensibile al tocco e senza tastiera; e non è possibile ignorare che un’applicazione dovrebbe uniformarsi al nuovo look piatto e senza finestre del desktop moderno.
In un certo senso, nell’elenco di piattaforme desktop, Windows andrebbe contato per due, o forse per tre, se consideriamo gli affezionati delle edizioni vintage.

Gli sviluppatori Apple, invece, ancora per qualche release possono contare sulla relativa omogeneità di uso fra iPhone e iPad e sulla continuità col passato di OS X, a parte il nuovo linguaggio.

Anche FirefoxOS ha fatto qualche timida comparsa nei negozi, ma difficilmente sarà sul radar nei prossimi mesi.
Android invece è vicino a uno scatto di unità nella release, con la prossima versione 5.0, ormai in arrivo.
Chi ha un Nexus può provare la developer preview in attesa della release ufficiale.

NUOVE TECNOLOGIE

Sul fronte delle aree tecnologiche, sembrano davvero in arrivo automobili con Android o iOS a bordo.
Con il senno di poi sembrerà così strano fra un anno o due che le interfacce utente rudimentali e la limitata funzionalità dei navigatori da auto siano rimaste immutate per così tanto tempo.

Chi è alla ricerca di spunti per il futuro, può iniziare a guardare le mosse ufficiali di Apple (apple.com/ios/carplay/) e di Android (android.com/auto/).
In entrambi i casi si tratta di applicazioni che richiedono la connessione di un telefono a un impianto radio compatibile.

LA TUA OPINIONE

Tu invece che ne pensi?
Quali saranno le nuove tendenze del nuovo anno?

FacebookTwitterGoogle+tumblrLinkedIn

Lascia un Commento

L'indirizzo email non verrà pubblicato.

È possibile utilizzare questi tag ed attributi XHTML: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

1 Flares Twitter 0 Facebook 0 Google+ 0 Pin It Share 0 LinkedIn 1 1 Flares ×