Struttura di comprensione delle applicazioni web in tempo difficile w quadri JS? [chiuso]

1

Ho difficoltà a capire come funzionano le applicazioni web. Per favore aiutami a capire senza darmi definizioni google. I passi / le parole dei bambini sarebbero apprezzati =) Da quanto ho capito finora:

Okay, diciamo che usiamo Flask o Django (framework python) per il back-end. Questo sarebbe usato come base per la nostra app Web. Fornisce richieste riposanti e alcuni template (?)

Quindi useremmo HTML e CSS per la struttura di base e le esigenze di stile?

Perché dobbiamo usare Javascript allora. JS rende la pagina dinamica, interattiva, ecc.? Come il clic di un pulsante o qualcosa del genere (dammi semplici esempi).

E poi vedo persone che usano framework JS come Angular, react, ember, ecc. come framework lato client. Qualcuno può spiegare come funziona il backend con Python con front-end con questo tipo di framework?

Come non dirmi quali sono queste strutture, dimmi in parole / esempi semplici che cosa fanno effettivamente.

Flask VS Flask + JS VS flask + angular ??

Posso ancora creare un'applicazione che faccia cose semplici senza usare Javascript o (angolare, reagisce, ecc.)?

Quindi, in conclusione, per favore dammi i componenti necessari per un'applicazione web e cosa fa ogni pezzo. Quindi forse esempi di semplici app costruite con il pallone JUST, JUST with angular e uno con BOTH.

    
posta Angular 20.09.2015 - 04:16
fonte

1 risposta

1

Non ho intenzione di commentare i framework specifici che hai menzionato, ma proverò a spiegare il concetto.

La prima cosa che devi capire è che ci sono due giocatori:

  • Il lato server (Python, Php, Java)
  • .. e il lato client (javascript, jQuery, Angular ecc.)

La seconda cosa è conoscere e distinguere tra lingue, framework e librerie (anche se nella mia risposta potrei ignorarlo)

Dopo averlo capito, tutto il resto è facile da spiegare. (con l'introduzione di HTML5 - quel confine tra client e server era un po 'sfocato - ma per il gusto della risposta lo ignorerò)

Con un'app Web, in primo luogo, il lato client acquisisce ed elabora alcuni dati, può essere molte cose a seconda dell'applicazione stessa (come query di database, manipolazione dei dati, ecc.), ma il risultato è un markup HTML e qualche altro codice come Javascript e immagini - e invia questi dati sotto forma di HTML su qualche protocollo (diciamo HTTP ) al client (Diciamo a Browser ) risultante nella tre -tier architecture (data-logic-presentation).

Quando raggiunge il tuo browser, il codice viene reso in un'interfaccia utente che tu (l'utente) puoi realmente vedere e interagire con. È qui che l'HTML e Javascript arrivano a giocare sotto forma di albero DOM.

Vedete, alcuni calcoli riguardanti l'app (relativi all'interfaccia) possono essere fatti solo sul lato client per esempio mostrando e nascondendo elementi (come i messaggi di errore all'accesso), cambiando i valori degli elementi, effetti speciali, pulsanti di invio moduli, situazioni dinamiche e azioni generiche di input, ecc ... in altre parole, manipolazione DOM.

Quindi perché i quadri? Bene, anche se la definizione è un po 'diversa, potresti voler guardare framework come una sorta di libreria che qualcuno ha scritto con funzionalità generiche, che ti aiuterà a scrivere il codice più velocemente riutilizzando le funzioni (o la struttura) che hanno già fatto a disposizione.

(e sì, c'è una differenza tra la libreria e il framework, ma tu hai chiesto una semplice risposta laica)

Per quanto riguarda la tua domanda

" Can i still build an application that does simple things without using Javascript or (angular,react,etc)?"

Certo che puoi. Ma la vera risposta è che dipenderà da ciò che vuoi che la tua app Web faccia e come apparirà. Nessun problema nella scrittura di una semplice web app senza javascript . Semplice .

Ma qui devi distinguere tra " javascript " e " javascript libraries " o "javascript frameworks" .

Senza javascript nel suo insieme, sarebbe molto più difficile, e probabilmente la tua app sarebbe molto limitata. senza i framework, beh - sì, può essere fatto - ma significherebbe, però, a seconda dell'obiettivo, che probabilmente dovrai scrivere molto più codice e probabilmente avrai bisogno di competenze più elevate.

Ora, tornando a HTML5 - potrebbe scuotere un po 'le basi della risposta di cui sopra, perché HTML5 consente alcune azioni che erano formalmente nel regno del lato server - da eseguire sul lato client. Ma questo non cambia il concetto che alcune azioni devono e possono essere fatte solo sul lato server, e alcune, solo sul lato client.

Il tempo in cui usi i framework o no e su quale lato dell'app (o entrambi) è totalmente a te - ma con gli standard odierni, è molto difficile ignorarli completamente - e ricorda che sono solo strumenti e strumenti deve essere scelto in base al lavoro da svolgere quindi per ogni webapp la risposta sarà diversa.

    
risposta data 20.09.2015 - 05:04
fonte

Leggi altre domande sui tag