Sviluppo Web front-end vs. back-end vs. full-stack

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.

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:

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:

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.