Cosa significa essere uno sviluppatore front-end nel 2020 (e oltre)

Pubblicato: 2023-04-21

Pensi mai a cosa significhi veramente la parte front-end dello sviluppatore front-end ? Una volta ho chiesto a Eric Meyer (che costruisce siti web da quasi quanto ci sono stati siti web) se sapeva cosa significasse il termine nei primissimi giorni, e ha detto di sì. Quindi, non è un titolo o una posizione nuovi di zecca, ma è sicuramente cambiato nel corso degli anni.

"Front-end" significa essenzialmente browser web. Mi considero uno sviluppatore front-end e onestamente non lo odierei se mi chiamassi sviluppatore di browser web. Ma probabilmente non prenderà piede (e suona come se costruissi browser web). Come sviluppatore front-end, lavori a stretto contatto con i browser Web e scrivi il codice che viene eseguito in essi, in particolare HTML, CSS, JavaScript e la manciata di altri linguaggi parlati dai browser Web (ad esempio, formati multimediali come SVG). O, forse ancora più comunemente spiegato, codice che alla fine viene elaborato in quelle lingue che i browser comprendono. Questo è il tuo territorio come sviluppatore front-end!

I browser non esistono da soli, funzionano su un ampio panorama di dispositivi. Lo abbiamo imparato attraverso l'era del responsive design. E, cosa più importante: gli utenti utilizzano quei browser su quei dispositivi. Nessuno è più vicino all'utente degli sviluppatori front-end. Quindi gli sviluppatori front-end scrivono codice per le persone che utilizzano browser che funzionano su un'ampia varietà di dispositivi.

Immagine di 7 mani che tengono diversi dispositivi mobili come telefoni, laptop e tablet.
Immagine da Shuttershock

Gestire questo enorme panorama di utenti, dispositivi e browser è un lavoro a sé stante! Penserei che non capita tutti i giorni di pensare filosoficamente al proprio titolo di lavoro, e va bene; stiamo solo riflettendo un po' con il tuo vecchio nonno Chris.

​​Se ti sei appena laureato in un bootcamp di programmazione e la tua esperienza nella creazione di siti Web è piuttosto ristretta e nuova, potresti essere perdonato se pensi allo sviluppo front-end come "la roba di React" e allo sviluppo back-end come "il nodo roba" o "la roba di Python", come sono i sapori più caldi di questi tempi. Non ti sbagli neanche tu. React è generalmente utilizzato come framework front-end (è letteralmente JavaScript che viene eseguito nei browser). Node e Python sono esempi di linguaggi che in realtà non funzionano nei browser web; sono costruiti per funzionare su server web (uhh, computer).

Rimani in questo campo per un po' e vedrai queste librerie, linguaggi, processi di creazione e diamine, persino intere filosofie su come creare siti web al meglio andare e venire come una marea lenta.

Potresti assistere a qualche veterano che agita il pugno di tanto in tanto, urlando che dovremmo imparare dagli errori del passato. Potresti anche assistere ad alcuni giovani particolarmente chiassosi che agitano i pugni altrettanto in alto, dichiarando il passato un contesto irrilevante e non più un utile punto di discussione.

Immagine di un bambino sciocco e l'altro sembra molto arrabbiato e sta agitando il pugno.
Immagine da Shuttershock

Hanno ragione entrambi, probabilmente. Finché nessuno è cattivo, fa tutto parte del flusso.

Le cose cambiano. Trovo vero che molti siti web di oggi sono più complessi dei siti web del passato. In particolare quelli grandi. I social network e i lettori multimediali. I siti di prenotazione viaggi. Le vetrine dell'e-commerce. Gli strumenti ingegneristici. Questi siti sono partiti in grande e sono solo diventati più grandi. Sono economie su se stesse con enormi team che le supportano. Questa complessità è una causa di cambiamento nella tecnologia web e una causa di attrito tra la nuova e la vecchia scuola (se possiamo dipingerla così semplicemente).

