Frontend vs backend: quale ' è la differenza?

Frontend e backend sono due dei termini più utilizzati nel settore informatico; in un certo senso, sono diventati parole d’ordine. Dettano il tipo di lavoro che fai come sviluppatore di software, le tecnologie che usi e quanto vieni pagato.

Quindi, parliamo delle differenze tra questi due termini, perché esistono in primo luogo e dei diversi percorsi che puoi intraprendere nella tua carriera di sviluppo software.,

Rendering del sito

Per iniziare questo percorso, dobbiamo comprendere il concetto di rendering del sito. In parole povere, il rendering del sito significa generare o rendere l’output HTML. HTML è un linguaggio di markup che gli sviluppatori web utilizzano per creare pagine web. Si dice che il rendering del sito possa avvenire sia sul lato server che sul lato client, quindi cosa significa? Vale la pena notare che frontend e lato client sono sinonimi. Lo stesso vale per back-end e server-side.,

Rendering lato server (backend)

Non molto tempo fa, il rendering lato server, o lo sviluppo web back-end, era il modo de facto per creare siti web e applicazioni web. Si visita una pagina, si invia una richiesta di contenuto, il server elabora questa richiesta e crea una risposta che viene inviata al browser.

Quando un sito esegue il rendering lato server, tutti i processi coinvolti nella creazione di una pagina HTML che il browser Web può comprendere vengono gestiti su un server remoto che ospita il sito Web o l’applicazione Web., Ciò include l’interrogazione dei database per le informazioni e l’elaborazione di qualsiasi logica richiesta dall’applicazione Web.

Mentre il server remoto è occupato al lavoro, il browser Web è inattivo, in attesa che il server finisca di elaborare la richiesta e inviare una risposta. Quando viene ricevuta la risposta, i browser Web la interpretano e visualizzano il contenuto sullo schermo.

Rendering lato client (frontend)

Nei giorni più moderni, è emersa una nuova forma di rendering del sito chiamata rendering lato client o sviluppo front-end.,

Con il rendering lato client, il rendering del contenuto avviene nel computer anziché nel server Web remoto utilizzando il linguaggio de facto del web, JavaScript. In termini pratici, significa che un server è necessario solo per servire l’applicazione web raw, e il browser sarà incaricato di rendere questa applicazione nella sua forma finale, HTML. Significa anche che alcune delle logiche coinvolte nella creazione della pagina web, in particolare quella incaricata di gestire il modo in cui le cose vengono presentate all’utente sullo schermo (chiamata logica di presentazione) vengono gestite sul lato client.,

Il rendering lato client è diventato popolare con l’avvento delle librerie JavaScript come Angular, React e Vue.

Isomorphic rendering

Chiamato anche universal rendering, isomorphic rendering è una nuova tecnica utilizzata nello sviluppo web moderno. L’idea alla base del rendering isomorfo è quella di rendere un’applicazione Web sviluppata con un framework JavaScript come Angular, React o View, sul lato server la prima volta che viene caricata una pagina e sul lato client in seguito.,

Per complicare ulteriormente le cose, esiste un’altra forma di rendering chiamata pre-rendering che rende il contenuto in fase di compilazione.

Dove rendere un sito è una decisione che spesso si basa sul tipo di applicazione e demografia dell’applicazione e varierà da team a team e business to business.

Che cos’è lo sviluppo front-end?

Ora che comprendiamo i diversi tipi di metodi di rendering del sito, è più facile capire che lo sviluppo front-end è l’arte di creare siti e applicazioni Web che rendono sul lato client.,

Tecnologie utilizzate per lo sviluppo front-end

Mentre ci sono molti diversi tipi di tecnologie e stack, la maggior parte degli sviluppatori web front-end utilizzano HTML, CSS e JavaScript, gli elementi costitutivi de facto del web e framework lato client come Angular, React, Stencil e Vue.

Non tutto accade sul frontend, però. Le applicazioni renderizzate lato client si basano ancora su servizi e API che vengono eseguiti su server remoti back-end o sul cloud.

