Flask (framework web)

Flask
DesenvolvedorArmin Ronacher
Lançamento inicial1 de abril de 2010 (16 anos)
Lançamento estável
2.0.1 / 21 de maio de 2021[1]
Repositóriogithub.com/pallets/flask
Escrito emPython
Sistema
operacional
Multiplataforma
TipoFramework web
LicençaBSD
Websiteflask.pocoo.org

Flask é um pequeno framework web escrito em Python. É classificado como um microframework porque não requer ferramentas ou bibliotecas particulares, mantendo um núcleo simples, porém, extensível.[2] Não possui camada de abstração de banco de dados, validação de formulário ou quaisquer outros componentes onde bibliotecas de terceiros preexistentes fornecem funções comuns. No entanto, o Flask oferece suporte a extensões que podem adicionar recursos do aplicativo como se fossem implementados no próprio Flask. Existem extensões para mapeadores objeto-relacional, validação de formulário, manipulação de upload, várias tecnologias de autenticação aberta e várias ferramentas comuns relacionadas ao framework.[3]

Aplicações que utilizam o framework Flask incluem a própria página da comunidade de desenvolvedores,[4] o Pinterest e o LinkedIn.[5][6]

Componentes

O microframework Flask é baseado nos projetos Pocoo, Werkzeug e Jinja2.

Werkzeug

Werkzeug é uma biblioteca de utilitários para a linguagem de programação Python, em outras palavras, um kit de ferramentas para aplicativos Web Server Gateway Interface (WSGI), e é licenciada sob uma Licença BSD. Werkzeug pode realizar objetos de software para funções de solicitação, resposta e utilidade. Ele pode ser usado para construir um framework de software customizado em cima dele e suporta Python 2.7, 3.5 e posteriores.[7][8]

Jinja

Jinja, também da Ronacher, é um mecanismo de template para a linguagem de programação Python e está licenciado sob uma Licença BSD. Semelhante ao framework web Django, ele lida com modelos em uma sandbox.

Exemplo

O código abaixo mostra uma aplicação web simples que imprime na tela do navegador "Olá mundo!":

from flask import Flask
app = Flask(__name__)

@app.route("/")
def hello():
    return "Olá mundo!"

if __name__ == "__main__":
    app.run()

Ver também

Referências

  1. ↑ https://flask.palletsprojects.com/en/2.0.x/changes/
  2. ↑ «Flask Foreword». Arquivado do original em 17 de novembro de 2017
  3. ↑ «Flask Extensions». Arquivado do original em 17 de maio de 2018
  4. ↑ Página da comunidade Flask
  5. ↑ What challenges has Pinterest encountered with Flask?
  6. ↑ Rachel Sanders: Developing Flask Extensions - PyCon 2014
  7. ↑ Ronacher, Armin. «Werkzeug The Python WSGI Utility Library». palletsprojects.com. Consultado em 27 de maio de 2018
  8. ↑ Ronacher, Armin. «Installation, Python Version». palletsprojects.com. Consultado em 20 de abril de 2020