Chapter 0: Prefácio - WIP

Acredito que a capacidade de criar aplicações web de alta qualidade de forma simples é de extrema importância para o desenvolvimento de uma comunidade aberta e livre. Isso previne que apenas os gigantes monopolizem o fluxo de informações.

Por este motivo iniciei o web2py em 2007, em primeiro lugar como uma ferramenta de ensino com objetivo de tornar o desenvolvimento web mais simples, rápido e mais seguro. Com o tempo, o projeto ganhou o carinho de milhares de usuários e mais de 200 desenvolvedores. Nosso esforço coletivo criou um dos mais completos frameworks para desenvolvimento web de código fonte aberto.

Como resultado, em 2011, o web2py ganhou o prêmio Bossie Award de melhores Softwares Open Source, e em 2012 ganhou o prêmio Tecnologia do Ano da InfoWorld.

Você irá aprender nas próximas páginas, que o web2py visa minimizar a barreira inicial do desenvolvimento web, focando em três objetivos principais:

Simplicidade. Isso significa reduzir a curva de aprendizagem e tempo para deployment assim como desenvolvimento e manutenção. Por esses motivos o web2py é um framework full-stack sem dependências. Ele não necessita de instalação e configuração de arquivos. Tudo funciona fora da caixa, incluindo o servidor web, banco de dados e a IDE web (acessível pelo seu navegador) que da acesso a todas as principais funcionalidades. A API inclui apenas 12 objetos chaves, que são fáceis de trabalhar e memorizar. O web2py pode ser incorporado com a maioria dos servidores web, banco de dados e todas as bibliotecas em Python.

Desenvolvimento veloz. Cada função do web2py possui um comportamento padrão (que pode ser sobrescrito). Por exemplo, o quanto antes você tiver especificado seus modelos de dados, você tera acesso a um painel web de administação do banco de dados. Além disso, o web2py gera automaticamente formulários para os seus dados e permite que você facilmente disponibilize os dados em: HTML, XML, JSON, RSS, etc. O web2py também fornece widgets de alto nível como: wiki e grid para a construção ágil de aplicações complexas.

Segurança. A camada de abstração de banco de dados do web2py elimina a ameaça de Injeção de SQL. A linguagem para templates previne contra Cross Site Scripting. Os formulários gerados pelo web2py fornecem validação e bloqueiam a ameaçã de Cross Site Request Forgeries. Senhas são sempre armazenadas como hashes. Sessões são armazenadas apenas no servidor por padrão afim de prevenir Cookie Tampering e cookies de sessões possuem UUID para previnir o roubo de Cookies.

O web2py é desenvolvido a partir da perspectiva do usuário e está em constante otimização para ser mais rápido e simples, o web2py mantém sempre a retrocompatibilidade entre suas versões.

O web2py é livre para você usá-lo. Se você usufruir desse benefício, esperamos que você sinta-se encorajado a "pagar" contribuindo de volta para a comunidade de qualquer forma a seu critério.

 top