Lo stack tecnologico 2017 di DevInterface

devinterface-tecnologie-2017

Ciao a tutti. Con questo articolo vorrei descrivere le tecnologie che stiamo utilizzando quest'anno e che avranno sicuramente un aspetto chiave anche per il prossimo 2018.

Framework e linguaggi:

Ruby On Rails (Ruby) da sempre rappresenta la punta di diamante di DevInterface: lo stiamo utilizzando con successo fin dalle sue prime versioni (1.2.3) e praticamente dalla quando è nata la nostra azienda. Sicuramente la fetta più significativa del nostro sviluppo si concentra su Ruby e su Ruby on Rails appunto.

Django (Python) ha avuto un ruolo fondamentale negli scorsi anni, per poi affievolirsi nel 2016 ma tornando prepotentemente in auge quest'ultimo anno. In particolare, abbiamo deciso di affiancare al nostro CMS proprietario in Ruby, PlinioCMS, anche CMS realizzati con Django CMS. Questo per avere ancora più versatilità e poter soddisfare appieno ogni esigenza dei nostri clienti.

Node.js ha iniziato a fare la comparsa in DevInterface nello scorso 2016, dove abbiamo realizzato 2 applicazioni di API usando Loopback.io. Con l'avvento di ES6 e di async/await abbiamo iniziato ad usare Express.js in parecchie applicazioni ed API nel corso di questo anno. Contiamo di aumentare il suo utilizzo nel 2018.

Architetture:

Qui a DevInterface ci teniamo ad essere sempre al top delle tecnologie proponendo e realizzando architetture all'avanguardia. Il 2017 è stato sicuramente l'anno dei microservices, cioè piccole applicazioni con l'unico scopo di offrire un singolo servizio, interoperanti tra di loro tramite API REST o message broker (Rabbit MQ).

Ovviamente, non disdegnamo le classiche applicazioni web monolitiche, sempre potenti e di sicuro successo.

Infine, il 2017 è stato l'anno di prova delle web application basate esclusivamente su API e interfacce web client side. Sicuramente questa sarà l'architettura che useremo come standard per il prossimo anno.

Questo è stato anche l'anno della sperimentazione di Docker per lo sviluppo in locale. Probabilmente il 2018 poterà anche alla messa in produzione di infrastrutture basate su questo ambiente.

Tecnologie client side:

Vue.js e React.js sono entrati prepotentemente nel mondo web e da quest'anno fanno parte integrante del nostro stack tecnologico. In particolare, abbiamo realizzato un'applicazione puramente frontend client side in Vue.js collegandoci a delle API remote sviluppate in Rails ed usando JWT per l'autenticazione. Come accennato nel paragrafo precendente, questa architettura sarà la protagonista del nostro 2018.

Database:

A parte qualche vecchia applicazione in MySQL da mantenere, il nostro database di punta ora è PostgreSQL. La sua versatilità ci permette di usarlo come database relazionale; oppure come documentale salvando colonne in JSON; oppure implementando una ricerca fulltext o ricerca geospaziale.

MongoDB ha trovato il suo spazio in un'applicazione Node.js, data la sua naturale integrazione col mondo Javascript.

Redis viene sempre usato in modo estensivo prevalentemente come cache.

Per quanto riguarda le timeseries, utilizziamo di default InfluxDB.

Mobile:

Anche quest'anno abbiamo consolidato l'utilizzo di Ionic Framework e Angular 4 per la realizzazione di applicazioni mobile, interfacciandolo ad API realizzate in Express.js.

Se volete approfondire la conoscenza dei linguaggi di programmazione che usiamo nella nostra software house leggete le interviste realizzate su Python, Ruby on Rails e Node.js!

Se volete scoprire come realizziamo i progetti dei nostri clienti andate alla pagina metodologia di lavoro.