Lo sviluppo Web non è solo una cosa. Comprende più skillset e ci sono diversi tipi di carriere nello spazio di sviluppo web. Tre termini usati spesso sono "front-end", "back-end" e "full stack". Ecco le principali differenze tra i tre.
Sviluppo Web front-end
Lo sviluppo front-end, mentre i suoi componenti sono in continua evoluzione, si occupa essenzialmente delle parti rivolte verso l'esterno di un sito Web o di un'applicazione web. Al suo interno, lo sviluppo front-end coinvolge HTML, CSS e JavaScript.
- HTML : HyperText Markup Language, o HTML, è il componente strutturale chiave di tutti i siti Web su Internet. Senza di esso, le pagine Web non possono esistere.
- CSS : i CSS aggiungono lo stile all'HTML. Mi piace usare l'analogia che l'HTML è come una faccia e il CSS è come il trucco.
- JavaScript : JavaScript o JS si è evoluto negli ultimi anni. In relazione allo sviluppo front-end, JS è importante perché aiuta a rendere le pagine Web interattive.
In generale, il front end è associato ai principi di layout e design. Tuttavia, gli sviluppatori front-end non sono necessariamente designer.
Fondamentalmente, gli sviluppatori front-end costruiscono l'aspetto esteriore: le pagine del sito web che gli utenti vedono. Ciò significa che lo sviluppatore front-end deve prendere in considerazione la leggibilità e l'usabilità del sito e / o dell'applicazione.
Inoltre, il front-end viene eseguito sul client, ovvero sul computer locale dell'utente, nella maggior parte dei casi, il browser web. E le informazioni non sono memorizzate sul lato client.
Sviluppo Web back-end
Lo sviluppo web di back-end è ciò che accade dietro le quinte. Il back-end abilita l'esperienza front-end.
Per semplificare le cose, pensa al front-end come la parte dell'iceberg sopra l'acqua. È ciò che l'utente vede: il sito dall'aspetto elegante. Il back-end è il resto del ghiaccio; non può essere visto dall'utente finale, ma è l'elemento più fondamentale di un'applicazione web. Il back-end viene eseguito sul server o, come viene spesso chiamato, "lato server".
A differenza dello sviluppo front-end (che utilizza principalmente HTML, CSS e JavaScript), lo sviluppo web back-end può contare su una gamma di linguaggi e framework.
Alcune lingue popolari utilizzate nel back-end includono:
- Ruby (usato spesso in combinazione con il framework Rails - AKA Ruby on Rails)
- Python (che viene spesso utilizzato con il framework Django sul back-end)
- PHP (il famoso CMS di WordPress utilizza PHP sul suo back-end - PHP ha alcuni framework popolari, uno dei quali è Laravel)
- Node.js (sempre più popolare - questo è un ambiente di back-end per le app Web create con JavaScript)
Tuttavia, affinché i siti Web e le applicazioni Web su larga scala funzionino, è più che un linguaggio e una struttura di back-end. Tutte le informazioni su un sito Web o un'applicazione devono essere memorizzate da qualche parte.
È qui che entrano i database. Gli sviluppatori di back-end gestiscono anche questi.
( Nota : è possibile creare un sito Web senza un database utilizzando solo HTML e CSS.Questo sarebbe un sito statico e sarebbe molto meno flessibile.Tuttavia, un sito che si basa su informazioni da generare dinamicamente- Facebook, Yelp, qualsiasi sito di e-commerce - necessita di un database.)
I database popolari includono:
- MySQL
- PostgreSQL
- MongoDB
- E altri
In genere determinati linguaggi / framework di back-end richiedono un determinato database. Ad esempio, il framework full stack MEAN richiede MongoDB.
Oltre a conoscere un linguaggio / framework di back-end e database in esecuzione, gli sviluppatori di back-end devono anche avere una conoscenza dell'architettura del server.
La configurazione corretta di un server consente a un sito di funzionare velocemente, senza arresti anomali e di non dare errori agli utenti. Questo rientra nel dominio dello sviluppatore di back-end perché la maggior parte degli errori si verifica nel back-end, non nel front-end.
Stack completo
Sì, avete indovinato: lo stack completo è la combinazione sia del front end che del back end.
Uno sviluppatore full stack è un tuttofare. Sono responsabili per tutti i livelli di sviluppo, da come il server è impostato per il CSS relativo alla progettazione.
In questi giorni, c'è così tanto che va nello sviluppo del web che è quasi impossibile gestire entrambe le parti. Mentre molte persone possono rivendicare lo stack completo, o in effetti lo sono, in genere si concentrano di più su un lato: il client o il server. (AKA la parte anteriore o posteriore).
Nelle aziende / startup più piccole, una singola persona sarebbe più probabilmente responsabile di tutti i lati dello spettro di sviluppo web. Tuttavia, in aziende più grandi, le persone lavorano su team e hanno ruoli specializzati: uno si concentra esclusivamente sull'architettura server, un altro (o poche persone) sul front-end, ecc.
Conclusione
Lo sviluppo Web ha molte facce e si evolve di più ogni giorno. C'è molto da imparare, ma non ti senti sotto pressione per imparare tutto in una volta. Ricorda, negli ambienti di lavoro, di solito fai parte di una squadra con altri. Concentrati sull'affinamento delle tue abilità in un aspetto dello sviluppo web alla volta. Non lasciarti travolgere e sarai un professionista prima che tu lo sappia.