​​Molte persone che lavorano nella tecnologia lavorano, essenzialmente, per un grande sito web. E così sentiamo queste persone più spesso. Queste persone costruiscono strumenti. Scrivono post sul blog, vanno sui podcast, tengono discorsi. Aiutano a cambiare la tecnologia stessa, per soddisfare le loro esigenze.

Nel frattempo, il "front-end" è ancora solo il browser. I linguaggi dei browser, HTML, CSS e JavaScript sono ancora le tecnologie di base in gioco. Quelle lingue si evolvono, così come i browser stessi, ma più lentamente. Fanno esattamente l'opposto dello slogan preferito della Silicon Valley: muoviti velocemente e rompi le cose . Si muovono lentamente e molto raramente rompono qualcosa.

​​Essere uno sviluppatore front-end significa ancora prendersi cura degli utenti che utilizzano quei browser su quei dispositivi. La loro esperienza è il nostro lavoro. Gli strumenti ci aiutano solo a farlo, si spera.

​​Allora cosa stai facendo come sviluppatore front-end?

  • ​​Stai eseguendo il design in modo tale che appaia bene su qualsiasi schermo
  • Stai applicando la semantica al contenuto
  • ​​Stai costruendo l'interfaccia utente in modo astratto in modo tale da poter riutilizzare parti e stili in modo efficiente
  • Stai considerando l'accessibilità di ciò che viene visualizzato nel browser
  • ​​Sei preoccupato per le prestazioni del sito, il che significa che hai a che fare con quanto grande e quante risorse vengono utilizzate dal browser.

​​Queste cose sono sempre state vere, e lo saranno sempre, dal momento che sono fondamentalmente preoccupazioni a livello di browser e questo è il front-end.

​​Ciò che sta cambiando è che il browser è in grado di lavorare sempre di più. Ci sono tutti i tipi di ragioni per questo, come le API del browser che diventano più capaci, le librerie che diventano più fantasiose e i computer che migliorano, in generale. Scaricare il lavoro dal server al browser ha avuto sempre più senso nel corso degli anni (app a pagina singola!). Anche se è interessante vedere il pendolo tornare indietro (siti pre-renderizzati!) e trovare una via di mezzo (JAMstack!).

Lo sviluppo front-end in questi giorni potrebbe anche includere:

  • ​​Architettura dell'intero sito dal componente più piccolo a intere pagine fino al livello dell'URL
  • ​​Recuperare i propri dati dalle API e manipolare i dati secondo necessità per la visualizzazione
  • Gestisci da solo lo stato del sito
  • Mutazione/modifica dei dati attraverso l'interazione e l'input dell'utente e persistenza di tali dati nello stato e ritorno ai server tramite API

​​Queste sono tutte cose che possono essere fatte nel browser ora, tanto per gli occhi spalancati di questo vecchio sviluppatore. È un mucchio di responsabilità se consideri che è in cima a tutte le cose che devi già fare.

Un'immagine di alcune persone diverse che guardano in un grande pagliaio.
Immagine da Shuttershock

​​Mentre quel pagliaio di lavori tende a crescere nel corso degli anni, la luce guida che abbiamo come sviluppatori front-end non è cambiata molto. La nostra responsabilità principale è ancora quella di prenderci cura degli utenti che utilizzano i browser Web sui dispositivi. Quindi dobbiamo recuperare alcuni dati. Fantastico, lo stiamo facendo per costruire una pagina veloce, semantica e accessibile per soddisfare le esigenze dei nostri utenti. Quindi dobbiamo costruire un sistema di progettazione. Fantastico, lo stiamo facendo per costruire un'interfaccia comprensibile per i nostri utenti in grado di evolversi senza creare confusione incoerente. Quindi dobbiamo imparare alcune nuove tecnologie sconosciute. Bene, è nostro compito tenere d'occhio e assicurarci che la novità sia in definitiva lì per migliorare il nostro sito per gli utenti.

Buona fortuna!