SlideShare una empresa de Scribd logo
1 de 38
Descargar para leer sin conexión
Desenvolvendo aplicações PHP,
   AJAX e YUI! Yahoo User
          Interface

        Domingos Teruel
     Bruno Neófiti de Andrade
Experiência Profissional

Tecnólogo em computação
     cursando especialização em
  Sistemas Web e Interface de Usuários;
Atua na área de desenvolvimento e
implementação de projetos de      sistemas
web-based em Software       Livre, trabalha
com PHP desde 1999.
Analista de Sistemas da instituição
ONU/OMS/OPAS/BIREME desde 2004
Experiência Profissional

Desenvolvedor de Software
             ONU/OMS/OPAS/BIREME
Engenheiro da Computação
          cursando Pós Engenharia de
    Software
Trabalho com PHP e SL
                   desde 2000
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 !!
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
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
Quem esta usando PHP
Por quê AJAX?
Ajax quer dizer: Asynchronous Javascript
and XML

Mas também pode ser:
Asynchronous Javascript and

  + XHTML
  + JSON
  + CSS
Por quê AJAX?
O ciclo tradicional
Por quê AJAX?
O ciclo AJAX
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
Quem esta usando AJAX com YUI
Outros frameworks JS
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 cross-browser. Outras, como
     o Calendário, apresenta widgets que pode ser
 representados em sua página com um visual(design)
                        padrão.”

                                           YUI Team
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.
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
O que é preciso saber para
          desenvolver?
Utilizar uma ferramenta de Controle de
Versão
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)
Arquitetura Aplicação Web
Arquitetura Aplicação Web
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
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
Camada de Negócios

Programação Orientada a Objeto
Utilizar conceito Container
Devo utilizar um framework como Zend
Framework, CakePHP, etc?
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
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
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 !
YUI e carga de dados
Definição de campos
Tipo de Campos




Meta Campos
Lista de Resultados
Lógica de acesso a BD
Modulo de Conexão com a base de Dados
ISIS (WXIS-MODULES)
Saída de Dados
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
Caso de Uso
Caso de Uso
Caso de Uso
Caso de Uso
Dúvidas e afins
Agradecimentos

ONU/OMS/OPAS/BIREME
CONAPHP
CONISLI
Manoel Lemos
Yahoo – YUI Team
Referências
http://developers.yahoo.com/yui
http://www.yuiblog.com
http://devzone.zend.com
http://www.bireme.org
http://blog.davglass.com/
Obrigado!


    Domingos Teruel
   webmaster@dteruel.com.br


Bruno Neófiti de Andrade
  brunoneofiti@hotmail.com

Más contenido relacionado

La actualidad más candente

Joomla 3.0 - Novidades sobre a versão
Joomla 3.0 - Novidades sobre a versãoJoomla 3.0 - Novidades sobre a versão
Joomla 3.0 - Novidades sobre a versãoBule Comunicação
 
4º FastShow - WPF Windows Presentation Foundation Overview
4º FastShow - WPF Windows Presentation Foundation Overview4º FastShow - WPF Windows Presentation Foundation Overview
4º FastShow - WPF Windows Presentation Foundation Overviewqualidatavix
 
Utilização de APIs do Windows Live
Utilização de APIs do Windows LiveUtilização de APIs do Windows Live
Utilização de APIs do Windows LiveCampus Party Brasil
 
Desenvovelndo Aplicações com PHP, AJAX e Y!UI Yahoo User Interface
Desenvovelndo Aplicações com PHP, AJAX e Y!UI Yahoo User InterfaceDesenvovelndo Aplicações com PHP, AJAX e Y!UI Yahoo User Interface
Desenvovelndo Aplicações com PHP, AJAX e Y!UI Yahoo User InterfaceDomingos Teruel
 
Conhecendo o WordPress, números, dados e como instalar
Conhecendo o WordPress, números, dados e como instalarConhecendo o WordPress, números, dados e como instalar
Conhecendo o WordPress, números, dados e como instalarValério Souza
 
