TurboGears - Visão geral

O que é Web Framework?

Web Application Framework ou simplesmente Web Framework representa uma coleção de bibliotecas e módulos, que permite a um desenvolvedor de aplicativos web escrever aplicativos, sem ter que se preocupar com detalhes de baixo nível, como protocolos, gerenciamento de threads, etc.

O que é TurboGears?

TurboGears é uma estrutura de aplicativo da web escrita em Python. Originalmente criado por Kevin Dangoor em 2005, sua versão mais recente, TurboGears (ver 2.3.7), é gerenciada por um grupo de desenvolvedores liderado por Mark Ramm e Florent Aide.

TurboGears segue o paradigma Model-View-Controller assim como a maioria dos frameworks web modernos como Rails, Django, Struts, etc.

Model View Controller

MVC é um padrão de design de software para o desenvolvimento de aplicativos da web. Um padrão Model View Controller é composto de três partes -

  • Model - O nível mais baixo do padrão é responsável por manter os dados.

  • View - É responsável por exibir todos ou parte dos dados ao usuário.

  • Controller - Código de software que controla as interações entre o modelo e a visualização.

MVC é popular porque isola a lógica do aplicativo da camada da interface do usuário e oferece suporte à separação de interesses. Aqui, o Controlador recebe todas as solicitações do aplicativo e, em seguida, trabalha com o Modelo para preparar os dados necessários para a Visualização. A Visualização então usa os dados preparados pelo Controlador para gerar uma resposta final apresentável. A abstração MVC pode ser representada graficamente da seguinte forma -

O modelo

O modelo é responsável por gerenciar os dados do aplicativo. Ele responde à solicitação da visualização e também às instruções do controlador para se atualizar.

A vista

Uma apresentação de dados em um formato específico, desencadeada pela decisão de um controlador de apresentar os dados. Eles são sistemas de modelos baseados em script muito fáceis de integrar com a tecnologia AJAX.

O controlador

O controlador é responsável por responder à entrada do usuário e realizar interações nos objetos do modelo de dados. O Controlador recebe a entrada, valida a entrada e, em seguida, realiza a operação de negócios que modifica o estado do modelo de dados.

O TurboGears é construído em cima de uma série de bibliotecas e ferramentas. Essas ferramentas mudaram entre as diferentes versões do TurboGears. Os componentes da versão atual (ver 2.3.7) estão listados abaixo.

SQLAlchemy

É um kit SQL de código aberto que fornece mapeamento de relação de objeto (ORM) para código Python.

Genshi

Este mecanismo de modelagem é usado para construir o front-end dos aplicativos TG. Um sistema de modelos da web combina um modelo com uma determinada fonte de dados para renderizar páginas da web dinâmicas.

ToscaWidgets

É uma biblioteca de widgets para gerar formulários HTML com controles do lado do servidor. Tosca também atua como um middleware para se conectar com widgets e kits de ferramentas JavaScript.

Caixa de velocidade

Ele fornece um conjunto de comandos para gerenciar projetos e aplicativos de servidor TurboGears. Os aplicativos TurboGears podem ser implantados em qualquer servidor da web compatível com WSGI.

A Web Server Gateway Interface (WSGI) foi adotada como um padrão para o desenvolvimento de aplicativos da Web em Python. WSGI é uma especificação para interface universal entre o servidor da web e os aplicativos da web. O pacote wsgiref é uma implementação de referência do WSGI. É usado para adicionar suporte WSGI ao framework web TurboGears. O módulo simple_server neste pacote implementa um servidor HTTP simples que serve aplicativos WSGI. Devemos usá-lo para testar aplicativos desenvolvidos durante este tutorial.