Ambiente Web PHP Problemas Frameworks CakePHP Symfony Zend Framework Prado CodeIgniter Demonstração



Documentos relacionados
Ambiente Web PHP Problemas Frameworks CakePHP Symfony Zend Framework Prado CodeIgniter Demonstração O livro

Desenvolva rapidamente utilizando o frame work CakePHP. Elton Luí s Minetto

Zend Framework. Elton Luís Minetto

PHP Conference Brasil

Frameworks para Desenvolvimento em PHP Elton Luís Minetto

GERADOR DE CÓDIGO JSP BASEADO EM PROJETO DE SGBD. Acadêmico: Maicon Klug Orientadora: Joyce Martins

BEM-VINDOS AO CURSO DE ORIENTADO A OBJETOS

Desenvolva rapidamente utilizando o framework CakePHP Elton Luís Minetto FISL 8.0

DESENVOLVENDO APLICAÇÃO UTILIZANDO JAVA SERVER FACES

PHP Conference Brasil

Criando Frameworks Inteligentes com PHP. Uma abordagem prática: vantagens, aplicações e procedimentos.

FERRAMENTA WEB PARA MODELAGEM LÓGICA EM PROJETOS DE BANCOS DE DADOS RELACIONAIS

Gerador de aplicativos Oracle PL/SQL WEB baseado na estrutura das tabelas do. Wagner da Silva Orientando Prof. Alexander Roberto Valdameri Orientador

Aplicativo web para definição do modelo lógico no projeto de banco de dados relacional

ABORDAGEM DE FRAMEWORKS PARA JSF QUE AUXILIAM O DESENVOLVIMENTO DE SOFTWARE

PRODUTO 1 (CONSTRUÇÃO DE PORTAL WEB)

SISTEMA DE WORKFLOW PARA MODELAGEM E EXECUÇÃO DE PROCESSOS DE SOFTWARE. Aluno: Roberto Reinert Orientador: Everaldo A. Grahl

Desenvolvimento de aplicação web com framework JavaServer Faces e Hibernate

ANEXO 11. Framework é um conjunto de classes que colaboram para realizar uma responsabilidade para um domínio de um subsistema da aplicação.

Criando Aplicações PHP com. Zend e Dojo. Flávio Gomes da Silva Lisboa. Novatec

Apesar de existirem diversas implementações de MVC, em linhas gerais, o fluxo funciona geralmente da seguinte forma:

PHP Profissional. Alexandre Altair de Melo Mauricio G. F. Nascimento

SCE-557. Técnicas de Programação para WEB. Rodrigo Fernandes de Mello

Desenvolvimento de um sistema de gestão acadêmica com software livre Rodrigo Bainy Fagundes

formação em WeB developer

O CONCEITO DE TDD NO DESENVOLVIMENTO DE SOFTWARE

Sistema Gerador de Anúncios para Compra e Venda On-line. Leandro de Oliveira ol.leandro@gmail.com

Programação Web Prof. Wladimir

Projeto Demoiselle. Para perguntas e respostas, utilizem a lista de discussões de usuários da comunidade: demoiselle-users@lists.sourceforge.

Conteúdo Programático de PHP

O que é o Virto ERP? Onde sua empresa quer chegar? Apresentação. Modelo de funcionamento

Tecnologias Web. Padrões de Projeto - Camada de Apresentação

Introdução. à Linguagem JAVA. Prof. Dr. Jesus, Edison O. Instituto de Matemática e Computação. Laboratório de Visão Computacional

Breve introdução. Uma breve introdução. Simplicidade e Poder. Rápido Dinâmico Robusto

Banco de Dados de Músicas. Andre Lima Rocha Campos Osório Pereira Carvalho

Manual de Instalação do OASIS

MVC e Camadas - Fragmental Bliki

PROGRAMAÇÃO PARA INTERNET RICA RICH INTERNET APPLICATIONS