Quali sono alcuni lavori front-end?

  • Web designer: un web designer, avete indovinato, progetta siti web., Il titolo di lavoro di web designer è piuttosto ampio, però. Un web designer potrebbe essere solo qualcuno che progetta i siti in un programma come Photoshop o Fireworks e non potrà mai toccare il codice. Ma in un’altra posizione, un web designer potrebbe fare tutte le composizioni di progettazione in Photoshop e quindi essere responsabile della creazione di tutto l’HTML e CSS (e talvolta anche JavaScript) per andare avanti con esso.

  • User interface (UI) designer: questo è fondamentalmente un visual designer ed è generalmente focalizzato sul design., Di solito non sono coinvolti nell’implementazione del design, ma potrebbero conoscere HTML e CSS leggeri in modo da poter comunicare le loro idee in modo più efficace agli sviluppatori front-end.

  • User experience (UX) designer: i designer UX lavorano nel frontend, studiando e ricercando come le persone utilizzano i siti. Quindi, apportano modifiche attraverso molti test.

  • Front-end developer: chiamato anche un front-end designer, possono creare un sito senza alcun sviluppo back-end. Il sito che creerebbero senza uno sviluppatore web, o utilizzando il backend, è un sito statico., Un sito statico è qualcosa di simile a un sito per un ristorante o un parrucchiere. Non richiede alcuna informazione da memorizzare in un database. Le pagine rimarranno quasi sempre le stesse, a meno che non sia il momento di una riprogettazione. Uno sviluppatore front-end può essere richiesto di avere una conoscenza sui test, oltre ad essere esperto in HTML, CSS e JavaScript. Questa persona può o non può avere esperienza con la creazione del design in un programma di progettazione. Una versione diversa di questo titolo è front-end engineer. Le persone che lavorano con linguaggi front-end specifici come JavaScript developer sono anche considerati sviluppatori front-end.,

Che cos’è lo sviluppo di back-end?

Mentre lo sviluppo front-end riguarda il rendering di siti e applicazioni Web sul lato client, lo sviluppo back-end riguarda il rendering di queste app sul lato server. Ma è un po ‘ più coinvolto di così. Mentre la dichiarazione precedente è vera, gli sviluppatori di back-end creano anche servizi che elaborano la logica di business e accedono ad altre risorse come database, file server, servizi cloud e altro ancora., Questi servizi sono la spina dorsale di qualsiasi applicazione e possono essere accessibili e utilizzati non solo da applicazioni di rendering lato server, ma anche da applicazioni di rendering lato client.

Tecnologie utilizzate per lo sviluppo back-end

Quando gli sviluppatori di back-end creano app che eseguono il rendering sul lato server, utilizzano gli stessi elementi costitutivi degli sviluppatori front-end: HTML, CSS e JavaScript.

Gli sviluppatori di back-end lavorano anche con stack software che includono sistemi operativi, server Web, framework, linguaggi, API di programmazione e altro ancora., I framework, i linguaggi e le API di programmazione in questi stack vengono utilizzati per eseguire il rendering di siti e applicazioni Web lato server e per creare servizi che altre applicazioni possono utilizzare.

Gli stack noti includono.NET, MEAN e LAMP, ma ce ne sono molti altri, e ognuno include un linguaggio di programmazione di scelta, come c#, JavaScript, Java, Go, Python o PHP.

Che cos’è lo sviluppo full-stack?

Come sviluppatore, non devi accontentarti solo di frontend o backend; puoi fare entrambe le cose come sviluppatore full-stack. Questo è, nella mia esperienza, dove inizia il divertimento., Gli sviluppatori full-stack possono creare siti e applicazioni Web che eseguono il rendering sia sul lato client (frontend) che sul lato server (backend).

Creano anche servizi, componenti e API che incapsulano la logica di business, risolvono problemi aziendali specifici e accedono all’infrastruttura come database, file server, servizi cloud e altro ancora. Lavorano con lo stack completo ed è il meglio di entrambi i mondi.,

Sommario

Ormai, la differenza tra frontend e backend dovrebbe essere più evidente, così come le diverse attività svolte dagli sviluppatori che lavorano su entrambe le estremità del filo. In termini pratici, il frontend indica il browser e il backend, il server o, più recentemente, il cloud.

Se ti piacciono le interfacce utente, sei appassionato di sound design e ti piacciono gli aspetti visivi della creazione di app, allora forse il frontend è dove vuoi trascorrere il tuo tempo come sviluppatore di software., Il frontend è emozionante non solo visivamente, ma anche da un punto di vista di programmazione; vi permetterà di trascorrere infinite ore di scrittura logica che renderà il vostro sito guardare e comportarsi il modo in cui i progettisti destinati.

Se ti piace dedicare il tuo tempo a risolvere problemi aziendali, scrivere algoritmi, lavorare nel cloud e creare servizi e API, allora il backend è per te.

Se ti piacciono entrambi e ti senti ugualmente eccitato e a tuo agio con tutti gli aspetti della creazione di applicazioni Web, allora una carriera come sviluppatore full-stack è ciò che desideri.,

Qualunque sia il percorso scelto, non c’è mai stato un momento migliore per essere uno sviluppatore di software.

Author: admin

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *