1 / 29

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. Quem sou eu?. Estudante de Doutorado em Informática Universidade Federal do Amazonas Ambientes Virtuais na Web

shadi
Download Presentation

Desenvolvimento Ágil para Web Utilizando PHP e o Framework Yii

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


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

  2. Quem sou eu? • Estudante de Doutorado em InformáticaUniversidade 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.

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

  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.

  5. Aplicações Web • Cliente x Servidor • Browser Servidor de páginas HTTP • Internet Explorer • Mozilla Firefox • Google Chrome • Opera

  6. Aplicações Web

  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

  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

  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

  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

  11. BD

  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

  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

  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

  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!

  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.

  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 usabilidadeda aplicação, pois permite que a interface se ajuste (possivelmente em tempo de execução) independemente do seu núcleo de funcionalidades

  18. MVC: Model – View – Control

  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.

  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.

  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.

  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

  23. BD

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

  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

  26. Instalar o Yii • Servidor AMP: Apache + MySQL + PHP • Windows: • Wamp • EasyPHP • XAMPP • Linux: • Ubuntu: Synaptic--> apache2, mysql-server, php5 • Yii Framework • http://www.yiiframework.com/download/

  27. Blog no Yii: 30 minutos • How to create a blog system using Yii in less than 30 minutes • http://www.yiiframework.com/news/14/screencast-how-to-create-a-blog-system-using-yii-in-less-than-30-minutes/ • Como criar um sistema de blog usando Yii em menos de 30 minutos

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

  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.

More Related