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!

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; • ArquiteturaMVC; • 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
  • 4.
  • 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;
  • 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;
  • 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 comvídeos e podcasts (inglês); • Extensível; • Scaffolding (CRUD); • Compatível com PHP 4; • Etc…
  • 13.
    Muito rápido… • RESTfulAPI; • Cache; • Etc.. Documentação complicada.
  • 14.
    Um dos maisconhecidos 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
  • 16.
  • 17.
  • 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;
  • 21.
  • 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;
  • 24.
    E agora? Oque devo utilizar? Basta saber escolher! Porque não está preparado para qualquer uma?
  • 25.
  • 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/
  • 29.