Desenvolvimento Web com Python e Web2py
Intuito
Quem?
- Relsi Maron
- CTO no CodeFreelas.com
- 6 Anos Desenvolvimento Web
- http://github.com/relsi
- http://pt.slideshare.net/relsi
Para Quem?
Por que Python Para Web?
Java
Java
Java
Java
Ruby
Ruby
PHP
PHP
PHP
PHP
PHP
Import this
Python é Multipropósito
- Linguagem de altíssimo nível (VHLL)
- Criada por Guido van Rossum em 1991
- Interpretada e interativa
- Multiplataforma
- Multipropósito
- Muito Foda
Python é lindo.
Python é lindo.
Bonito é melhor que feio.
Explícito é melhor que implícito.
Simples é melhor que complexo.
Legibilidade conta.
Python é lindo.
Python é lindo.
Python é lindo.
Python é Para Seres Humanos.
Python é Para Seres Humanos.
Python é Para Seres Humanos.
Python é Duck Typing.
Python é Duck Typing.
Operadores Matemáticos.
Operadores Matemáticos.
Tipos de dados – Strings.
Tipos de dados – Strings.
Tipos de dados – Listas.
Armazenam uma sequência de elementos
Tipos de dados – Listas.
Armazenam uma sequência de elementos
Tipos de dados – Tuplas.
Iguais as Listas, porém são imutáveis
Tipos de dados – Dicionários
Armazenam dados no formato Chave:Valor
Tipos de dados – Dicionários
Armazenam dados no formato Chave:Valor
Controle.
Controle.
Controle.
Controle.
Funções.
E muito mais.
http://docs.python.org/2
http://docs.python.org/3
E como eu uso isso para desenvolver para web?
Web tchu o quê?
Web2py
- Framework de desenvolvimento web full stak
- Criado por Massimo di Pierro em 2007
- Foco no aprendizado
- Sem instalação ou configuração
Web2py
Foi criado para colocar
rapidamente
ideias em prática!
Compatibilidade Reversa
Deploy Simples
Seguro
MVC
MVC
MVC
MVC
Output
DAL
DAL
Formulários
Formulários
controller
view
Formulários
Formulários
controller
view
Formulário
CRUD
controller
view
CRUD
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]
CRUD
http://..../[app]/[controller]/data/create/cadastro
http://..../[app]/[controller]/data/update/cadastro/1
CRUD
CRUD
http://..../[app]/[controller]/data/read/cadastro/1
CRUD
controller
view
CRUD
Autenticação
controller
view
Autenticação
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
Autenticação
controller
view
Autenticação
Controle
controller
view
Controle
Mapeamento de URL
Mapeamento de URL
Serviços
@service.run
@service.xml
@service.json
@service.rss
@service.csv
@service.xmlrpc
@service.jsonrpc
@service.jsonrpc2
@service.amfrpc3('domain')
@service.soap('FunctionName',returns={'result':type},args={'param1':type,})
Documentação
http://web2py.com/book
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
https://groups.google.com/forum/#!forum/pytche
E apeia no PyTchê!
Demo
Perguntas?
Obrigado!
http://pt.slideshare.net/relsi

Desenvolvimento web com python e web2py