SlideShare uma empresa Scribd logo
1 de 29
Baixar para ler offline
Frameworks Opensource:
    ferramentas para
desenvolvimento rápido de
     aplicações Web

        Jairo Barros Junior
     jairobjunior@gmail.com
           @jairobjunior
Apresentação

• Introdução;

• Arquitetura MVC;

• Tecnologias / Frameworks;

• Performance: Apache Benchmark;

• Rank das linguagens;
Introdução


  Framework é um conjunto de classes que
colaboram para realizar uma responsabilidade
    para um domínio de um subsistema da
                 aplicação.
                                 FAYAD e SCHMIDT
Arquitetura
Tecnologias / Frameworks
Client-Side       Server-Side
• JavaScript /    • PHP /
   – jQuery;          –   CodeIgniter;
   – MoolTools;       –   DooPHP;
                      –   CakePHP;
                      –   Drumon Framework;
                  •   Ruby / Rails;
                  •   Python / Django;
                  •   Groovy / Grails;
                  •   Java / Jboss Seam;
Client Side


#1 – Plugins:                    #2 – Criado para designers
  1.   Animation and Effects;
  2.   Drag-and-Drop;
  3.   Menus;
  4.   Media;
  5.   Widgets; etc...          #3 – Cross Browser

                         #4 – Quem usa?
Client-Side



•   OOP;
•   Criado para programadores;
•   Cross Browser;
•   Menos plugin que o jQuery;
Server Side
                          • PHP: Hypertext Preprocessor;
                          • Desde 1994;
                          • Estrutural e OO;
                          • Tipagem fraca;
   http://www.php.net/    • Atual versão: 5.x.x
                          • Mais utilizada em websites;
Frameworks:
Boa documentação com vídeos e podcasts (inglês);

•   Extensível;
•   Scaffolding (CRUD);
•   Compatível com PHP 4;
•   Etc…
Muito rápido…
• RESTful API;
• Cache;
• Etc..


Documentação complicada.
Um dos mais conhecidos em PHP
Grande Comunidade

• Baker para criação das classses
• Uma das melhores documentações existentes



Só peca em performance, é o framework mais lento.
Framework


• PHP 5                         Rápido e simples
• Sistema de URL amigável;
• MVC;
• Sistema de helpers para ajudar os Webdesigners;
• Múltiplos ambientes de desenvolvimento;
• Estrutura compatível com o Capistrano (Deploy)
• Integração nativa com o Drumon CMS
Framework
Pesquisa realizada por Danillo Cesar
Server Side
                                            • Extremamente OO; (não tem primitivo)
                                            • Foco na simplicidade;
                                            • Boom em 2005;
       http://www.ruby-lang.org/pt/
                                            • Domain-specific Language – DSL;


                                      • Meta-Framework;
                                      • Aumento na produtividade: DRY e CoC;
                                      • Rake;

http://www.rubyonrails.pro.br/
                                      • Escalável;
Server Side
                               • Linguagem de alto nível;
                               • Interpretada;
                               • Máquina virtual própria;
  http://www.python.org/
                               • Utilizada pelo Google;



                               • ORM;
                               • Interface administrativa;
                               • Sistema de Cache;
http://www.djangobrasil.org/
                               • i18n;
Server Side

                                • É executado na plataforma Java;
                                • É uma linguagem de Script;
                                • Dinâmica e fotemente tipada;
http://groovy.codehaus.org/     • Lançada em 2007;


                              • Possui algumas caraterísticas de JSP;
                              • Baseado na estrutura do Rails;

  http://www.grails.org/
                              • Utiliza XML na configuração;
                              • Reusa o Spring e Hibernate;
Server Side




Desenvolvimento Web rápido
Server Side
                              • Compilada;
                              • Multiplataforma;
                              • Ideal aplicações corporativas;
                              • OOP;

                              • Async. JavaScript e XML (Ajax);
                              • Java Server Face (JSF);
                              • Java Persistence (JPA);
                              • Enterprise Java Beans (EBJ3);
http://seamframework.org/
                              • Hibernate;
E agora? O que devo utilizar?

Basta saber escolher!
    Porque não está preparado para qualquer uma?
