desenvolvimento Ágil para web utilizando php e o framework yii

29
Desenvolvimento Ágil para Web Utilizando PHP e o Framework Yii Leonardo N. dos Santos – Semana de Informática 2011 – IFAM Parintins

Upload: shadi

Post on 23-Feb-2016

59 views

Category:

Documents


0 download

DESCRIPTION

Desenvolvimento Ágil para Web Utilizando PHP e o Framework Yii. Leonardo N. dos Santos – Semana de Informática 2011 – IFAM Parintins. Quem sou eu?. Estudante de Doutorado em Informática Universidade Federal do Amazonas Ambientes Virtuais na Web - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Desenvolvimento Ágil para Web Utilizando PHP e o Framework  Yii

Desenvolvimento Ágil para Web Utilizando PHP e o Framework Yii

Leonardo N. dos Santos – Semana de Informática 2011 – IFAM Parintins

Page 2: Desenvolvimento Ágil para Web Utilizando PHP e o Framework  Yii

2

Quem sou eu? Estudante de Doutorado em Informática

Universidade Federal do Amazonas Ambientes Virtuais na Web Sócio da Empresa Nhemu Serviços de

Tecnologia da Informação Colega de faculdade do Prof. David Brito

Trabalho desenvolvendo Ambientes Virtuais na Web

Desenvolvendo tecnologias para sites de comércio eletrônico.

Page 3: Desenvolvimento Ágil para Web Utilizando PHP e o Framework  Yii

3

Roteiro Introdução Aplicações Web Exemplo: Um Blog Simples Desenvolvendo do Zero Usando o Framework Yii Considerações Finais

Page 4: Desenvolvimento Ágil para Web Utilizando PHP e o Framework  Yii

4

Introdução A Web está cada vez mais se povoando de

aplicações No início, pouco produziam e muitos liam Agora, muitos produzem:

Conteúdo Aplicações

Web 2.0 ou Web Social Muitos Frameworks de Desenvolvimento Framework: conjunto de códigos reusáveis

para desenvolvimento de sistemas de software.

Page 5: Desenvolvimento Ágil para Web Utilizando PHP e o Framework  Yii

5

Aplicações Web Cliente x Servidor Browser Servidor de

páginas HTTP

Internet Explorer Mozilla Firefox Google Chrome Opera

Page 6: Desenvolvimento Ágil para Web Utilizando PHP e o Framework  Yii

6

Aplicações Web

Banco de

Dados

Gerador de

PáginasServidor

HTTPInternet .

.. Browser

Page 7: Desenvolvimento Ágil para Web Utilizando PHP e o Framework  Yii

7

Exemplo: Um Blog Simples Blog = Web Log = Diário na Web Lista de Posts organizados de forma

cronológica, do mais recente para os mais antigos.

Escrito por uma ou mais pessoas. Permite Comentários nos Posts

Page 8: Desenvolvimento Ágil para Web Utilizando PHP e o Framework  Yii

8

Funcionalidades do Blog Donos do sistema:

Login e Logout Criar, Alterar e Remover Posts Publicar, Despublicar e Arquivar Posts Aprovar e Remover Comentários

Os usuários: Ler Posts Criar Comentários

Page 9: Desenvolvimento Ágil para Web Utilizando PHP e o Framework  Yii

9

Blog: Requisitos Autores do Blog

Login e Logout Criar, Atualizar e deletar Posts Publicar, despublicar e arquivar Posts Aprovar e deletar Comentários

Outros usuários da Web Ler Posts Criar comentários

Page 10: Desenvolvimento Ágil para Web Utilizando PHP e o Framework  Yii

10

Blog: Requisitos Homepage deve mostrar uma lista dos pots

mais recentes Se existir mais de 10 posts, eles devem ser

exibidos em páginas Os posts devem ser mostrados juntos com

seus comentários Mostrar os posts de uma Tag específica Mostrar um nuvem de tags indicando sua

frequência de uso Mostrar uma lista dos comentários mais

recentes Aplicação de temas de apresentação

Page 11: Desenvolvimento Ágil para Web Utilizando PHP e o Framework  Yii

11

BD

Page 12: Desenvolvimento Ágil para Web Utilizando PHP e o Framework  Yii

12

Navegação: Página Inicial (Homepage) Header: Login

Lista de Posts ordenados pelos mais recentes Paginação Filtro por Tag Cada Post tem um link para uma página de comentários,

indicando o número de comentários

Links de Gerenciamento Criar post Gerenciar Posts Aprovar comentários

Nuvem de Tags Lista de Comentários mais recentes

Page 13: Desenvolvimento Ágil para Web Utilizando PHP e o Framework  Yii

13

Navegação: Outras Páginas Página do Post e seus comentários Novo Post Gerenciar Posts

Lista de posts com ações de alteração Aprovar Comentários

Lista de comentários pendentes de aprovação

Page 14: Desenvolvimento Ágil para Web Utilizando PHP e o Framework  Yii

14

Blog: Outras Coisas para se Preocupar Conexão e aquisição de informações do BD Login/Logout Temas de Apresentação Editor de texto dos Posts (WYSIWYG) Validação de Formulários Web 2.0: Ajax