Impacto da aplicação dametodologia xp nas
Impacto da aplicação dametodologia xp nasImpacto da aplicação dametodologia xp nas
Impacto da aplicação dametodologia xp naseucivonfonseca
 
Módulo: 5 – Desenvolvimento de Páginas Web Dinâmicas: Javascript
Módulo: 5 – Desenvolvimento de Páginas Web Dinâmicas: JavascriptMódulo: 5 – Desenvolvimento de Páginas Web Dinâmicas: Javascript
Módulo: 5 – Desenvolvimento de Páginas Web Dinâmicas: JavascriptAgrupamento de Escolas da Batalha
 
Do design à implementação - acessibilidade de websites e sistemas de informação
Do design à implementação - acessibilidade de websites e sistemas de informaçãoDo design à implementação - acessibilidade de websites e sistemas de informação
Do design à implementação - acessibilidade de websites e sistemas de informaçãoMauro Pinheiro
 
Curso de Joomla na Pratica
Curso de Joomla na PraticaCurso de Joomla na Pratica
Curso de Joomla na PraticaGrupo Treinar
 
Minicurso WordPress
Minicurso WordPressMinicurso WordPress
Minicurso WordPressEdson Silva
 
Como escolher um CMS Open-Source?
Como escolher um CMS Open-Source?Como escolher um CMS Open-Source?
Como escolher um CMS Open-Source?Simples Consultoria
 
WordPress CMS - Gestão de conteúdo nunca foi tão fácil
WordPress CMS - Gestão de conteúdo nunca foi tão fácilWordPress CMS - Gestão de conteúdo nunca foi tão fácil
WordPress CMS - Gestão de conteúdo nunca foi tão fácilMatteus Barbosa
 
Desenvolvendo e portando App C# para Android e Iphone
Desenvolvendo e portando App C# para Android e IphoneDesenvolvendo e portando App C# para Android e Iphone
Desenvolvendo e portando App C# para Android e IphoneAlessandro Binhara
 
Dando vida ao sketch com Firebase
Dando vida ao sketch com FirebaseDando vida ao sketch com Firebase
Dando vida ao sketch com FirebaseGDGFoz
 

La actualidad más candente (20)

Curso web faveni aula 27
Curso web faveni aula 27Curso web faveni aula 27
Curso web faveni aula 27
 
Introdução aos Padrões Web e Tecnologias para o Ambiente Digital - Aula 4 - 1...
Introdução aos Padrões Web e Tecnologias para o Ambiente Digital - Aula 4 - 1...Introdução aos Padrões Web e Tecnologias para o Ambiente Digital - Aula 4 - 1...
Introdução aos Padrões Web e Tecnologias para o Ambiente Digital - Aula 4 - 1...
 
Silverlight
SilverlightSilverlight
Silverlight
 
Joomla 3.0 - Novidades sobre a versão
Joomla 3.0 - Novidades sobre a versãoJoomla 3.0 - Novidades sobre a versão
Joomla 3.0 - Novidades sobre a versão
 
4º FastShow - WPF Windows Presentation Foundation Overview
4º FastShow - WPF Windows Presentation Foundation Overview4º FastShow - WPF Windows Presentation Foundation Overview
4º FastShow - WPF Windows Presentation Foundation Overview
 
Xamarin plataform
Xamarin plataformXamarin plataform
Xamarin plataform
 
Utilização de APIs do Windows Live
Utilização de APIs do Windows LiveUtilização de APIs do Windows Live
Utilização de APIs do Windows Live
 
Plataformas cms
Plataformas cmsPlataformas cms
Plataformas cms
 
Desenvovelndo Aplicações com PHP, AJAX e Y!UI Yahoo User Interface
Desenvovelndo Aplicações com PHP, AJAX e Y!UI Yahoo User InterfaceDesenvovelndo Aplicações com PHP, AJAX e Y!UI Yahoo User Interface
Desenvovelndo Aplicações com PHP, AJAX e Y!UI Yahoo User Interface
 
