Tecnologie e strumenti per il 2018: una lista dei desideri

[Questo post è stato pubblicato anche su Linkedin]

Il 2017 è agli sgoccioli e come ogni anno è tempo di bilanci e di liste

Bilanci, sia personali che professionali, sull’anno che si avvia a concludersi, e liste di buoni propositi per il nuovo anno (oltre ovviamente a quelle dei regali, da inoltrare a Babbo Natale).

Per l’anno che sta arrivando, personalmente ho preparato un’ulteriore lista: quella delle tecnologie e degli strumenti che mi piacerebbe studiare, approfondire e (possibilmente) applicare nel mio lavoro, a partire dal 2018.

Non ho la sfera di cristallo e non ho mai avuto l’abitudine di seguire l’ultima moda, per cui nella mia wishlist ho infilato sia tecnologie emergenti, sia strumenti un po’ più stagionati. Il criterio principale con cui ho scelto ciascun candidato è la curiosità, supportata però da una buona dose di valutazioni riguardo i trend tecnologici del momento (ottimo punto di partenza rimane il Technology Radar redatto annualmente da ThoughtWorks).

Ecco allora la mia lista dei desideri “tecnologici” per il 2018.

Spring 5 + Spring Boot 2

Da fedele utilizzatore di Spring mi piace tenermi aggiornato sulle ultime evoluzioni del framework.

Spring

La versione 5, rilasciata a settembre di quest’anno, supporta pienamente Java 8 e introduce importanti variazioni rispetto alle generazioni precedenti.

Per quanto riguarda il cugino Spring Boot, rimango in paziente attesa del rilascio della versione 2, previsto per i primi mesi del nuovo anno.

Groovy

Non proprio l’ultimo arrivato, ma, a mio parere, degno di attenzione.

Groovy

Ho iniziato a interessarmi a Groovy piuttosto tardi, giusto un anno fa, scoprendo in questo linguaggio un ottimo alleato di Java.

Aspetti particolarmente interessanti sono: l’estrema espressività del linguaggio, la curva di apprendimento praticamente piatta per chi lavora con Java e il supporto nativo alle closure.

Vue.js

Non sono mai stato un grande fan del JavaScript, né dei framework MVC lato-client. Appare, però, sempre più evidente come l’architettura di molte applicazioni benefici fortemente di questa progressiva “front-endizzazione”.

Vue.js

Dovendo scegliere di studiare uno strumento adatto alla costruzione di applicazioni single-page, ho deciso di optare per qualcosa di “leggero”.

Vue.js è sembrato subito il candidato ideale. Potente e flessibile, mi ha spinto a rivalutare JavaScript e a concedergli una seconda possibilità.

Micro-framework/micro-library

Da qualche tempo ero alla ricerca di strumenti “agili” che mi potessero aiutare nella costruzione di piccole applicazioni.

SparkJava

L’obiettivo era quello di costruire uno stack minimale di tecnologie, da utilizzare in situazioni in cui non fosse necessaria la “potenza di fuoco” di un framework come Spring.

Durante la mia ricerca ho incontrato diversi progetti molto interessanti che mi piacerebbe approfondire in un prossimo futuro.

Primo fra tutti, Spark: un simpatico micro-framework per la creazione di web application e REST service.

Altro progetto da tenere d’occhio è sicuramente Ratpack, utile anch’esso per implementare REST API.

Per l’accesso ai dati, invece mi affiderei a sql2o, libreria minimale, ma molto efficace, per lavorare agilmente con JDBC. Per progetti leggermente più complessi, la scelta potrebbe invece cadere su ActiveJDBC.

Se infine sentissi la mancanza della dependency injection, potrei sempre fare affidamento sull’eccellente Guice di Google.

RxJava

Altra moda(?) che cercavo di evitare accuratamente era quella del reactive-a-tutti-i-costi. Ma a quanto pare, negli ultimi tempi, le definizioni “event driven” e “non blocking” stanno simpatiche proprio a tutti; per cui non posso più ignorare l’onda che cresce…

ReactiveX

Il progetto ReactiveX (Reactive Extensions) e la sua implementazione per JVM, RxJava, potrebbero rappresentare un ottimo punto di partenza per cominciare a sperimentare la programmazione event-based.

E voi?

Credo di aver messo molta carne sul fuoco per il nuovo anno, ma mi accontenterei di padroneggiare decentemente almeno due o tre di questi strumenti…

E voi cosa avete in cantiere per il 2018?

Quali tecnologie vi piacerebbe sperimentare nei vostri prossimi progetti?

Se vi va, parliamone nei commenti!

Buono studio e buon lavoro! :-)

A presto,

David