Page 15: Desenvolvimento Ágil para Web Utilizando PHP e o Framework  Yii

15

Blog: Conclusão É MUUUUIIITO TRABALHO!!! Apesar de parecer simples, dá um certo

trabalho.

Programadores experientes já possuem um “arsenal” de modelos de códigos.

Difícil manutenção de aplicações maiores. Técnicas atuais: módulos, componentes,

linhas de produção de software.

Ou use um Framework de Desenvolvimento!

Page 16: Desenvolvimento Ágil para Web Utilizando PHP e o Framework  Yii

16

Yii: Yes It is! http://www.yiiframework.com/

Framework: um conjunto de códigos, bibliotecas ou classes reusáveis para se desenvolver sistemas.

Muitas das coisas usuais no desenvolvimento de aplicações Web já estão codificadas, basta usar.

Page 17: Desenvolvimento Ágil para Web Utilizando PHP e o Framework  Yii

17

MVC: Model – View – Control Padrão de arquitetura de software

destinado a aplicações com alto nível de interatividade, cujo objetivo é melhorar a usabilidade da aplicação, pois permite que a interface se ajuste (possivelmente em tempo de execução) independemente do seu núcleo de funcionalidades

Page 18: Desenvolvimento Ágil para Web Utilizando PHP e o Framework  Yii

18

MVC: Model – View – Control

VIEW

CONTROLLER

MODEL

vê modifica

atualiza

gera input

consulta

Page 19: Desenvolvimento Ágil para Web Utilizando PHP e o Framework  Yii

19

MVC: Model – View – Control Model: gerencia o comportamento e os dados do

domínio da aplicação, responde a solicitações de informações sobre seu estado (geralmente pela view), e responde a instruções de mudança de estado.

View: gerencia a saída gráfica/textual para a porção da tela alocada para a aplicação. No caso de aplicações web, trata-se daquilo que é visto no browser do usuário.

Controller: interpreta as entradas de dados do usuário pelo mouse e teclado, comandando modificações ao model e/ou à view conforme o caso.

Page 20: Desenvolvimento Ágil para Web Utilizando PHP e o Framework  Yii

20

Yii e MVC Model

baseado no esquema do banco de dados Não depende de SGBD específico (Mysql, Oracle, Sqlite, ...) Implementa relações de Chave Estrangeira Acessado como Objeto

Controller Realiza as ações de alteração de dados no model Consulta o Model e chama as views: quais dados são

mostrados. Cada entidade possui um controller.

Views Front-end: como os dados dão mostrados na página. Uma view para cada página.

Page 21: Desenvolvimento Ágil para Web Utilizando PHP e o Framework  Yii

21

Porque MVC é flexível? Cultura do Beta Perpétuo Aplicações sempre se modificando Interface sempre com novas

novidades: desktop-like Funcionalidades das aplicações são

sempre incrementadas Aplicações difíceis de usar não são

usadas e são substituídas por outras mais fáceis.

Page 22: Desenvolvimento Ágil para Web Utilizando PHP e o Framework  Yii

22

Yii: funcionamento geral É passado para o Yii o esquema do

banco de dados. É escolhido quais tabelas você quer

que se gerem páginas Lista Consultar Inserir Alterar Apagar

Page 23: Desenvolvimento Ágil para Web Utilizando PHP e o Framework  Yii

23

BD

Page 24: Desenvolvimento Ágil para Web Utilizando PHP e o Framework  Yii

24

Yii: funcionamento geral Configurar as chaves estrangeiras. Configurar opções de Login. Configurar a página inicial.

Page 25: Desenvolvimento Ágil para Web Utilizando PHP e o Framework  Yii

25

Yii: coisas prontas Conexão e aquisição de informações

do BD Login/Logout Temas de Apresentação Editor de texto dos Posts (WYSIWYG) Validação de Formulários

É preciso configurar os campos obrigatórios

Web 2.0: Ajax

Log do sistema

Page 26: Desenvolvimento Ágil para Web Utilizando PHP e o Framework  Yii

26

Instalar o Yii Servidor AMP: Apache + MySQL + PHP

Windows:WampEasyPHPXAMPP

Linux:Ubuntu: Synaptic--> apache2, mysql-

server, php5 Yii Framework

http://www.yiiframework.com/download/

Page 28: Desenvolvimento Ágil para Web Utilizando PHP e o Framework  Yii

28

Na Prática! http://localhost/yii/demos/blog/

Page 29: Desenvolvimento Ágil para Web Utilizando PHP e o Framework  Yii

29

Considerações Finais Experiência pessoal

Já desenvolvi aplicações do zero. Já dei manutenção em aplicações que outras pessoas

desenvolveram. Já desenvolvi aplicações partindo de CMS.

Achei o Yii uma “mão na roda”. Não sei trabalhar direito com Ajax. Não tenho paciência para fazer validação de formulário. Não sei fazer um design bom. Não sei organizar meu código direito. Perdia muito tempo com detalhes de sistema em vez

de desenvolver as funcionalidades da minha aplicação.

Muitas vezes, esses detalhes tinham bug.