Conhecendo o WordPress, números, dados e como instalar
Conhecendo o WordPress, números, dados e como instalarConhecendo o WordPress, números, dados e como instalar
Conhecendo o WordPress, números, dados e como instalar
 
Impacto da aplicação dametodologia xp nas
Impacto da aplicação dametodologia xp nasImpacto da aplicação dametodologia xp nas
Impacto da aplicação dametodologia xp nas
 
Apresentacao Web2.0
Apresentacao Web2.0Apresentacao Web2.0
Apresentacao Web2.0
 
Módulo: 5 – Desenvolvimento de Páginas Web Dinâmicas: Javascript
Módulo: 5 – Desenvolvimento de Páginas Web Dinâmicas: JavascriptMódulo: 5 – Desenvolvimento de Páginas Web Dinâmicas: Javascript
Módulo: 5 – Desenvolvimento de Páginas Web Dinâmicas: Javascript
 
Do design à implementação - acessibilidade de websites e sistemas de informação
Do design à implementação - acessibilidade de websites e sistemas de informaçãoDo design à implementação - acessibilidade de websites e sistemas de informação
Do design à implementação - acessibilidade de websites e sistemas de informação
 
Curso de Joomla na Pratica
Curso de Joomla na PraticaCurso de Joomla na Pratica
Curso de Joomla na Pratica
 
Minicurso WordPress
Minicurso WordPressMinicurso WordPress
Minicurso WordPress
 
Como escolher um CMS Open-Source?
Como escolher um CMS Open-Source?Como escolher um CMS Open-Source?
Como escolher um CMS Open-Source?
 
WordPress CMS - Gestão de conteúdo nunca foi tão fácil
WordPress CMS - Gestão de conteúdo nunca foi tão fácilWordPress CMS - Gestão de conteúdo nunca foi tão fácil
WordPress CMS - Gestão de conteúdo nunca foi tão fácil
 
Desenvolvendo e portando App C# para Android e Iphone
Desenvolvendo e portando App C# para Android e IphoneDesenvolvendo e portando App C# para Android e Iphone
Desenvolvendo e portando App C# para Android e Iphone
 
Dando vida ao sketch com Firebase
Dando vida ao sketch com FirebaseDando vida ao sketch com Firebase
Dando vida ao sketch com Firebase
 

Destacado

documento para wiki
documento para wikidocumento para wiki
documento para wikiguestfd27592
 
Black And White Presentation, Slide Show 2
Black And White Presentation, Slide Show 2Black And White Presentation, Slide Show 2
Black And White Presentation, Slide Show 2Matt Fox
 
Coger Versus Correr
Coger Versus CorrerCoger Versus Correr
Coger Versus Correrhuehue 1
 
Slides
SlidesSlides
Slidesodilea
 
Legalization Of Discrimination
Legalization Of DiscriminationLegalization Of Discrimination
Legalization Of DiscriminationTanjadarling
 
Momentos en los que uno puede maldecir
Momentos en los que uno puede maldecirMomentos en los que uno puede maldecir
Momentos en los que uno puede maldecirnopueser
 
GHOP - GSoC Campus Party 2008
GHOP - GSoC Campus Party 2008GHOP - GSoC Campus Party 2008
GHOP - GSoC Campus Party 2008Dani Latorre
 
Aim Products, Indore, Kindergarten Teaching Aids
Aim Products, Indore, Kindergarten Teaching AidsAim Products, Indore, Kindergarten Teaching Aids
Aim Products, Indore, Kindergarten Teaching AidsIndiaMART InterMESH Limited
 
Learning from Apache to create Open Specifications
Learning from Apache to create Open SpecificationsLearning from Apache to create Open Specifications
Learning from Apache to create Open SpecificationsDavid Recordon
 
Bibliotekledermøtet 6. november
Bibliotekledermøtet 6. novemberBibliotekledermøtet 6. november
Bibliotekledermøtet 6. novemberJannicke Røgler
 
