DotEnv at work

Tecnologie e competenze al tuo servizio

Le web software solutions di DotEnv sono realizzate attraverso l’utilizzo delle più recenti tecnologie di programmazione disponibili: ci teniamo infatti ad essere sempre aggiornati ed al passo con lo sviluppo tecnologico, trovando il giusto compromesso tra novità e stabilità delle strumentazioni, per poter garantire una sempre migliore performance.

Partiamo però dalla base di ogni nostro progetto, ovvero l’ascolto del cliente e l’analisi delle esigenze specifiche. Questo ci permette di creare soluzioni personalizzate e cucite su misura intorno al cliente ed è proprio per questo motivo che definiamo “sartoriale” il metodo utilizzato. 

Tecnologie utilizzate

Nel momento in cui si inizia a costruire un nuovo progetto software, a maggior ragione se personalizzato, è fondamentale valutare le varie tecnologie a disposizione, considerando innanzitutto i fattori essenziali che dovrà avere la soluzione creata: requisiti funzionali, non funzionali e aspetto grafico del prodotto. 

Da qui, la scelta della tecnologia più adatta a supportare il progetto. 

Il team di DotEnv utilizza diverse tecnologie, delle quali vi presentiamo un breve excursus.

La business logic, il cuore dei nostri applicativi, viene sempre gestita tramite api e servizi, che ci servono sia per determinare un certo funzionamento, che per applicare logiche di integrazioni bidirezionali verso applicativi e gestionali già esistenti.

Sviluppiamo api (application programming interface) solide e prestanti in php, tramite Symfony Framework. Quando si parla di microservizi e di praticità, scegliamo Node.js e Express.js.

La qualità di un software è argomento molto sensibile (ne  parleremo in un prossimo articolo) e può essere misurata tramite strumenti oggettivi, ma anche e soprattutto dal cliente finale in merito alle anomalie riscontrate, regressioni di funzionalità e solidità del rilascio.

In DotEnv siamo abituati a gestire la robustezza e solidità del codice applicativo, testando sia in termini di funzionalità, che di integrazione, che di atomicità tramite tool di testing e di code quality.

Questa gestione ci permette di essere sicuri che una funzionalità rilasciata oggi faccia esattamente quello che il cliente ci ha richiesto e soprattutto non crei anomalie su funzionalità rilasciate anche anni prima.

Capita spesso che la produzione non possa fermarsi o che non vi sia la possibilità di un fermo applicativo di ore o giorni: per questo motivo aderiamo al binomio della CI/CD (Continuous Integration/Continuous Delivery) che per un cliente non tecnico pare essere cosa ovvia e implicita, ma di fatto non lo è. Infatti adottiamo tool e strumentazioni di versionamento, controllo e rilascio per le nostre applicazioni che favoriscono e sposano a pieno una integrazione e rilascio continuo, in maniera completamente trasparente all’utente finale e all’applicativo in ambiente di produzione senza alcun fermo o aggiornamento che comporti un blocco.

Progettiamo i design di UI/UX (User Interface/User experience) per poi sviluppare interfacce web tramite alcuni framework JS, in base alla necessità. 

Realizziamo frontend (con o senza TypeScript) in React e/o Vue.js e sviluppiamo app ibride e native: quando si tratta di app ibride utilizziamo NativeScript con Vue.js. Abbiamo anche esperienza con ReactNative e, purtroppo o per fortuna, con Titanium Mobile.

La bellezza del nostro lavoro è che si può arrivare alla stessa soluzione mediante diverse strade, tutte valide e percorribili: noi abbiamo sposato queste tecnologie che, unite al project flow sviluppato e messo a punto negli anni, ci permettono di creare soluzioni sempre diverse e adatte al cliente.