http://www.tiobe.com/index.php/content/paperinfo/tpci/index.html
Referências
•   http://pt.wikipedia.org/wiki/Framework
•   http://jquery.com/
•   http://github.com/jquery
•   http://mootools.net/
•   http://www.php.net
•   http://codeigniter.com/
•   http://cakephp.org/
•   http://www.doophp.com/
•   http://github.com/sook/drumon_framework
•   http://www.ruby-lang.org/pt/
•   http://www.rubyonrails.pro.br/
•   http://www.python.org/
•   http://www.djangobrasil.org/
Perguntas?

Obrigado!

Mais conteúdo relacionado

Mais procurados

Desenvolvimento Mobile Multiplataforma: Uma abordagem ágil e de alto desempen...
Desenvolvimento Mobile Multiplataforma: Uma abordagem ágil e de alto desempen...Desenvolvimento Mobile Multiplataforma: Uma abordagem ágil e de alto desempen...
Desenvolvimento Mobile Multiplataforma: Uma abordagem ágil e de alto desempen...Criciúma Dev
 
ASP.NET vNext no .NET Architects Days 2014
ASP.NET vNext no .NET Architects Days 2014ASP.NET vNext no .NET Architects Days 2014
ASP.NET vNext no .NET Architects Days 2014Giovanni Bassi
 
Richfaces 4 - Desenvolvimento JSF mais rico
Richfaces 4 - Desenvolvimento JSF mais ricoRichfaces 4 - Desenvolvimento JSF mais rico
Richfaces 4 - Desenvolvimento JSF mais ricoEder Magalhães
 
Primeiros passos para o novo desenvolvedor android
Primeiros passos para o novo desenvolvedor androidPrimeiros passos para o novo desenvolvedor android
Primeiros passos para o novo desenvolvedor androidMessias Batista
 
Campus Party 2014 - Desenvolvimento Web com ASP.NET
Campus Party 2014 - Desenvolvimento Web com ASP.NETCampus Party 2014 - Desenvolvimento Web com ASP.NET
Campus Party 2014 - Desenvolvimento Web com ASP.NETEduardo Pires
 
Curso de Java - Antonio Alves - Aula 01
Curso de Java - Antonio Alves - Aula 01Curso de Java - Antonio Alves - Aula 01
Curso de Java - Antonio Alves - Aula 01Antonio Alves
 
Desenvolvendo sua primeira aplicação Web com Rails 5
Desenvolvendo sua primeira aplicação Web com Rails 5Desenvolvendo sua primeira aplicação Web com Rails 5
Desenvolvendo sua primeira aplicação Web com Rails 5Lorena Caldas
 
Curso Java Web (JAVA, JSF, JPA)
Curso Java Web (JAVA, JSF, JPA)Curso Java Web (JAVA, JSF, JPA)
Curso Java Web (JAVA, JSF, JPA)Marcos Batista
 
Projeto Lombok: Escrevendo menos código em Java
Projeto Lombok: Escrevendo menos código em JavaProjeto Lombok: Escrevendo menos código em Java
Projeto Lombok: Escrevendo menos código em JavaMateus Malaquias
 
Introdução Ao Spring Com Spring Boot
Introdução Ao Spring Com Spring BootIntrodução Ao Spring Com Spring Boot
Introdução Ao Spring Com Spring BootAlexandre Rodrigues
 
ASP.NET Core com Linux, Docker e Azure
ASP.NET Core com Linux, Docker e AzureASP.NET Core com Linux, Docker e Azure
ASP.NET Core com Linux, Docker e AzureGiovanni Bassi
 
Futuro do ASP.NET vNext - MVP ShowCast
Futuro do ASP.NET vNext - MVP ShowCast Futuro do ASP.NET vNext - MVP ShowCast
Futuro do ASP.NET vNext - MVP ShowCast Eduardo Pires
 
Uaijug ADF - spring boot - microservice - Introdução
Uaijug ADF - spring boot - microservice - IntroduçãoUaijug ADF - spring boot - microservice - Introdução
Uaijug ADF - spring boot - microservice - IntroduçãoRogerio Fontes
 
Desenvolvendo uma App multiplataforma compartilhando 90% do código
Desenvolvendo uma App multiplataforma compartilhando 90% do códigoDesenvolvendo uma App multiplataforma compartilhando 90% do código
Desenvolvendo uma App multiplataforma compartilhando 90% do códigoGuilherme Heynemann Bruzzi
 