PHP - Orientação a Objeto MVC. Éderson T. Szlachta {Tecnólogo em Análise e Desenv. de Sistemas} - edersonszlachta@gmail.com

WebApps em Java com uso de Frameworks

FRWTC800 - Desenvolvimento Web com Ruby on Rails

SISTEMA DE AGENDAMENTO E GERENCIAMENTO DE CONSULTAS CLÍNICAS

PROGRAMAÇÃO SERVIDOR PADRÕES MVC E DAO EM SISTEMAS WEB. Prof. Dr. Daniel Caetano

USANDO O IZCODE PARA GERAR SOFTWARE RAPIDAMENTE

Desenvolvendo com Bootstrap 3: um framework front-end que vale a pena!

(STUDY OF AGILITY IN SOFTWARE DEVELOPMENT PROCESS WITH TEAMS AT DIFFERENT WORK UNITS USING A ON-LINE MANAGEMENT TOOL)

Produto: Webscan Relatório II Programas desenvolvidos, testados e documentados

Aplicações Desktop: Swing/SubMacroForms. Carlos Renato Alves Gouveia Novembro/2008

DESENVOLVIMENTODE APLICAÇÕESPARAINTERNET:PHP. VitorFariasCoreia

Mini-curso de CakePHP

DESENVOLVIMENTO DE SOFTWARE DE VOTAÇÃO WEB UTILIZANDO TECNOLOGIA TOUCHSCREEN

A Empresa. Alguns Clientes que já utilizam nossa tecnologia.

Boas Práticas de Desenvolvimento Seguro

PORTARIA N Nº Rio de Janeiro, 24 de Outubro de 2013.

Artur Petean Bove Júnior Tecnologia SJC

gerenciamento de portais e websites corporativos interface simples e amigável, ágil e funcional não dependendo mais de um profissional especializado

Programação Web com Webdev 19 Julio Cesar Pedroso Conteúdo

DOCUMENTAÇÃO DO FRAMEWORK - versão 2.0

VRAPTOR: O FRAMEWORK DE APRENDIZADO JAVA WEB AUGUSTO BEVILAQUA RAFAEL CIRINO LACERDA SAULO ALMEIDA LIMA

EXPRESSO LIVRE 3º Encontro Técnico de Desenvolvedores

Curso de Aprendizado Industrial Desenvolvedor WEB

OPORTUNIDADES CWI: Principais atividades: - Análise e desenvolvimento de sites Cross-plataform (IE/Firefox/Chrome/Safari).

Struts 2 : Projeto e Programação Editora: Ciência Moderna Autor: Antunes Budi Kurniawan Número de páginas: 600

DESENVOLVIMENTO WEB UTILIZANDO FRAMEWORK PRIMEFACES E OUTRAS TECNOLOGIAS ATUAIS

UNICE Ensino Superior Linguagem de Programação Ambiente Cliente Servidor.

Aplicativos para Internet Aula 01

ZEND F r a m e w o r k

Agenda. A Empresa História Visão Conceito dos produtos

Curso - Padrões de Projeto Módulo 5: Model-View- Controller

Novas funcionalidades do RAD Studio 2007 em aplicações ASP.NET 2.0

Design de Software e Projeto Arquitetural de Software. Prof. Edison A M Morais prof@edison.eti.br

Adobe Flex. Cainã Fuck dos Santos Thiago Vieira Puluceno Jonathan Kuntz Fornari Gustavo Nascimento Costa

Tópicos de Ambiente Web. Modulo 2 Processo de desenvolvimento de um site Professora: Sheila Cáceres


CURSO DESENVOLVEDOR JAVA WEB E FLEX Setembro de 2010 à Janeiro de 2011

Aprenda as melhores práticas para construir um completo sistema de teste automatizado

Projeto Disciplinar de Infra-Estrutura de Software SISPA FACULDADE SENAC

INTEGRE Diversas fontes de informações em uma interface intuitiva que exibe exatamente o que você precisa

