Andrea Dragotta - Sviluppatore Web

Mia foto di repertorio
Ciao! Io sono Andrea Dragotta, programmatore part-time specializzato in Javascript e React.
Sono rimasto affascinato da come si siano sviluppati i linguaggi web, rendendo accessibili a tutti applicazioni anche molto complicate. Per questo motivo ho iniziato a concentrarmi in modo particolare su Javascript, HTML e CSS. Tenendomi aggiornato con l’ecosistema che ruota intorno a questi linguaggi, ho conosciuto Astro e me ne sono innamorato. Ora lo uso al posto di Gatsby per generare il mio sito.

Cosa so fare

Questo è un elenco dei vari linguaggi e framework che sono in grado di usare. Comunque, potete anche andare a vedere una lista dei miei progetti in questa pagina. Oltre a quelli, principalmente ho lavorato a web app per uso interno all’azienda nella quale lavoravo, che ho deciso di non inserire nell’elenco (la maggior parte delle mie abilità le ho apprese con quei progetti interni).

Linguaggi di programmazione

image/svg+xml
Javascript

Javascript è il linguaggio che utilizzo di più. Mi piace molto perché è una specie di “lingua franca”, dato che si può usare per qualsiasi tipo di progetto, che sia un applicazione desktop, mobile, sito, script o altro. Con javascript ho avuto occasione di costruire siti (come quello che state visitando!), applicazioni web, una PWA, un’estensione e almeno uno script node. Inoltre, nella sezione “Progetti” del sito, potrete trovare anche una libreria che ho creato per facilitare la comunicazione fra gli script delle estensioni di Google Chrome. Potrete trovare altre informazioni su quello che so fare con javascript leggendo il mio blog.

image/svg+xml image/svg+xml
CSS e HTML

Le applicazioni web e i siti hanno bisogno anche della grafica oltre alla logica! Per questo motivo uso di frequente l’HTML e i CSS. In genere non ho grossi problemi a tradurre il design che ho preparato in codice, anche se i CSS sono famosi per non essere sempre intuitivi o semplici.

image/svg+xml
SCSS

Il preprocessore SASS è davvero una tecnologia interessante! Conosco i vantaggi che derivano dal suo utilizzo e l’ho utilizzata in vari progetti nel corso del tempo. Trovo molto comodi i mixin e la possibilità di utilizzare variabili di vari tipi nel codice, perché sento che danno molta più libertà e rendono il codice più modulare.

image/svg+xml
PHP

Ho lavorato per diverso tempo con PHP. Tutt’ora è il linguaggio che principalmente utilizzo quando devo scrivere del codice per il backend, perché la maggior parte dei server è in grado di eseguirlo senza particolari configurazioni. Mi è capitato di utilizzare un paio di framework e di avere a che fare con il codice di Wordpress. Comunque, quando ci si addentra in questi ambiti, trovo sempre molto utili le documentazioni!

image/svg+xml
Python

Python mi piace davvero molto! E’ in gara per essere il mio linguaggio preferito, anche se non ho modo di utilizzarlo troppo spesso. Finora ho programmato unicamente script. Con questi progetti ho imparato a fare scraping, ad aprire e maneggiare database SQLite e a consumare API. Mi piace approfondire la conoscenza che ho anche delle sintassi più avanzate di questo linguaggio, come i decoratori, i context manager e le comprehensions.

Rust

Quando ho iniziato a studiare programmazione a scuola, avevo imparato a programmare in C. Quando poi ho imparato Javascript, Typescript e Python, mi sono reso conto di quanto i linguaggi di basso livello siano importanti, per via delle loro performance e per come possono essere pubblicati. Per questo motivo sono stato attirato dalle tante interessanti funzionalità fornite da Rust. Trovo che Rust sia un ottimo linguaggio e direi anche uno dei miei preferiti. Le librerie sono ben pensate e sviluppate, e l’idea di poter gestire la memoria senza usare un Garbage Collector è senz’altro molto allettante.