Devops CI/CD: Obtendo qualidade de vida para o time de desenvolvimento
Devops CI/CD: Obtendo qualidade de vida para o time de desenvolvimentoDevops CI/CD: Obtendo qualidade de vida para o time de desenvolvimento
Devops CI/CD: Obtendo qualidade de vida para o time de desenvolvimentoThiago Ferreira
 
Slide Live Conhecendo o Kubernetes
Slide Live Conhecendo o KubernetesSlide Live Conhecendo o Kubernetes
Slide Live Conhecendo o KubernetesElton Fonseca
 

Mais procurados (20)

Desenvolvimento Mobile Multiplataforma: Uma abordagem ágil e de alto desempen...
Desenvolvimento Mobile Multiplataforma: Uma abordagem ágil e de alto desempen...Desenvolvimento Mobile Multiplataforma: Uma abordagem ágil e de alto desempen...
Desenvolvimento Mobile Multiplataforma: Uma abordagem ágil e de alto desempen...
 
ASP.NET vNext no .NET Architects Days 2014
ASP.NET vNext no .NET Architects Days 2014ASP.NET vNext no .NET Architects Days 2014
ASP.NET vNext no .NET Architects Days 2014
 
Ruby on rails
Ruby on railsRuby on rails
Ruby on rails
 
Richfaces 4 - Desenvolvimento JSF mais rico
Richfaces 4 - Desenvolvimento JSF mais ricoRichfaces 4 - Desenvolvimento JSF mais rico
Richfaces 4 - Desenvolvimento JSF mais rico
 
Primeiros passos para o novo desenvolvedor android
Primeiros passos para o novo desenvolvedor androidPrimeiros passos para o novo desenvolvedor android
Primeiros passos para o novo desenvolvedor android
 
Campus Party 2014 - Desenvolvimento Web com ASP.NET
Campus Party 2014 - Desenvolvimento Web com ASP.NETCampus Party 2014 - Desenvolvimento Web com ASP.NET
Campus Party 2014 - Desenvolvimento Web com ASP.NET
 
GWT - RIA baseada em AJAX
GWT - RIA baseada em AJAXGWT - RIA baseada em AJAX
GWT - RIA baseada em AJAX
 
Curso de Java - Antonio Alves - Aula 01
Curso de Java - Antonio Alves - Aula 01Curso de Java - Antonio Alves - Aula 01
Curso de Java - Antonio Alves - Aula 01
 
Desenvolvendo sua primeira aplicação Web com Rails 5
Desenvolvendo sua primeira aplicação Web com Rails 5Desenvolvendo sua primeira aplicação Web com Rails 5
Desenvolvendo sua primeira aplicação Web com Rails 5
 
Curso Java Web (JAVA, JSF, JPA)
Curso Java Web (JAVA, JSF, JPA)Curso Java Web (JAVA, JSF, JPA)
Curso Java Web (JAVA, JSF, JPA)
 
Projeto Lombok: Escrevendo menos código em Java
Projeto Lombok: Escrevendo menos código em JavaProjeto Lombok: Escrevendo menos código em Java
Projeto Lombok: Escrevendo menos código em Java
 
Introdução Ao Spring Com Spring Boot
Introdução Ao Spring Com Spring BootIntrodução Ao Spring Com Spring Boot
Introdução Ao Spring Com Spring Boot
 
ASP.NET Core com Linux, Docker e Azure
ASP.NET Core com Linux, Docker e AzureASP.NET Core com Linux, Docker e Azure
ASP.NET Core com Linux, Docker e Azure
 
Futuro do ASP.NET vNext - MVP ShowCast
Futuro do ASP.NET vNext - MVP ShowCast Futuro do ASP.NET vNext - MVP ShowCast
Futuro do ASP.NET vNext - MVP ShowCast
 
Uaijug ADF - spring boot - microservice - Introdução
Uaijug ADF - spring boot - microservice - IntroduçãoUaijug ADF - spring boot - microservice - Introdução
Uaijug ADF - spring boot - microservice - Introdução
 
Web tools pt-br
Web tools pt-brWeb tools pt-br
Web tools pt-br
 
Desenvolvendo uma App multiplataforma compartilhando 90% do código
Desenvolvendo uma App multiplataforma compartilhando 90% do códigoDesenvolvendo uma App multiplataforma compartilhando 90% do código
Desenvolvendo uma App multiplataforma compartilhando 90% do código
 
