Flask è un web framework che si presenta sottoforma di modulo Python e permette lo sviluppo di applicazioni web basate su questo ormai diffusissimo linguaggio di programmazione.
Flask viene definito un micro framework in quanto è sprovvisto di ORM (Object Relational Manager), ossia di un abstraction layer per la gestione di database.
Perché Flask è una buona scelta
Una delle principali ragioni per l’adozione di Flask per i propri progetti di sviluppo è la sua semplicità e bassa difficoltà di apprendimento dello strumento. Flask, a differenza di framework come Django ha un funzionamento in perfetto spirito Pythonico avendo infatti una curva di apprendimento molto bassa.
Installazione di Flask
Anche il processo di installazione di Flask è davvero molto semplice. Basta infatti seguire questi semplici passi per ottenere un ambiente di sviluppo pronto all’uso.
Siccome l’utilizzo dei Virtual Environment è una best practice, iniziamo con il crearne uno per il nostro progetto Flask.
mkdir my-flask-app
python3 -m venv my-flask-app
Attiviamo l’ambiente virtuale appena creato
cd my-flask-app
source bin/activate
Siamo quindi pronti per installare Flask
pip install Flask
Flask è ora installato e pronto all’uso.
Dipendenze
L’installazione di Flask si trascina delle dipendenze che verranno automaticamente installate.
- Werkzeug, implementazione di WSGI, l’interfaccia Python standard tra applicazioni e server
- Jinja, un template language che esegue il render delle pagine che l’applicazione eroga.
- MarkupSafe, dipendenza di Jinja che esegue l’escaping di input non sicuri quando esegue il rendering dei templates al fine di evitare attacchi di tipo injection.
- ItsDangerous, che firma i dati al fine di assicurarne l’integrità. Questa estensione sta alla base della protezione dei cookies Flask di sessione.
- Click, un framework per scrivere applicazioni a riga di comando. Mette a disposizione i comandi Flask. Permette anche l’aggiunta di comandi custom.