desenvolvendo aplicações php com, ajax e y!ui yahoo! user interface domingos teruel analista de...
TRANSCRIPT
![Page 1: Desenvolvendo aplicações PHP com, AJAX e Y!UI Yahoo! User Interface Domingos Teruel Analista de Software](https://reader036.vdocuments.pub/reader036/viewer/2022062512/552fc0f8497959413d8b53a4/html5/thumbnails/1.jpg)
Desenvolvendo aplicações PHP com, AJAX e Y!UI Yahoo! User
Interface
Domingos TeruelAnalista de Software
![Page 2: Desenvolvendo aplicações PHP com, AJAX e Y!UI Yahoo! User Interface Domingos Teruel Analista de Software](https://reader036.vdocuments.pub/reader036/viewer/2022062512/552fc0f8497959413d8b53a4/html5/thumbnails/2.jpg)
Experiência Profissional
• Tecnólogo em Processamento de dados, especialista em Interfaces de sistemas;
• Atua no desenvolvimento e implementação de sistemas web com software livre;
• Desenvolvedor PHP desde 1999;
• Analista de software de ITI em Lightcomm Tecnologia e Serviços
• Consultor em tecnologias móvel (especialista em ambiente Blackberry)
![Page 3: Desenvolvendo aplicações PHP com, AJAX e Y!UI Yahoo! User Interface Domingos Teruel Analista de Software](https://reader036.vdocuments.pub/reader036/viewer/2022062512/552fc0f8497959413d8b53a4/html5/thumbnails/3.jpg)
Quem esta na Platéia?
• Fãs de Software Livre ?• Estudantes ?• Desenvolvedores Avançado de PHP ?• Desenvolvedores de outras Linguagens ?• Todas as opções acima !• Nenhuma das outras opções !!
![Page 4: Desenvolvendo aplicações PHP com, AJAX e Y!UI Yahoo! User Interface Domingos Teruel Analista de Software](https://reader036.vdocuments.pub/reader036/viewer/2022062512/552fc0f8497959413d8b53a4/html5/thumbnails/4.jpg)
Linha da apresentação
• Porque utilizar PHP no meu projeto• Utilizando Ajax com PHP• Porque YUI• Desenvolvimento de um Projeto
– Camada de Apresentação com YUI– Camada de Negócios e Modelo
![Page 5: Desenvolvendo aplicações PHP com, AJAX e Y!UI Yahoo! User Interface Domingos Teruel Analista de Software](https://reader036.vdocuments.pub/reader036/viewer/2022062512/552fc0f8497959413d8b53a4/html5/thumbnails/5.jpg)
Porque usar PHP se existe o ASP, JSP, Python, .NET… ?
• Excelente Custo/Benefício• Perfomance / Robustez / Escalabilidade• Curva de aprendizagem curta• Open Source / Software livre• Multi-plataformas• Interoperabilidade• Grande Comunidade ativa
![Page 6: Desenvolvendo aplicações PHP com, AJAX e Y!UI Yahoo! User Interface Domingos Teruel Analista de Software](https://reader036.vdocuments.pub/reader036/viewer/2022062512/552fc0f8497959413d8b53a4/html5/thumbnails/6.jpg)
Quem esta usando PHP
![Page 7: Desenvolvendo aplicações PHP com, AJAX e Y!UI Yahoo! User Interface Domingos Teruel Analista de Software](https://reader036.vdocuments.pub/reader036/viewer/2022062512/552fc0f8497959413d8b53a4/html5/thumbnails/7.jpg)
Por que de um Framework?
Segundo a Wikipedia, um Framework é:
"uma abstração onde um conjunto comum de código fornece funcionalidades genérica que podem ser seletivamente sobrepostas ouespecializadas pelo utilizador do código fornecendo uma funcionalidade específica. "
![Page 8: Desenvolvendo aplicações PHP com, AJAX e Y!UI Yahoo! User Interface Domingos Teruel Analista de Software](https://reader036.vdocuments.pub/reader036/viewer/2022062512/552fc0f8497959413d8b53a4/html5/thumbnails/8.jpg)
Por que de um Framework?
• Simplificação• Agilidade / Rapidez• Padrões de desenvolvimento / Design
Pattern• Organização• Menos código• Conjunto de utilitários
![Page 9: Desenvolvendo aplicações PHP com, AJAX e Y!UI Yahoo! User Interface Domingos Teruel Analista de Software](https://reader036.vdocuments.pub/reader036/viewer/2022062512/552fc0f8497959413d8b53a4/html5/thumbnails/9.jpg)
Por quê AJAX?
• Ajax quer dizer: Asynchronous Javascript and XML
• Mas também pode ser:– Asynchronous Javascript and
+ XHTML+ JSON+ CSS
![Page 10: Desenvolvendo aplicações PHP com, AJAX e Y!UI Yahoo! User Interface Domingos Teruel Analista de Software](https://reader036.vdocuments.pub/reader036/viewer/2022062512/552fc0f8497959413d8b53a4/html5/thumbnails/10.jpg)
Por quê AJAX?
• O ciclo tradicional
![Page 11: Desenvolvendo aplicações PHP com, AJAX e Y!UI Yahoo! User Interface Domingos Teruel Analista de Software](https://reader036.vdocuments.pub/reader036/viewer/2022062512/552fc0f8497959413d8b53a4/html5/thumbnails/11.jpg)
Por quê AJAX?
• O ciclo AJAX
![Page 12: Desenvolvendo aplicações PHP com, AJAX e Y!UI Yahoo! User Interface Domingos Teruel Analista de Software](https://reader036.vdocuments.pub/reader036/viewer/2022062512/552fc0f8497959413d8b53a4/html5/thumbnails/12.jpg)
Por quê AJAX?
• O que muda para o usuário– Uso de AJAX substitui refresh de páginas por
atualização(update) nas páginas.– Melhora a experiência do usuário com a interface– Possibilidade de melhorias na interação com o
usuário: melhor usabilidade, melhor interatividade com quem usa
– Utilização de efeitos visuais (limitado, mas suficiente)
– Economia de banda (aplicação mais veloz)– Grande quantidade de frameworks Javascripts
disponíveis no mercado
![Page 13: Desenvolvendo aplicações PHP com, AJAX e Y!UI Yahoo! User Interface Domingos Teruel Analista de Software](https://reader036.vdocuments.pub/reader036/viewer/2022062512/552fc0f8497959413d8b53a4/html5/thumbnails/13.jpg)
Quem esta usando AJAX com YUI
![Page 14: Desenvolvendo aplicações PHP com, AJAX e Y!UI Yahoo! User Interface Domingos Teruel Analista de Software](https://reader036.vdocuments.pub/reader036/viewer/2022062512/552fc0f8497959413d8b53a4/html5/thumbnails/14.jpg)
Outros frameworks JS
![Page 15: Desenvolvendo aplicações PHP com, AJAX e Y!UI Yahoo! User Interface Domingos Teruel Analista de Software](https://reader036.vdocuments.pub/reader036/viewer/2022062512/552fc0f8497959413d8b53a4/html5/thumbnails/15.jpg)
Por que YUI?
“A Biblioteca Yahoo User Interface (YUI) é uma coleção coerente de recursos Javascript e CSS que facilita a construção de aplicações web interativas
em navegadores web. Algumas partes do YUI, como o Event Utility, opera sobre uma camada e esta lá
para facilitar a programação croos-browser. Outras, como o Calendário, apresenta widgets que pode ser representados em sua página com um visual(design)
padrão.”
YUI Team
![Page 16: Desenvolvendo aplicações PHP com, AJAX e Y!UI Yahoo! User Interface Domingos Teruel Analista de Software](https://reader036.vdocuments.pub/reader036/viewer/2022062512/552fc0f8497959413d8b53a4/html5/thumbnails/16.jpg)
Porque YUI
• Excelente documentação• Grande número de desenvolvedores,
ótimos Use cases• Desenvolvimento continuo da aplicação
pelo Yahoo e comunidade• A Biblioteca YUI é livre, está sob a licença
BSD que permite seu uso comercial e não comercial.
![Page 17: Desenvolvendo aplicações PHP com, AJAX e Y!UI Yahoo! User Interface Domingos Teruel Analista de Software](https://reader036.vdocuments.pub/reader036/viewer/2022062512/552fc0f8497959413d8b53a4/html5/thumbnails/17.jpg)
O que é preciso saber para desenvolver?
• Para desenvolver uma aplicação que utilize YUI é recomendado bom conhecimento de XHTML e CSS, noções de DOM e JAVASCRIPT
– Quais ferramentas utilizar?• Navegador: Firefox• Add-ons:
– Firebug– Html Validator– Tamper data– Web Developer– YSlow
![Page 18: Desenvolvendo aplicações PHP com, AJAX e Y!UI Yahoo! User Interface Domingos Teruel Analista de Software](https://reader036.vdocuments.pub/reader036/viewer/2022062512/552fc0f8497959413d8b53a4/html5/thumbnails/18.jpg)
O que é preciso saber para desenvolver?
• Utilizar uma ferramenta de Controle de Versão
![Page 19: Desenvolvendo aplicações PHP com, AJAX e Y!UI Yahoo! User Interface Domingos Teruel Analista de Software](https://reader036.vdocuments.pub/reader036/viewer/2022062512/552fc0f8497959413d8b53a4/html5/thumbnails/19.jpg)
O que é preciso saber para desenvolver?
• Definição das pastas do projeto• Baixar a última versão do YUI e das
outras ferramentas que utilizará no projeto (smarty, nusoap e etc)
![Page 20: Desenvolvendo aplicações PHP com, AJAX e Y!UI Yahoo! User Interface Domingos Teruel Analista de Software](https://reader036.vdocuments.pub/reader036/viewer/2022062512/552fc0f8497959413d8b53a4/html5/thumbnails/20.jpg)
Arquitetura Aplicação Web
![Page 21: Desenvolvendo aplicações PHP com, AJAX e Y!UI Yahoo! User Interface Domingos Teruel Analista de Software](https://reader036.vdocuments.pub/reader036/viewer/2022062512/552fc0f8497959413d8b53a4/html5/thumbnails/21.jpg)
Arquitetura Aplicação Web
![Page 22: Desenvolvendo aplicações PHP com, AJAX e Y!UI Yahoo! User Interface Domingos Teruel Analista de Software](https://reader036.vdocuments.pub/reader036/viewer/2022062512/552fc0f8497959413d8b53a4/html5/thumbnails/22.jpg)
Camada de Apresentação
• Definição do Mockup– Uso de templates engine (SMARTY) para
gerenciar a saída XHTML– Definição do container de navegação– Web Standards
![Page 23: Desenvolvendo aplicações PHP com, AJAX e Y!UI Yahoo! User Interface Domingos Teruel Analista de Software](https://reader036.vdocuments.pub/reader036/viewer/2022062512/552fc0f8497959413d8b53a4/html5/thumbnails/23.jpg)
Como preparar sua aplicação para o YUI
• Definir o escopo do recurso a ser utilizado na interface
• Loader• Dificuldade em trabalhar com aplicações
complexas que utilizam componente DataTable
• Event• Fácil implementar com componente DataTable
![Page 24: Desenvolvendo aplicações PHP com, AJAX e Y!UI Yahoo! User Interface Domingos Teruel Analista de Software](https://reader036.vdocuments.pub/reader036/viewer/2022062512/552fc0f8497959413d8b53a4/html5/thumbnails/24.jpg)
Camada de Negócios
• Programação Orientada a Objeto• Utilizar conceito Container• Devo utilizar um framework como Zend
Framework, CakePHP, etc?
![Page 25: Desenvolvendo aplicações PHP com, AJAX e Y!UI Yahoo! User Interface Domingos Teruel Analista de Software](https://reader036.vdocuments.pub/reader036/viewer/2022062512/552fc0f8497959413d8b53a4/html5/thumbnails/25.jpg)
Desenvolvimento da aplicação
• Bootstrap– Disponibiliza os recursos do sistema– Carrega as definições iniciais da aplicação
• Container– Faz check de segurança– Checa Identificação do Usuário– Gerencia requisições e permissões de usuário
![Page 26: Desenvolvendo aplicações PHP com, AJAX e Y!UI Yahoo! User Interface Domingos Teruel Analista de Software](https://reader036.vdocuments.pub/reader036/viewer/2022062512/552fc0f8497959413d8b53a4/html5/thumbnails/26.jpg)
Internacionalização com YUI
• YUI não contempla de um componente para internacionalização
• Como fazer?– Utilize seu componente PHP de i18n
• Zend_translate• Smarty Translate• Solução caseira
– Navegador defini idioma padrão, arquivo de idioma– Componente que traduz para JavaScript
![Page 27: Desenvolvendo aplicações PHP com, AJAX e Y!UI Yahoo! User Interface Domingos Teruel Analista de Software](https://reader036.vdocuments.pub/reader036/viewer/2022062512/552fc0f8497959413d8b53a4/html5/thumbnails/27.jpg)
YUI e carga de dados
• Componente DataSource– Tipo de dados
• HTML TABLE• TEXT• JSON• JSARRAY• XML
Siga o padrão de cada tipo de dado !
![Page 28: Desenvolvendo aplicações PHP com, AJAX e Y!UI Yahoo! User Interface Domingos Teruel Analista de Software](https://reader036.vdocuments.pub/reader036/viewer/2022062512/552fc0f8497959413d8b53a4/html5/thumbnails/28.jpg)
YUI e carga de dados
• Definição de campos– Tipo de Campos
• Meta Campos• Lista de Resultados
![Page 29: Desenvolvendo aplicações PHP com, AJAX e Y!UI Yahoo! User Interface Domingos Teruel Analista de Software](https://reader036.vdocuments.pub/reader036/viewer/2022062512/552fc0f8497959413d8b53a4/html5/thumbnails/29.jpg)
Saída de Dados
![Page 30: Desenvolvendo aplicações PHP com, AJAX e Y!UI Yahoo! User Interface Domingos Teruel Analista de Software](https://reader036.vdocuments.pub/reader036/viewer/2022062512/552fc0f8497959413d8b53a4/html5/thumbnails/30.jpg)
Para aonde caminha YUI
• YUI 3.X– Mais Leves (menos K-weight sobre o core da página para a
maioria dos usos) – Mais rápido (com menos requisições http, menos escrita de
código e compilação, um código mais eficiente) – Mais consistente (nomenclatura comum, assinaturas de
eventos, widget e toda a APIs da biblioteca)– mais potentes (fazer mais com menos implementação código)– mais segurança (mais seguro e fácil de expor a vários
desenvolvedores trabalhando no mesmo ambiente, maior facilidade de correr em sistemas como Caja ou ADsafe)
• Não Compativel com YUI 2.X– Migração Paralela
![Page 31: Desenvolvendo aplicações PHP com, AJAX e Y!UI Yahoo! User Interface Domingos Teruel Analista de Software](https://reader036.vdocuments.pub/reader036/viewer/2022062512/552fc0f8497959413d8b53a4/html5/thumbnails/31.jpg)
Caso de Uso
![Page 32: Desenvolvendo aplicações PHP com, AJAX e Y!UI Yahoo! User Interface Domingos Teruel Analista de Software](https://reader036.vdocuments.pub/reader036/viewer/2022062512/552fc0f8497959413d8b53a4/html5/thumbnails/32.jpg)
Caso de Uso
![Page 33: Desenvolvendo aplicações PHP com, AJAX e Y!UI Yahoo! User Interface Domingos Teruel Analista de Software](https://reader036.vdocuments.pub/reader036/viewer/2022062512/552fc0f8497959413d8b53a4/html5/thumbnails/33.jpg)
Caso de Uso
![Page 34: Desenvolvendo aplicações PHP com, AJAX e Y!UI Yahoo! User Interface Domingos Teruel Analista de Software](https://reader036.vdocuments.pub/reader036/viewer/2022062512/552fc0f8497959413d8b53a4/html5/thumbnails/34.jpg)
Caso de Uso
![Page 35: Desenvolvendo aplicações PHP com, AJAX e Y!UI Yahoo! User Interface Domingos Teruel Analista de Software](https://reader036.vdocuments.pub/reader036/viewer/2022062512/552fc0f8497959413d8b53a4/html5/thumbnails/35.jpg)
Agradecimentos
• LigthComm Tecnologia• PHP-MG• Yahoo – YUI Team
![Page 36: Desenvolvendo aplicações PHP com, AJAX e Y!UI Yahoo! User Interface Domingos Teruel Analista de Software](https://reader036.vdocuments.pub/reader036/viewer/2022062512/552fc0f8497959413d8b53a4/html5/thumbnails/36.jpg)
Dúvidas e perguntas
![Page 37: Desenvolvendo aplicações PHP com, AJAX e Y!UI Yahoo! User Interface Domingos Teruel Analista de Software](https://reader036.vdocuments.pub/reader036/viewer/2022062512/552fc0f8497959413d8b53a4/html5/thumbnails/37.jpg)
37
Obrigado!!!
• http://twitter.com/mingomax• http://blog.dteruel.com.br• http://meadiciona.com/mingomax
37