Cook Shire Libraries October 2008
Cook Shire Libraries October 2008Cook Shire Libraries October 2008
Cook Shire Libraries October 2008Mary Kajewski
 
Safe Built Environment
Safe Built EnvironmentSafe Built Environment
Safe Built Environmentguest674fa
 
Trabajo De Sociedad
Trabajo De SociedadTrabajo De Sociedad
Trabajo De Sociedadguest4a19ec
 

Destacado (18)

documento para wiki
documento para wikidocumento para wiki
documento para wiki
 
8volt
8volt8volt
8volt
 
Black And White Presentation, Slide Show 2
Black And White Presentation, Slide Show 2Black And White Presentation, Slide Show 2
Black And White Presentation, Slide Show 2
 
Coger Versus Correr
Coger Versus CorrerCoger Versus Correr
Coger Versus Correr
 
Slides
SlidesSlides
Slides
 
Legalization Of Discrimination
Legalization Of DiscriminationLegalization Of Discrimination
Legalization Of Discrimination
 
Momentos en los que uno puede maldecir
Momentos en los que uno puede maldecirMomentos en los que uno puede maldecir
Momentos en los que uno puede maldecir
 
GHOP - GSoC Campus Party 2008
GHOP - GSoC Campus Party 2008GHOP - GSoC Campus Party 2008
GHOP - GSoC Campus Party 2008
 
Aim Products, Indore, Kindergarten Teaching Aids
Aim Products, Indore, Kindergarten Teaching AidsAim Products, Indore, Kindergarten Teaching Aids
Aim Products, Indore, Kindergarten Teaching Aids
 
Abernal2014
Abernal2014Abernal2014
Abernal2014
 
once reglas
once reglasonce reglas
once reglas
 
Learning from Apache to create Open Specifications
Learning from Apache to create Open SpecificationsLearning from Apache to create Open Specifications
Learning from Apache to create Open Specifications
 
6joule
6joule6joule
6joule
 
Bibliotekledermøtet 6. november
Bibliotekledermøtet 6. novemberBibliotekledermøtet 6. november
Bibliotekledermøtet 6. november
 
Cook Shire Libraries October 2008
Cook Shire Libraries October 2008Cook Shire Libraries October 2008
Cook Shire Libraries October 2008
 
Safe Built Environment
Safe Built EnvironmentSafe Built Environment
Safe Built Environment
 
My Recent Works-Quatrro
My Recent Works-QuatrroMy Recent Works-Quatrro
My Recent Works-Quatrro
 
Trabajo De Sociedad
Trabajo De SociedadTrabajo De Sociedad
Trabajo De Sociedad
 

Similar a Desenvolvendo Aplicações com PHP, AJAX e YUI!

Apresentação Minas - Desenvolvendo Sites
Apresentação Minas - Desenvolvendo SitesApresentação Minas - Desenvolvendo Sites
Apresentação Minas - Desenvolvendo Sitesthiagolima
 
Projeto Web - Aula 1 - Fundamentos do Dev WEB.pptx
Projeto Web - Aula 1 - Fundamentos do Dev WEB.pptxProjeto Web - Aula 1 - Fundamentos do Dev WEB.pptx
Projeto Web - Aula 1 - Fundamentos do Dev WEB.pptxLuiz Antonio
 
Ferramentas Livres para Desenvolvimento Web
Ferramentas Livres para Desenvolvimento WebFerramentas Livres para Desenvolvimento Web
Ferramentas Livres para Desenvolvimento Webigorpimentel
 
Desenvolvimento web com software livre
Desenvolvimento web com software livreDesenvolvimento web com software livre
Desenvolvimento web com software livreRuan Carvalho
 
Introdução sobre desenvolvimento web
Introdução sobre desenvolvimento webIntrodução sobre desenvolvimento web
Introdução sobre desenvolvimento webRodrigo Rodrigues
 
Web Tools Pt B R
Web Tools Pt  B RWeb Tools Pt  B R
Web Tools Pt B Rguestb9d145
 
