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.