Fundamentos em Containers
Fundamentos em ContainersFundamentos em Containers
Fundamentos em Containers
 
Devops CI/CD: Obtendo qualidade de vida para o time de desenvolvimento
Devops CI/CD: Obtendo qualidade de vida para o time de desenvolvimentoDevops CI/CD: Obtendo qualidade de vida para o time de desenvolvimento
Devops CI/CD: Obtendo qualidade de vida para o time de desenvolvimento
 
Slide Live Conhecendo o Kubernetes
Slide Live Conhecendo o KubernetesSlide Live Conhecendo o Kubernetes
Slide Live Conhecendo o Kubernetes
 

Semelhante a Frameworks Opensource: ferramentas para desenvolvimento rápido de aplicações Web

Palestra Zend Framework na Campus Party 2011
Palestra Zend Framework na Campus Party 2011Palestra Zend Framework na Campus Party 2011
Palestra Zend Framework na Campus Party 2011Flávio Lisboa
 
Desenvolvimento web - conceitos, tecnologia e tendências.
Desenvolvimento web - conceitos, tecnologia e tendências.Desenvolvimento web - conceitos, tecnologia e tendências.
Desenvolvimento web - conceitos, tecnologia e tendências.Valmir Justo
 
Curso PHP UNIFACS 2014.1 – Frameworks
Curso PHP UNIFACS 2014.1 – FrameworksCurso PHP UNIFACS 2014.1 – Frameworks
Curso PHP UNIFACS 2014.1 – FrameworksJonata Weber
 
Iniciando com Ruby on Rails - Luiz Fernando Pimenta
Iniciando com Ruby on Rails - Luiz Fernando PimentaIniciando com Ruby on Rails - Luiz Fernando Pimenta
Iniciando com Ruby on Rails - Luiz Fernando Pimentamichel adriano medeiros
 
Oficina de PHP - Software Freedom Day Luziânia 2013
Oficina de PHP - Software Freedom Day Luziânia 2013Oficina de PHP - Software Freedom Day Luziânia 2013
Oficina de PHP - Software Freedom Day Luziânia 2013George Mendonça
 
Introdução ao desenvolvimento web - 2 - iDez 2010
Introdução ao desenvolvimento web - 2 - iDez 2010Introdução ao desenvolvimento web - 2 - iDez 2010
Introdução ao desenvolvimento web - 2 - iDez 2010Maurício Linhares
 
PHP Turbinado com CodeIgniter - Conisli 2011
PHP Turbinado com CodeIgniter - Conisli 2011PHP Turbinado com CodeIgniter - Conisli 2011
PHP Turbinado com CodeIgniter - Conisli 2011Evaldo Junior
 
Ruby on Rails: um estudo de viabilidade em ambientes empresariais
Ruby on Rails: um estudo de viabilidade em ambientes empresariaisRuby on Rails: um estudo de viabilidade em ambientes empresariais
Ruby on Rails: um estudo de viabilidade em ambientes empresariaisRodrigo Recio
 
Best pratices para desenvolvimento mobile
Best pratices para desenvolvimento mobileBest pratices para desenvolvimento mobile
Best pratices para desenvolvimento mobilenipjc
 
Slide Aula - Curso CakePHP
Slide Aula - Curso CakePHPSlide Aula - Curso CakePHP
Slide Aula - Curso CakePHPRangel Javier
 
Desenvolvendo Sistema Cloud e Web Full-stack Developer
Desenvolvendo Sistema Cloud e Web Full-stack DeveloperDesenvolvendo Sistema Cloud e Web Full-stack Developer
Desenvolvendo Sistema Cloud e Web Full-stack DeveloperCesar Romero
 
Desenvolvimento Ágil com Ruby on Rails
Desenvolvimento Ágil com Ruby on RailsDesenvolvimento Ágil com Ruby on Rails
Desenvolvimento Ágil com Ruby on RailsRogerio Chaves
 
WordCamp Floripa 2021 - Gabriel Cano - Sage Framework – O melhor do PHP em um...
WordCamp Floripa 2021 - Gabriel Cano - Sage Framework – O melhor do PHP em um...WordCamp Floripa 2021 - Gabriel Cano - Sage Framework – O melhor do PHP em um...
WordCamp Floripa 2021 - Gabriel Cano - Sage Framework – O melhor do PHP em um...WordCamp Floripa
 
