Programação para não programadores com
Python e Web2py
QUEM?
- Relsi Maron- CTO no CodeFreelas.com- 5 Anos Desenvolvimento Web- Membro do PyTchê.org
PARA QUEM?
- Estudantes- Empreendedores web- Curiosos
- Linguagem de altíssimo nível (VHLL)- Criada por Guido van Rossum em 1991- Interpretada e interativa- Multiplataforma- Multipropósito
Python?
Por que Python?
Python é Lindo!
Zen do Python
Zen do Python
Bonito é melhor que feio.
Simples é melhor que complexo.
Legibilidade conta.
Java
Python
Python é paraseres humanos!
Portugol
Python
Python é Duck typing!
Python é Duck Typing
Operadores Matemáticos
Operadores Matemáticos
Tipos de dados - Strings
Tipos de dados - Strings
Armazenam uma sequência de elementos
Tipos de dados - Listas
Armazenam uma sequência de elementos
Tipos de dados - Listas
Iguais as Listas, porém são imutáveis
Tipos de dados - Tuplas
Armazenam dados no formato Chave:Valor
Tipos de dados - Dicionários
Armazenam dados no formato Chave:Valor
Tipos de dados - Dicionários
Controle
Controle
Controle
Controle
Funções
E muito mais
http://docs.python.org/2
http://docs.python.org/3
Web2py?
- Framework de desenvolvimento web full stak- Criada por Massimo di Pierro em 2007- Foco no aprendizado- Sem instalação ou configuração
Por que Web2py?
Foi criado para colocar rapidamente
ideias em prática!
Compatibilidade Reversa
Constante Evolução
Deploy Rápido
Seguro
Padrão MVC
Padrão MVC
Padrão MVC
Padrão MVC
Padrão MVC
Abstração de Banco de Dados
SELECT * FROM cadastro WHERE id > 0
Abstração de Banco de Dados
Formulários e Validadores
Formulários e Validadores
controller
view
Formulários e Validadores
Formulários e Validadores
controller
view
Formulários e Validadores
Formulários e Validadores
controller
view
Formulários e ValidadoresCRUD
http://..../[app]/[controller]/[function]/tables http://..../[app]/[controller]/[function]/create/[table] http://..../[app]/[controller]/[function]/read/[table]/[id] http://..../[app]/[controller]/[function]/update/[table]/[id] http://..../[app]/[controller]/[function]/delete/[table]/[id] http://..../[app]/[controller]/[function]/select/[table] http://..../[app]/[controller]/[function]/search/[table]
Formulários e Validadoreshttp://..../[app]/[controller]/data/create/cadastro
Formulários e Validadoreshttp://..../[app]/[controller]/data/update/cadastro/1
Formulários e Validadoreshttp://..../[app]/[controller]/data/read/cadastro/1
Formulários e Validadores
controller
view
Formulários e Validadores
Controle de AcessosUsuários, autenticação, grupos, permissões
controller
view
Controle de AcessosUsuários, autenticação, grupos, permissões
http://..../[controller]/[function]/login http://..../[controller]/[function]/logout http://..../[controller]/[function]/register http://..../[controller]/[function]/profile http://..../[controller]/[function]/retrieve_password http://..../[controller]/[function]/change_password
Controle de AcessosUsuários, autenticação, grupos, permissões
controller
view
Controle de AcessosUsuários, autenticação, grupos, permissões
Controle de AcessosUsuários, autenticação, grupos, permissões
controller
view
Controle de AcessosUsuários, autenticação, grupos, permissões
Mapeamento de URL
Mapeamento de URL
Serviç[email protected]@[email protected]@[email protected]@[email protected]@[email protected]('domain')@service.soap('FunctionName',returns={'result':type},args={'param1':type,})
Serviços
E se eu precisar de ajuda?
Python
web2py
https://groups.google.com/forum/#!forum/python-brasil
https://groups.google.com/forum/#!forum/web2py-users-brazil
E apeia no PyTchê!
https://groups.google.com/forum/#!forum/pytchehttp://pytche.org/
Contatos
http://github.com/relsi
http://pt.slideshare.net/relsi
Obrigado!