Introdução ao desenvolvimento da web.pptx
Introdução ao desenvolvimento da web.pptxIntrodução ao desenvolvimento da web.pptx
Introdução ao desenvolvimento da web.pptxMarceloRosenbrock1
 
Desenvolvimento Web em ambiente de software livre
Desenvolvimento Web em ambiente de software livreDesenvolvimento Web em ambiente de software livre
Desenvolvimento Web em ambiente de software livrePedro Neto
 
Campus Party - Desenvolvendo aplicações .Net com software gratuito
Campus Party  - Desenvolvendo aplicações .Net com software gratuitoCampus Party  - Desenvolvendo aplicações .Net com software gratuito
Campus Party - Desenvolvendo aplicações .Net com software gratuitoAlexandre Tarifa
 
Java Web Dev Introdução
Java Web Dev IntroduçãoJava Web Dev Introdução
Java Web Dev IntroduçãoMarcio Marinho
 
Curso ASP.Net - Módulo 1
Curso ASP.Net - Módulo 1Curso ASP.Net - Módulo 1
Curso ASP.Net - Módulo 1michellobo
 
Trabalho 4 Semestre e 5 Semestre 2015
Trabalho 4 Semestre e 5 Semestre 2015Trabalho 4 Semestre e 5 Semestre 2015
Trabalho 4 Semestre e 5 Semestre 2015Rodrigo Marinho
 
Desenvolvimento de Aplicações com Visual Studio
Desenvolvimento de Aplicações com Visual StudioDesenvolvimento de Aplicações com Visual Studio
Desenvolvimento de Aplicações com Visual StudioGeovani Ferreira Gonçalves
 
F R A M E W O R K D J A N G O
F R A M E W O R K  D J A N G OF R A M E W O R K  D J A N G O
F R A M E W O R K D J A N G Ofabio.thomaz
 
powerPointFinal.pptx
powerPointFinal.pptxpowerPointFinal.pptx
powerPointFinal.pptxAdilsonLucas6
 

Similar a Desenvolvendo Aplicações com PHP, AJAX e YUI! (20)

Apresentação Minas - Desenvolvendo Sites
Apresentação Minas - Desenvolvendo SitesApresentação Minas - Desenvolvendo Sites
Apresentação Minas - Desenvolvendo Sites
 
Projeto Web - Aula 1 - Fundamentos do Dev WEB.pptx
Projeto Web - Aula 1 - Fundamentos do Dev WEB.pptxProjeto Web - Aula 1 - Fundamentos do Dev WEB.pptx
Projeto Web - Aula 1 - Fundamentos do Dev WEB.pptx
 
A Linguagem Php
A Linguagem PhpA Linguagem Php
A Linguagem Php
 
Ferramentas Livres para Desenvolvimento Web
Ferramentas Livres para Desenvolvimento WebFerramentas Livres para Desenvolvimento Web
Ferramentas Livres para Desenvolvimento Web
 
Desenvolvimento web com software livre
Desenvolvimento web com software livreDesenvolvimento web com software livre
Desenvolvimento web com software livre
 
Introdução sobre desenvolvimento web
Introdução sobre desenvolvimento webIntrodução sobre desenvolvimento web
Introdução sobre desenvolvimento web
 
Web Tools Pt B R
Web Tools Pt  B RWeb Tools Pt  B R
Web Tools Pt B R
 
Introdução aos Padrões Web e Tecnologias para o Ambiente Digital - Aula 02 - ...
Introdução aos Padrões Web e Tecnologias para o Ambiente Digital - Aula 02 - ...Introdução aos Padrões Web e Tecnologias para o Ambiente Digital - Aula 02 - ...
Introdução aos Padrões Web e Tecnologias para o Ambiente Digital - Aula 02 - ...
 
Introdução ao desenvolvimento da web.pptx
Introdução ao desenvolvimento da web.pptxIntrodução ao desenvolvimento da web.pptx
Introdução ao desenvolvimento da web.pptx
 