Bibliotecas de interface rica no jsf 2
Bibliotecas de interface rica no jsf 2Bibliotecas de interface rica no jsf 2
Bibliotecas de interface rica no jsf 2Pablo Nóbrega
 
O que move a web atualmente?
O que move a web atualmente?O que move a web atualmente?
O que move a web atualmente?Fabio Janiszevski
 
Javascript levado a sério
Javascript levado a sérioJavascript levado a sério
Javascript levado a sériosaspi2
 
Boas Práticas em Aplicações na Nuvem: Twelve-Factor App - Março-2021
Boas Práticas em Aplicações na Nuvem: Twelve-Factor App - Março-2021Boas Práticas em Aplicações na Nuvem: Twelve-Factor App - Março-2021
Boas Práticas em Aplicações na Nuvem: Twelve-Factor App - Março-2021Renato Groffe
 
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
 

Semelhante a Frameworks Opensource: ferramentas para desenvolvimento rápido de aplicações Web (20)

Palestra Zend Framework na Campus Party 2011
Palestra Zend Framework na Campus Party 2011Palestra Zend Framework na Campus Party 2011
Palestra Zend Framework na Campus Party 2011
 
Java virtual machine quantas linguas fala a jvm2
Java virtual machine   quantas linguas fala a jvm2Java virtual machine   quantas linguas fala a jvm2
Java virtual machine quantas linguas fala a jvm2
 
Desenvolvimento web - conceitos, tecnologia e tendências.
Desenvolvimento web - conceitos, tecnologia e tendências.Desenvolvimento web - conceitos, tecnologia e tendências.
Desenvolvimento web - conceitos, tecnologia e tendências.
 
Curso PHP UNIFACS 2014.1 – Frameworks
Curso PHP UNIFACS 2014.1 – FrameworksCurso PHP UNIFACS 2014.1 – Frameworks
Curso PHP UNIFACS 2014.1 – Frameworks
 
Iniciando com Ruby on Rails - Luiz Fernando Pimenta
Iniciando com Ruby on Rails - Luiz Fernando PimentaIniciando com Ruby on Rails - Luiz Fernando Pimenta
Iniciando com Ruby on Rails - Luiz Fernando Pimenta
 
Oficina de PHP - Software Freedom Day Luziânia 2013
Oficina de PHP - Software Freedom Day Luziânia 2013Oficina de PHP - Software Freedom Day Luziânia 2013
Oficina de PHP - Software Freedom Day Luziânia 2013
 
Introdução ao desenvolvimento web - 2 - iDez 2010
Introdução ao desenvolvimento web - 2 - iDez 2010Introdução ao desenvolvimento web - 2 - iDez 2010
Introdução ao desenvolvimento web - 2 - iDez 2010
 
PHP Turbinado com CodeIgniter - Conisli 2011
PHP Turbinado com CodeIgniter - Conisli 2011PHP Turbinado com CodeIgniter - Conisli 2011
PHP Turbinado com CodeIgniter - Conisli 2011
 
Ruby on Rails: um estudo de viabilidade em ambientes empresariais
Ruby on Rails: um estudo de viabilidade em ambientes empresariaisRuby on Rails: um estudo de viabilidade em ambientes empresariais
Ruby on Rails: um estudo de viabilidade em ambientes empresariais
 
Best pratices para desenvolvimento mobile
Best pratices para desenvolvimento mobileBest pratices para desenvolvimento mobile
Best pratices para desenvolvimento mobile
 
Slide Aula - Curso CakePHP
Slide Aula - Curso CakePHPSlide Aula - Curso CakePHP
Slide Aula - Curso CakePHP
 
Desenvolvendo Sistema Cloud e Web Full-stack Developer
Desenvolvendo Sistema Cloud e Web Full-stack DeveloperDesenvolvendo Sistema Cloud e Web Full-stack Developer
Desenvolvendo Sistema Cloud e Web Full-stack Developer
 
Conhecendo o Django
Conhecendo o DjangoConhecendo o Django
Conhecendo o Django
 