Figura 1 - Arquitetura multi-camadas do SIE

Ferramentas de Administração. PostgreSQL

Em direção à portabilidade entre plataformas de Computação em Nuvem usando MDE. Elias Adriano - UFSCar Daniel Lucrédio - UFSCar

SISTEMA GERENCIADOR DE BANCO DE DADOS

ZendWi Presentation 19/10/2012

Desenvolvendo Websites com PHP

MIOLOv2. Ely Edison Matos fev2005

ASP.NET MVC em Ação. Jeffrey Palermo Ben Scheirman Jimmy Bogard. Novatec. Prefácio de Phil Haack

CONSTRUÇÃO DE UM FRAMEWORK PARA O DESENVOLVIMENTO DE APLICAÇÕES WEB

Requisitos de Sistemas

Conteúdo. Disciplina: INF Engenharia de Software. Monalessa Perini Barcellos. Centro Tecnológico. Universidade Federal do Espírito Santo

DESENVOLVIMENTO DO NOVO SISTEMA DE CONSULTA DE DADOS DO GSC- UNIJUÍ 1

Zend. Framework. Flávio Gomes da Silva Lisboa. Novatec. Desenvolvendo em PHP 5 orientado a objetos com MVC

Semântica para Sharepoint. Busca semântica utilizando ontologias

Construindo sítios profissionais com Mambo

AJAX no GASweb. Mas e afinal, para que usamos o AJAX?

Transcrição:

Desenvolvimento em PHP usando Frameworks Elton Luís Minetto

Agenda Ambiente Web PHP Problemas Frameworks CakePHP Symfony Zend Framework Prado CodeIgniter Demonstração

Ambiente Web É o ambiente formado por algumas tecnologias: Servidor Web Protocolo HTTP e HTTPS Navegadores HTML, PHP, JSP, CSS, AJAX Web sites e sistemas

PHP Livre Fácil de usar Grande documentação Grande biblioteca de funções Orientação a Objeto

Problemas Ambiente Web/PHP Repetição de tarefas Dificuldade de debug Várias formas de fazer a mesma coisa Existem poucos padrões e os que existem não são cumpridos (W3C x Microsoft) Os design patterns foram criados para aplicações cliente-servidor, somente agora estão sendo portados para web Clientes querem alterar tudo muito rápido Desenvolvimento lento Pouco reaproveitamento de código Não existem ferramentas RAD como Delphi Dificuldade de fazer relatórios Navegadores não renderizam corretamente algumas coisas Novas tecnologias surgindo a todo minuto Mistura de layout e lógica

Problemas Ambiente Web/PHP

Frameworks É uma base de onde pode-se desenvolver algo maior ou mais específico. É uma coleção de códigos, classes, funções, técnicas e metodologias que facilitam o desenvolvimento de novos softwares. Vantagens Todos programam parecido graças a padronizações. Fácil manutenção Automatiza tarefas repetitivas. DRY Separação de layout e lógica. no more spaguetti! Reaproveitamento de códigos

Padrões Os frameworks são baseados em uma série de padrões de desenvolvimento já consolidadas: MVC MVC é um acrônimo para Model, View, Controller (Modelo, Visão e Controlador). A idéia é separar todo o desenvolvimento de uma aplicação nestas três partes, ou camadas: Model gerencia o comportamento dos dados da aplicação. View gerencia a saída gráfica e textual da parte da aplicação visível ao usuário Controller interpreta as entradas de mouse e teclado do usuário, comandando a Visão e o Modelo para se alterarem de forma apropriada.

Padrões ActiveRecord Este padrão de design facilita a manipulação de dados contidos em uma base dados por aplicações desenvolvidas com o paradigma orientados a objetos. Uma tabela de uma base de dados é vista na forma de uma classe, enquanto que cada linha da tabela é considerada um objeto desta classe. Quando um objeto é criado, alterado ou excluído esta ação é automaticamente refletida na base de dados. Desta forma não é necessário que o desenvolvedor conheça uma linguagem de manipulação de dados como SQL, além de manter toda a aplicação desenvolvida no paradigma orientado a objetos.