Framework

image/svg+xml
React

Trovo che React sia un’ottimo framework per il frontend di un’applicazione. Mi sono convertito a React da almeno un anno, dopo aver usato per diverso tempo AngularJS. Inizialmente ho avuto un po’ di difficoltà a comprendere il suo funzionamento, ma ora sento di averci preso la mano. Dato che mi piace molto, ho deciso di utilizzare questo framework per sviluppare il mio sito.

Astro

Recentemente ho deciso di approfondire Astro, scoprendo poi che era esattamente ciò che ho sempre voluto per il mio sito: un vero e proprio generatore di siti statici che non include alcun codice javascript di default! Ho deciso quindi di riscrivere interamente il mio sito per utilizzare questo nuovo framework. Questo lavoro è ora terminato, ed è stato molto più semplice e piacevole di com’è stato originariamente lavorare con Gatsby.

image/svg+xml
Lumen

Ho utilizzato Lumen come backend PHP per una web app. Ho quindi imparato come implementare varie route, come interfacciarmi con un database mysql e come implementare autenticazioni e permessi. Trovo che sia uno splendido framework, leggero e veloce da impostare, per creare un semplice backend di tipo REST. Purtroppo, al momento è un progetto che è stato deprecato, ma il suo spirito rimane vivo nella nuova struttura modulare di Laravel.

Strumenti

image/svg+xml
Git

Git è uno strumento magnifico. L’ho imparato appena uscito da scuola, e ammetto che mi ha causato dei grossi mal di testa! Ora però sono in grado di utilizzarlo per il mio lavoro di tutti i giorni, anche se, lavorando da solo, ho poche occasioni di provarlo nell’ambito di un team. Mi ha colpito molto come alcuni strumenti lo utilizzino per pubblicare in modo estremamente rapido il proprio codice su un web server o un’altra piattaforma, in genere con un semplice “git push”.

image/svg+xml
Github

Utilizzo github da un po’ di tempo ormai, e in particolare da quando hanno consentito di caricare repository privati. Penso sia il miglior posto dove condividere il proprio lavoro e sviluppare progetti open-source. Potete visualizzare il mio account github a questo link.

image/svg+xml
VS Code

Visual Studio Code mi ha servito bene per diversi anni. Tutt’ora trovo che sia uno strumento efficace, pratico e molto utile. La grafica è leggera ed è possibile personalizzarlo a piacere. Trovo molto comodo anche avere il terminale integrato e varie funzioni che permettono di risalire alla dichiarazione (o ai riferimenti) di una variabile.

Neovim

Dopo VSCode, la leggerezza ed estrema possibilità di personalizzazione mi ha portato a utilizzare Neovim come IDE a tempo pieno. Lo utilizzo per scrivere codice, per prendere note e per scrivere il contenuto di questo sito. Anche se richiede parecchio tempo per riuscire a renderlo proprio, ne vale decisamente la pena.

image/svg+xml
Node

Node.js è uno strumento che trovo molto interessante. L’ho utilizzato per il progetto che ho portato alla mia tesi di maturità, dove l’ho sfruttato per il backend di un gioco RPG multiplayer (implementando praticamente tutto da zero). Poter utilizzare javascript nei server apre molte porte agli sviluppatori frontend come me!

image/svg+xml
Affinity Suite

Ho comprato la suite d’affinity verso metà 2020, e devo dire che penso sia fantastica! Uso Affinity Designer per creare dei prototipi di layout per siti o applicazioni che devo sviluppare, oltre che per piccoli lavori di design, quando necessario. Ho avuto modo di usare anche Affinity Publisher in un’azienda per la quale ho lavorato. Affinity Photo è il programma in cui ho meno esperienza, dato che sono abituato ad usare GIMP per fare modifiche veloci alle immagini, ma ho comunque avuto modo di usarlo e mi trovo abbastanza bene.

Contattami

Se vuoi contattarmi per un lavoro, puoi inviare un’email a info@andreadev.it