Un Framework per Applicazioni Web
Un Framework per le Applicazioni Web (web applications) rappresenta una collezione di librerie e moduli che consentono a uno sviluppatore di applicazione web di scrivere queste applicazioni senza doversi preoccupare di dettagli a basso livello, come protocolli, gestione dei thread, ecc.
Flask
Flask è un framework web scritto in Python, basato sul toolkit Werkzeug WSGI e sul motore di template Jinja2. È sviluppato da Armin Ronacher ed è distribuito con licenza libera BSD.
WSGI
Il Web Server Gateway Interface (WSGI) è un protocollo di trasmissione che stabilisce e descrive comunicazioni ed interazioni tra server ed applicazioni web scritte nel linguaggio Python. È quindi l'interfaccia standard del web service per la programmazione in Python.
Werkzeug
Werkzeug è una libreria WSGI per applicazioni web. Con il tempo è diventata unna delle librerie di utility per WSGI più avanzate. Tra le altre cose implementa oggetti di richiesta e risposta, sistemi di routing e molto altro.
Jinja2
Jinga2 è un motore di templating per Python molto diffuso. Un sistema che combina un template con determinati dati per renderizzare pagine web dinamiche.
Flask è spesso chiamato "micro-framework" perché ha un nucleo semplice ma estendibile. Non c'è uno strato di astrazione per la gestione dei database, validazione dei dati, o qualsiasi altra funzione per le quali esistono già librerie di terze parti.