Durante tutti questi anni siamo sempre andati alla ricerca di nuovi strumenti e sistemi che ci permettessero di ottimizzare il nostro lavoro e di migliorarci giorno dopo giorno.

Ti mostriamo qui una panoramica, che speriamo possa essere utile per comprendere la varietà dei tools e la professionalità indispensabile per chi opera nel mondo dello sviluppo e della programmazione.

Gli strumenti utilizzati in Softfour: il sistema operativo

Partiamo dalla base: il sistema operativo.

Quello dell’OS è uno dei primi aspetti che abbiamo valutato, e che nel tempo ci ha portato a scegliere i sistemi operativi più utilizzati sul mercato.

Inizialmente – correva l’anno 2000 – siamo partiti con Windows, da noi utilizzato per un anno circa. Spinti dalla necessità di avere un sistema più stabile, affidabile e sicuro siamo in seguito passati a Debian prima ed Ubuntu poi, entrambe note distribuzioni Linux. Per circa una decina di anni Linux è stato il nostro sistema operativo di riferimento, ma ancora mancava di un’esperienza d’uso completa e della connessione tra i vari dispositivi mobile ed il laptop. Nel 2010 siamo dunque passati a Mac, e ad oggi siamo degli utenti soddisfatti.

Sistemi di versionamento

Essendo programmatori dobbiamo lavorare col codice sorgente, ed è importante avere per tutti i nostri progetti un posto sicuro e facilmente consultabile.

Entriamo qui nel campo dei sistemi di versionamento, notevolmente evolutisi negli anni. Per quanto ci riguarda siamo partiti con CVS per poi passare al più moderno e diffuso GIT, il quale permette di lavorare più velocemente, di avere traccia delle variazioni al codice e di condividere con un team del lavoro svolto.

Solo su questo argomento andrebbe realizzato un articolo dedicato; per ora possiamo dire che GIT rappresenta per moltissime software house un punto di riferimento fondamentale non solo per gestire il codice, ma anche tutti i workflow automatici che possono essere configurati in GitLab o GitHub.

Linguaggi di programmazione

Come linguaggio di programmazione usiamo principalmente Java, Dart e C# a seconda del progetto che vogliamo seguire.

Programmatori al monitor mentre lavorano

Per tutto quel che riguarda lo sviluppo di integrazioni personalizzate, crawler, Api e soluzioni IoT, Java è il linguaggio scelto perché non ha limiti di piattaforma e può adattarsi a molteplici device con caratteristiche e risorse molto differenti.

Per la realizzazione di applicazioni mobile da qualche anno utilizziamo Flutter di Google che permette di scrivere app native sia per iOS sia per Android mantenendo un unico codebase e applicando pochissime customizzazioni per la singola piattaforma. In genere si inizia a sviluppare l’App su iOS, e una volta ultimata la si prova su Android. Se in passato questo passaggio richiedeva parecchi sforzi di adattamento, con Flutter spesso basta un semplice test.

Per le applicazioni Desktop o vecchie applicazioni mobile fatte con Xamarin utilizziamo C#; i progetti tendono a diminuire gradualmente negli ultimi anni senza mai morire del tutto.

Per il Web, in base alle caratteristiche del progetto e dalle librerie che si vorranno utilizzare per raggiungere determinate funzionalità usiamo sia Java che Dart.

Ambiente di sviluppo integrato (IDE)

Come IDE siamo passati da VisualAge for Java / Eclipse dei primissimi anni 2000, a Netbeans per una quindicina di anni, per poi svoltare nel 2019 ad IntelliJ. Al pari del discorso Mac, anche per gli IDE l’evoluzione è stata dettata dall’esperienza d’uso, sempre più completa e funzionale al nostro lavoro.

Per il linguaggio C# viene invece utilizzato VisualStudio, tuttavia in questo ambito ci sono molte alternative a disposizione.

Altri strumenti

Altri strumenti da noi utilizzati sono:

  • Editor di testi avanzati: utili per lavorare con svariati formati di file. In Softfour ci serviamo di SublimeText e VisualCode, entrambi utilissimi ed espandibili in funzionalità grazie a un’ampia gamma di plug in;
  • Collegamento ai database: per una ventina d’anni abbiamo utilizzato DBVisualizer. Nell’ultimo periodo abbiamo trovato valide alternative in DBeaver e DataGrip di JetBrains;
  • Collegamento a servizi REST: qui entrano in gioco Paw, Postman e Insomnia. Tutti questi strumenti consentono di lavorare sia con REST/JSON sia con GraphQL che ultimamente sta prendendo sempre più piede.

Consulenza e sviluppo software in outsourcing: contattaci

Hai bisogno di aiuto? Cerchi un supporto per lo sviluppo software in outsourcing? Contattaci subito!