Desenvolvimento Ágil com Ruby on Rails
Desenvolvimento Ágil com Ruby on RailsDesenvolvimento Ágil com Ruby on Rails
Desenvolvimento Ágil com Ruby on Rails
 
WordCamp Floripa 2021 - Gabriel Cano - Sage Framework – O melhor do PHP em um...
WordCamp Floripa 2021 - Gabriel Cano - Sage Framework – O melhor do PHP em um...WordCamp Floripa 2021 - Gabriel Cano - Sage Framework – O melhor do PHP em um...
WordCamp Floripa 2021 - Gabriel Cano - Sage Framework – O melhor do PHP em um...
 
Bibliotecas de interface rica no jsf 2
Bibliotecas de interface rica no jsf 2Bibliotecas de interface rica no jsf 2
Bibliotecas de interface rica no jsf 2
 
O que move a web atualmente?
O que move a web atualmente?O que move a web atualmente?
O que move a web atualmente?
 
Javascript levado a sério
Javascript levado a sérioJavascript levado a sério
Javascript levado a sério
 
Boas Práticas em Aplicações na Nuvem: Twelve-Factor App - Março-2021
Boas Práticas em Aplicações na Nuvem: Twelve-Factor App - Março-2021Boas Práticas em Aplicações na Nuvem: Twelve-Factor App - Março-2021
Boas Práticas em Aplicações na Nuvem: Twelve-Factor App - Março-2021
 
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
 

Mais de Jairo Junior

Arquitetura de Software
Arquitetura de SoftwareArquitetura de Software
Arquitetura de SoftwareJairo Junior
 
Profissionais de TI: Desafios e Oportunidades
Profissionais de TI:  Desafios e OportunidadesProfissionais de TI:  Desafios e Oportunidades
Profissionais de TI: Desafios e OportunidadesJairo Junior
 
Fatores (Des)Motivadores na Adoção de Metodologias Ágeis no Desenvolvimento d...
Fatores (Des)Motivadores na Adoção de Metodologias Ágeis no Desenvolvimento d...Fatores (Des)Motivadores na Adoção de Metodologias Ágeis no Desenvolvimento d...
Fatores (Des)Motivadores na Adoção de Metodologias Ágeis no Desenvolvimento d...Jairo Junior
 
A educação mediada pelo computador: ferramentas do século XXI
A educação mediada pelo computador: ferramentas do século XXIA educação mediada pelo computador: ferramentas do século XXI
A educação mediada pelo computador: ferramentas do século XXIJairo Junior
 
Domain-Driven Design - Aplicada a um estudo de caso
Domain-Driven Design - Aplicada a um estudo de casoDomain-Driven Design - Aplicada a um estudo de caso
Domain-Driven Design - Aplicada a um estudo de casoJairo Junior
 
Certificação Digital (Conceitos e Tendências)
Certificação Digital (Conceitos e Tendências)Certificação Digital (Conceitos e Tendências)
Certificação Digital (Conceitos e Tendências)Jairo Junior
 

Mais de Jairo Junior (6)

Arquitetura de Software
Arquitetura de SoftwareArquitetura de Software
Arquitetura de Software
 
Profissionais de TI: Desafios e Oportunidades
Profissionais de TI:  Desafios e OportunidadesProfissionais de TI:  Desafios e Oportunidades
Profissionais de TI: Desafios e Oportunidades
 
Fatores (Des)Motivadores na Adoção de Metodologias Ágeis no Desenvolvimento d...
Fatores (Des)Motivadores na Adoção de Metodologias Ágeis no Desenvolvimento d...Fatores (Des)Motivadores na Adoção de Metodologias Ágeis no Desenvolvimento d...
Fatores (Des)Motivadores na Adoção de Metodologias Ágeis no Desenvolvimento d...
 
A educação mediada pelo computador: ferramentas do século XXI
A educação mediada pelo computador: ferramentas do século XXIA educação mediada pelo computador: ferramentas do século XXI
A educação mediada pelo computador: ferramentas do século XXI
 
Domain-Driven Design - Aplicada a um estudo de caso
Domain-Driven Design - Aplicada a um estudo de casoDomain-Driven Design - Aplicada a um estudo de caso
Domain-Driven Design - Aplicada a um estudo de caso
 
Certificação Digital (Conceitos e Tendências)
Certificação Digital (Conceitos e Tendências)Certificação Digital (Conceitos e Tendências)
Certificação Digital (Conceitos e Tendências)
 

