Non capisco davvero "Backend / Serverside" quando si tratta di sviluppo web?


18

Nel mondo dello sviluppo Web, cosa fanno esattamente i programmatori backend / lato server? Immagino di non capire veramente l'intero concetto.

Ho fatto i layout HTML / CSS e il design del sito Web e un po 'di SQL con PHP (migliorando ancora le mie capacità, è più un progetto secondario per me). Ho anche fatto una piccola quantità di JavaScript / JQuery.

Ma non capisco il lavoro di "backend", come i linguaggi di scripting (Rails / Python / etc) e simili. Che cosa "fai" esattamente con loro?


8
Dove pensi che stiano andando le domande frequenti e come di questo sito e come?
Mayank

Risposte:


17

Se hai utilizzato PHP, hai svolto un lavoro lato server!

In parole povere, il codice sul lato client viene eseguito sul tuo computer, nel tuo browser Web e il codice sul lato server viene eseguito su un computer su Internet e i risultati del calcolo sul lato server vengono quindi inviati su Internet al tuo browser.

Quando hai scritto il codice PHP che eseguiva le istruzioni SQL, le chiamate SQL venivano effettuate sul computer remoto (il server) e quel risultato - in genere sotto forma di HTML generato - viene quindi inviato su Internet al browser.

JavaScript, d'altra parte, viene eseguito nel tuo browser. Lo stesso vale per i CSS.

Scopri la differenza tra la programmazione lato client e lato server per ulteriori informazioni.


13

La premessa di base è:

inserisci qui la descrizione dell'immagine

L'utente dà il suo input, lo invia su una rete di qualche tipo e il server quindi fa la magia in base all'input.

Fondamentalmente vuoi che tutta la sicurezza e la validazione siano eseguite sul lato server. Con le bellezze che eseguono il lato client, come la convalida dei moduli discreta (devi comunque convalidare il lato server!).

La grande domanda: perché?

Gli utenti possono modificare le informazioni sulla propria macchina. Ad esempio, vedi i game trainer che modificano i valori di memoria per consentire agli utenti di "hackerare" il gioco. Se fai le cose fondamentali sulla tua macchina, nei tuoi locali fisici, riduci significativamente le possibilità che qualcuno manometta i tuoi controlli di sicurezza.


6
Non hai usato cerchi a mano libera. :(
glasnt

Ok, allora qual è esattamente il punto dei frame delle applicazioni Web?

3
@Mercfh: per semplificare. Ti danno le basi su cui costruire la tua visione. Ti vuole costruire un framework di autenticazione? Che ne dite di uno per gestire le date e le viste, i controller e il routing. Non credo che a meno che non fosse un esercizio accademico. Volete un framework perché inizialmente avevate un problema da risolvere, e la gestione delle date non lo era. :)

0

progettate cose front-end quando progettate sistemi che interagiscono con il client dei vostri sistemi. Notate qui che la parola client è piuttosto grande, ma fondamentalmente significa che state lavorando sul front-end quando fornite un'interfaccia al mondo esterno.

La maggior parte dei siti Web sono solo front-end, ovvero forniscono informazioni al mondo esterno e la maggior parte delle volte queste informazioni possono essere archiviate semplicemente come testo nei file HTML.

Progettare il back-end quando è necessario fornire servizi e incapsulare funzionalità che verranno consumate dal front-end. Ciò consente di spostare parte del carico di lavoro dal client (front-end) al server (back-end). Lo farai nei casi in cui devi coordinare le informazioni di diversi client che potrebbero accedere al tuo sistema contemporaneamente. O se è necessario utilizzare un repository di dati centrale per raccogliere dati dinamici, o di nuovo se sono necessari alcuni requisiti di sicurezza specifici. Questo elenco non è esaustivo, ma solo brevi esempi.

quindi, per farla breve, Front-end (client) presenterà informazioni al mondo esterno. Di solito questi sono umani attraverso una sorta di interfaccia grafica o HTML o altro.

Il back-end fornirà i mezzi per centralizzare i servizi da utilizzare per il tuo front-end. L'uso di un back-end non è obbligatorio e aggiunge complessità a un sistema, ma consente di gestire meglio la complessità inerente al sistema che si sta tentando di costruire.

Ad esempio, è possibile fornire un servizio come un wiki esclusivamente attraverso il front-end, ma avrà molte limitazioni che l'utilizzo di un back-end per archiviare i dati e servirli al front-end risolverebbe in modo più naturale.


La tua spiegazione è ottima, tranne per il fatto che dici che la maggior parte dei siti Web sono solo front-end. Forse nel 2003, ma oggi ho detto che "la maggior parte", come nella maggior parte, ha alcune interazioni back-end / database.
Kyle,

Guardando la SO, Facebook e tutti i paesi del mondo, si relegherebbe un sito web statico al museo, ma ci sono ancora molti siti, prime pagine per aziende ecc. Detto questo, hai ragione sul fatto che tende a diminuire un po 'perché installare semplicemente wordpress e modificare un po' il CSS otterrebbe lo stesso risultato in un modo molto più semplice da mantenere. Nota che il front-end designa anche l'API RESTfull che il tuo sito espone mentre il back-end è il modo in cui questa API viene implementata.
Newtopian,

0

Il front-end è quello che viene eseguito nel browser, il back-end come PHP viene eseguito su un server e memorizza i dati nel database e fa quel tipo di cose.


0

A mio avviso, il lavoro sul lato server (che è già stato menzionato è tutto ciò che viene eseguito sul server da cui si accede al sito Web) è ciò che dà vita reale a un sito. Gran parte delle funzionalità possono ancora essere ottenute utilizzando le tecnologie lato client, ma a mio avviso si tratta di un approccio molto più complicato e molto meno sicuro in quanto i client hanno accesso a tutto ciò che è nel codice lato client. PHP e ASP sono in qualche modo linguaggi di programmazione ibridi intesi quasi esclusivamente a servire il contenuto di una pagina Web in un browser dopo aver svolto alcune attività di calcolo. Quando inizi a lavorare con Python, Ruby, Java o altri linguaggi di programmazione hai più potenza e capacità ma un po 'più di lavoro per inviare le informazioni risultanti al client alla fine del processo.


0

Esistono due lati per qualsiasi app / sito Web tipico.

  1. Front Side - Quale controllo è l'interfaccia utente / layout / colori / caratteri ecc

  2. Lato posteriore - Gestisce la manipolazione dei dati nel database o la manipolazione dei file, fa molta logica, in questo caso lo fa, se non lo fa, ecc. Si integra con il software del server Web come Apache / IIS / etc e il server del database software come mySQL / PostreSQL / MS SQL Server.

Il lato posteriore è il lato molto più potente, perché può fare molte cose, dalla creazione di file Excel, alla generazione di report, alla realizzazione di calcoli, all'ottenimento di dati da server diversi.

Quindi prepara e visualizza quei dati, come viene impostato il lato anteriore.

Fare bene in entrambi è un duro lavoro, molta pratica, apprendimento e autodisciplina.

Se vuoi essere il migliore, pratica e non smettere mai di imparare, e non dare per scontato di conoscere tutte le risposte.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.