Cosa significa essere uno sviluppatore front-end nel 2020 (e oltre)
Pubblicato: 2019-12-19Pensi 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.
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.
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.
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!
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ù.