Desenvolvimento Web em ambiente de software livre
Desenvolvimento Web em ambiente de software livreDesenvolvimento Web em ambiente de software livre
Desenvolvimento Web em ambiente de software livre
 
Campus Party - Desenvolvendo aplicações .Net com software gratuito
Campus Party  - Desenvolvendo aplicações .Net com software gratuitoCampus Party  - Desenvolvendo aplicações .Net com software gratuito
Campus Party - Desenvolvendo aplicações .Net com software gratuito
 
XHTML e CSS
XHTML e CSSXHTML e CSS
XHTML e CSS
 
Java Web Dev Introdução
Java Web Dev IntroduçãoJava Web Dev Introdução
Java Web Dev Introdução
 
Curso ASP.Net - Módulo 1
Curso ASP.Net - Módulo 1Curso ASP.Net - Módulo 1
Curso ASP.Net - Módulo 1
 
Trabalho 4 Semestre e 5 Semestre 2015
Trabalho 4 Semestre e 5 Semestre 2015Trabalho 4 Semestre e 5 Semestre 2015
Trabalho 4 Semestre e 5 Semestre 2015
 
Desenvolvimento de Aplicações com Visual Studio
Desenvolvimento de Aplicações com Visual StudioDesenvolvimento de Aplicações com Visual Studio
Desenvolvimento de Aplicações com Visual Studio
 
F R A M E W O R K D J A N G O
F R A M E W O R K  D J A N G OF R A M E W O R K  D J A N G O
F R A M E W O R K D J A N G O
 
Conceitos de Ajax
Conceitos de AjaxConceitos de Ajax
Conceitos de Ajax
 
Airwebexpo
AirwebexpoAirwebexpo
Airwebexpo
 
powerPointFinal.pptx
powerPointFinal.pptxpowerPointFinal.pptx
powerPointFinal.pptx
 

Desenvolvendo Aplicações com PHP, AJAX e YUI!

  • 1. Desenvolvendo aplicações PHP, AJAX e YUI! Yahoo User Interface Domingos Teruel Bruno Neófiti de Andrade
  • 2. Experiência Profissional Tecnólogo em computação cursando especialização em Sistemas Web e Interface de Usuários; Atua na área de desenvolvimento e implementação de projetos de sistemas web-based em Software Livre, trabalha com PHP desde 1999. Analista de Sistemas da instituição ONU/OMS/OPAS/BIREME desde 2004
  • 3. Experiência Profissional Desenvolvedor de Software ONU/OMS/OPAS/BIREME Engenheiro da Computação cursando Pós Engenharia de Software Trabalho com PHP e SL desde 2000
  • 4. 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 !!
  • 5. 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
  • 6. 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
  • 8. Por quê AJAX? Ajax quer dizer: Asynchronous Javascript and XML Mas também pode ser: Asynchronous Javascript and + XHTML + JSON + CSS
  • 9. Por quê AJAX? O ciclo tradicional
  • 10. Por quê AJAX? O ciclo AJAX
  • 11. 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
  • 12. Quem esta usando AJAX com YUI
  • 14. 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 cross-browser. Outras, como o Calendário, apresenta widgets que pode ser representados em sua página com um visual(design) padrão.” YUI Team
  • 15. 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.
  • 16. 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
  • 17. O que é preciso saber para desenvolver? Utilizar uma ferramenta de Controle de Versão
  • 18. 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)
  • 21. 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
  • 22. 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
  • 23. Camada de Negócios Programação Orientada a Objeto Utilizar conceito Container Devo utilizar um framework como Zend Framework, CakePHP, etc?
  • 24. 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
  • 25. 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
  • 26. 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 !
  • 27. YUI e carga de dados Definição de campos Tipo de Campos Meta Campos Lista de Resultados
  • 28. Lógica de acesso a BD Modulo de Conexão com a base de Dados ISIS (WXIS-MODULES)
  • 30. 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
  • 38. Obrigado! Domingos Teruel webmaster@dteruel.com.br Bruno Neófiti de Andrade brunoneofiti@hotmail.com