Frameworks Opensource: ferramentas para desenvolvimento rápido de aplicações Web

  • 1. Frameworks Opensource: ferramentas para desenvolvimento rápido de aplicações Web Jairo Barros Junior jairobjunior@gmail.com @jairobjunior
  • 2. Apresentação • Introdução; • Arquitetura MVC; • Tecnologias / Frameworks; • Performance: Apache Benchmark; • Rank das linguagens;
  • 3. Introdução Framework é um conjunto de classes que colaboram para realizar uma responsabilidade para um domínio de um subsistema da aplicação. FAYAD e SCHMIDT
  • 5. Tecnologias / Frameworks Client-Side Server-Side • JavaScript / • PHP / – jQuery; – CodeIgniter; – MoolTools; – DooPHP; – CakePHP; – Drumon Framework; • Ruby / Rails; • Python / Django; • Groovy / Grails; • Java / Jboss Seam;
  • 6.
  • 7. Client Side #1 – Plugins: #2 – Criado para designers 1. Animation and Effects; 2. Drag-and-Drop; 3. Menus; 4. Media; 5. Widgets; etc... #3 – Cross Browser #4 – Quem usa?
  • 8. Client-Side • OOP; • Criado para programadores; • Cross Browser; • Menos plugin que o jQuery;
  • 9.
  • 10.
  • 11. Server Side • PHP: Hypertext Preprocessor; • Desde 1994; • Estrutural e OO; • Tipagem fraca; http://www.php.net/ • Atual versão: 5.x.x • Mais utilizada em websites; Frameworks:
  • 12. Boa documentação com vídeos e podcasts (inglês); • Extensível; • Scaffolding (CRUD); • Compatível com PHP 4; • Etc…
  • 13. Muito rápido… • RESTful API; • Cache; • Etc.. Documentação complicada.
  • 14. Um dos mais conhecidos em PHP Grande Comunidade • Baker para criação das classses • Uma das melhores documentações existentes Só peca em performance, é o framework mais lento.
  • 15. Framework • PHP 5 Rápido e simples • Sistema de URL amigável; • MVC; • Sistema de helpers para ajudar os Webdesigners; • Múltiplos ambientes de desenvolvimento; • Estrutura compatível com o Capistrano (Deploy) • Integração nativa com o Drumon CMS
  • 17. Pesquisa realizada por Danillo Cesar
  • 18. Server Side • Extremamente OO; (não tem primitivo) • Foco na simplicidade; • Boom em 2005; http://www.ruby-lang.org/pt/ • Domain-specific Language – DSL; • Meta-Framework; • Aumento na produtividade: DRY e CoC; • Rake; http://www.rubyonrails.pro.br/ • Escalável;
  • 19. Server Side • Linguagem de alto nível; • Interpretada; • Máquina virtual própria; http://www.python.org/ • Utilizada pelo Google; • ORM; • Interface administrativa; • Sistema de Cache; http://www.djangobrasil.org/ • i18n;
  • 20. Server Side • É executado na plataforma Java; • É uma linguagem de Script; • Dinâmica e fotemente tipada; http://groovy.codehaus.org/ • Lançada em 2007; • Possui algumas caraterísticas de JSP; • Baseado na estrutura do Rails; http://www.grails.org/ • Utiliza XML na configuração; • Reusa o Spring e Hibernate;
  • 22. Server Side • Compilada; • Multiplataforma; • Ideal aplicações corporativas; • OOP; • Async. JavaScript e XML (Ajax); • Java Server Face (JSF); • Java Persistence (JPA); • Enterprise Java Beans (EBJ3); http://seamframework.org/ • Hibernate;
  • 23.
  • 24. E agora? O que devo utilizar? Basta saber escolher! Porque não está preparado para qualquer uma?
  • 26.
  • 27.
  • 28. Referências • http://pt.wikipedia.org/wiki/Framework • http://jquery.com/ • http://github.com/jquery • http://mootools.net/ • http://www.php.net • http://codeigniter.com/ • http://cakephp.org/ • http://www.doophp.com/ • http://github.com/sook/drumon_framework • http://www.ruby-lang.org/pt/ • http://www.rubyonrails.pro.br/ • http://www.python.org/ • http://www.djangobrasil.org/