2011-12-21 31 views
5

Ho appena terminato l'introduzione al corso di sviluppo web nel mio programma CS e sono uscito chiedendo qualcosa di semplice. Quando dovresti usare il codice JavaScript (lato client) invece del lato server (abbiamo usato PHP ma qualcosa si applica)? Vice-versa pure.Quando utilizzare lato client o lato server?

+0

Per quanto riguarda Parse.com .... http://stackoverflow.com/a/24010828/294884 – Fattie

risposta

6

Non c'è una ricetta per decidere che. Alcune note:

  • la sicurezza e la convalida devono sempre essere presenti sul lato server (a volte duplicate nel client).
  • il lato client deve contenere solo la logica dell'interfaccia utente. Nessuna logica aziendale.
  • logicamente, tutto ciò che accede a un database dovrebbe essere sul server.

Ovviamente, se la tua applicazione è una RIA (ricca app internet), allora puoi avere una logica sul client. Quindi tutto dipende.

+0

Sarebbe un esempio del vostro primo punto essere avere uno di quei piccoli grafica che dice il tuo ingresso è valido, ma poi ricontrollare sul server prima di accettare? – Portaljacker

+0

sì, esattamente ... – Bozho

1

Imho direi, utilizzare lato server se è possibile. Tutto il codice lato client può essere manipolato. O forse non funzionerà perché il browser non lo supporta.

2

Javascript deve essere utilizzato solo per manipolare l'interfaccia utente della pagina. Puoi anche fare alcune convalide usando questo, tuttavia, ci deve essere la convalida corrispondente sul lato server. Per fare qualsiasi manipolazione dei dati, applicare la logica di business, ecc. Si dovrebbe sempre usare il codice lato server.

Qui sono alcuni casi in cui si intende utilizzare codice lato client:

  • Cambiare l'aspetto (UI) della pagina ad esempio mostrano in modo dinamico/nascondere alcune elementi
  • validazione dell'input utente (questo dovrebbe essere fatto anche sul lato server)

I casi in cui utilizzare il codice lato server:

  • convalida degli input utente (dovrebbe sempre dal lato server, indipendentemente dal fatto che sia eseguita lato client o meno.)
  • Autenticazione utente
  • Logica di business (decidere cosa mostrare a quali utenti, calcoli)
  • accesso Database
Problemi correlati