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

Pubblicato: 2019-12-19

Pensi mai a cosa significhi veramente la parte front -end dello sviluppatore front-end? Una volta ho chiesto a Eric Meyer (che ha creato siti Web da quasi tutto il tempo in cui 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 odierei se mi chiamassi sviluppatore di browser web. Ma probabilmente non prenderà piede (e suona come se costruissi browser web). In qualità di 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 le poche altre lingue parlate dai browser Web (ad esempio, formati multimediali come SVG). O, forse ancora più comunemente spiegato, codice che alla fine viene elaborato in quei linguaggi 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. L'abbiamo imparato durante l'era del design reattivo. E soprattutto: 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

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

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

Resta in questo campo per un po' e vedrai queste librerie, linguaggi, processi di compilazione e, diamine, persino intere filosofie su come costruire al meglio siti Web che vanno e vengono come una marea lenta.

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

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

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

Le cose cambiano. Trovo sia vero che molti siti web di oggi sono più complessi dei siti web del passato. Soprattutto i grandi. I social network e i media player. I siti di prenotazione viaggi. Le vetrine dell'eCommerce. Gli strumenti di ingegneria. Questi siti sono iniziati in grande e sono solo diventati più grandi. Sono economie su se stesse con enormi team che le supportano. Questa complessità è causa di cambiamento nella tecnologia web e causa di attrito tra la nuova e la vecchia scuola (se possiamo dipingerla semplicemente).

​​Molte persone che lavorano nel settore tecnologico lavorano essenzialmente per un grande sito web. E quindi sentiamo parlare di queste persone il più delle volte. Queste persone costruiscono strumenti. Scrivono post sul blog, vanno su podcast, tengono discorsi. Aiutano a cambiare la tecnologia stessa, per soddisfare le loro esigenze.

​​Per tutto il tempo, il "front-end" è ancora solo il browser. I linguaggi dei browser, HTML, CSS e JavaScript sono ancora le tecnologie principali in gioco. Queste 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 comunque preoccuparsi degli utenti che utilizzano quei browser su quei dispositivi. La loro esperienza è il nostro lavoro. Gli strumenti ci aiutano solo a farlo, si spera.

​​Quindi 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 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 è ciò che è il front-end.

​​Quello 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ù elaborate 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 osservare il pendolo tornare indietro (siti pre-renderizzati!) e trovare una via di mezzo (JAMstack!).

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

  • Progettare l'intero sito dal più piccolo componente a intere pagine fino al livello URL
  • ​​Recupero dei tuoi dati dalle API e manipolazione dei dati secondo necessità per la visualizzazione
  • Gestire lo stato del sito da solo
  • ​​Mutazione/modifica dei dati tramite l'interazione dell'utente e l'immissione e la conservazione di tali dati nello stato e ritorno ai server tramite le API

​​Queste sono tutte cose che possono essere fatte nel browser ora, 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.

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

​​Mentre quel mucchio 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 prenderci cura degli utenti che utilizzano i browser Web sui dispositivi. Quindi dobbiamo recuperare alcuni dati. È fantastico, lo stiamo facendo al servizio della creazione di 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 creare un'interfaccia comprensibile per i nostri utenti in grado di evolversi senza creare un pasticcio incoerente. Quindi dobbiamo imparare una nuova tecnologia sconosciuta. Bene, è nostro compito mantenere un occhio vigile e assicurarci che alla fine ci sia qualcosa di nuovo per migliorare il nostro sito per gli utenti.

Buona fortuna!

Un'immagine di Chris Coyier che lavora alla sua scrivania.
Foto di Kimberly Bailey, la fotografa interna di Flywheel

Cosa c'è dopo: perché Chris Coyier sceglie Local e Flywheel per alimentare i suoi siti web

Scopri come Chris utilizza Local e Flywheel per portare i suoi siti al livello successivo. Scopri quali sono le sue funzionalità preferite, come si affida a Flywheel per migrare i suoi siti (gratuitamente!) e molto altro ancora! Clicca qui per saperne di più.