CakePHP Cake é um framework para PHP que usa padrões de desenvolvimento conhecidos como ActiveRecord e MVC. A idéia principal é ser um framework estruturado que permita a usuários PHP de todos os níveis desenvolver aplicações web rubustas sem perda da flexibilidade.

CakePHP - Vantagens Licença flexível (MIT) Compatibilidade com PHP4 e PHP5 Geração de CRUD para interação com BD Arquitetura MVC Validações Templates Ferramentas que auxiliam gerar Javascript, AJAX, forms HTML, etc Comunidade ativa Funciona em qualquer subdiretório web, com pouca configuração do Apache.

Symfony Symfony é um framework de desenvolvimento para PHP5. Seu principal objetivo é aumentar a velocidade de desenvolvimento e manutenção de aplicações web. Ele reduz as tarefas de codificação repetitivas, usando os princípios de DRY(Dont Repeat Yourself) e KISS (Keep It Simple Stupid)

Symfony - Vantagens Licença flexível (MIT) Fácil de instalar e configurar Simples para aprender Altamente configurável: desde a estrutura de diretórios até bibliotecas de terceiros, quase tudo pode ser customizado Compatível com grande número de melhores práticas e design patterns do ambiente web Compatível com diversos bancos de dados Não re-inventa a roda. Usa outros projetos como Creole (banco de dados), Propel (mapeamento objeto-relacional) e Mojavi (MVC) Gerador de código

Zend Framework O Zend Framework é um framework para PHP 5, orientado a objetos e baseado em MVC, que é desenvolvido pela empresa Zend junto com a comunidade de usuários PHP. O Zend Framework faz parte do projeto PHP Collaboration Project da Zend. O Collaboration Project é uma iniciativa da Zend, seus parceiros de negócios e a comunidade de desenvolvedores para impulsionar a utilização da linguagem PHP. Fazem parte deste projeto o Zend Framework, o portal Zend Developer Zone e a ferramenta Eclipse PHP IDE.

Zend Framework - Vantagens Suporte comercial da Zend Baseado em componentes reutilizáveis como BD, Logs, envio de e-mails, geração de PDF, segurança, etc Excelente documentação Fácil instalação

Prado Prado é um framework baseado em componentes e orientado a eventos desenvolvido para ser utilizado com o PHP 5.1. Seu desenvolvimento sofreu influências de outras ferramentas como o ASP.NET e o Delphi, principalmente no conceito de orientação a eventos

Prado - Vantagens Separação de apresentação e lógica Reusabilidade por utilizar o conceito de componentes Possui componentes que auxiliam na validação de formulários Arquivos de configuração em XML são usados para definir as características de aplicações e módulos Suporte nativo a Internacionalização Recursos de cache para aumentar a performance Suporte a múltiplos bancos de dados usando a biblioteca ADOdb Possui controles de segurança para evitar problemas como site-cruzado, SQL Injection etc Suporte a AJAX

CodeIgniter O CodeIgniter é um framework para desenvolvimento em PHP 4 ou PHP 5 que tem seu foco na simplicidade

CodeIgniter - Vantagens Pequeno Fácil instalação Boa performance Não precisa da linha de comando Flexibilidade Não possui dependências de outras bibliotecas Documentação clara

talk is cheap......show me the code!

Modelagem

Usando o CakePHP Criar um projeto php cake/scripts/bake.php -project demo Criar as aplicações php cake/scripts/bake.php -app demo

Atenção! O próximo slide é uma prova da cara-de-pau do palestrante!

Propaganda

Depoimentos Melhor que um roundhouse kick!

Depoimentos A força sinto nesse livro!

Contato Elton Luís Minetto eminetto@gmail.com http://www.eltonminetto.net