Junho 2008 Tendências
Tendências - Resumo  Amadurecimento do open source (SugarCRM, Joomla) APIs (link: dev.live.com, OpenID)  Cloud Computing  Multimodal: browser - REST/XML - iPhone – WML - iCal etc. Novas linguagens/frameworks –  DEMO
Amadurecimento do open source - exemplos  CMS: Joomla e Drupal -  http://drupal.org/image/tid/39 SugarCRM - em uso na Locaweb ringside - Rede Social - Faça seu Facebook Microsoft CodePlex -  http://www.codeplex.com/ freshmeat.net
APIs - muito além do Google Maps Facebook API dev.live.com -  download OpenID
Cloud Computing – Conceito nebuloso  20081-how-bizarre-omc.mp3
Cloud Computing – Conceito nebuloso  Crescimento contínuo Alta disponibilidade Recursos garantidos Economia de escala - para o fornecedor ao menos Gerenciamento de configuração Amazon 20081-how-bizarre-omc.mp3
Web multimodal – muito mais que HTML...  20081-how-bizarre-omc.mp3   Até há pouco, era o que bastava...
Web multimodal – muito mais que HTML...  20081-how-bizarre-omc.mp3
O Manifesto Ágil: “Cliente tem sempre razão”  agilemanifesto.org link 20081-how-bizarre-omc.mp3
A quinta onda do desenvolvimento para web Momento   Contribuições   Exemplo   HTML (1993) Viabilizou a web através de hyperlinks   Visualizar <a href=“monalisa.htm”>Mona Lisa</a> CGI (1995)   Páginas dinâmicas   foreach my $row (@$rows) {print &quot;<tr><td>&quot; . join (&quot;</td><td>&quot;, @$row) .  &quot;</td></tr>\n&quot;; }   ASP (1996), ColdFusion (1995), PHP (1995)   Programação in-line; Apache modules e ISAPI   <td><%= rs(&quot;nome&quot;) %></td> <td><%= rs(&quot;cidade&quot;) %></td> JSP/Servlets (1998), ASP.Net (2000)   Orientação a objetos; Separação parcial de código (code behind)   { Label1.Text = DateTime.Now.ToLongDateString(); }   Ruby on Rails (2004), Django/Python (2005), ASP.Net MVC (2008), Spring/Java (2004)   DRY (Don't Repeat Yourself), MVC (model-view-controller), Convenção sobre Configuração, Blogs, screencasts, etc. class Cliente < ActiveRecord::Base end class ClienteController < ApplicationController def list @clientes = Cliente.find(:all) …
MVC – Conceito Básico
DEMO
DEMO - Conclusões  O Modelo infere as propriedades automaticamente pelo BD Migrations ajudam a manter controle sobre versões do BD Toda a interação com o banco de dados é feita através do modelo, não tem query SQL O Controller é responsável por receber e executar comandos recebidos do usuário A View recebe automaticamente as variáveis do Controller RESULTADO: MENOS CÓDIGO, FACILIDADE DE MANUTENÇÃO
Convenções  Modelo: classe Cliente - tabela Clientes Controller: método mostra - arquivo mostra.html.erb Métodos cliente.nome, cliente.cidade, cliente.estado.sigla - campos da tabela Relacionamentos: estado_id / belongs_to :estado / tabela &quot;estados&quot;
Aprofundando-se no RoR: dicas  - Antes do  Rails  aprenda  Ruby - {blocos}.entenda - Aproveite os tutoriais de Rails – Google rails screencasts - Entenda o scaffold, use como meio, não como fim - Não mexa no DB, use migrations - Copie código dos outros - Atenção à versão - Rails 2 não backwards-compatible
Caminhos alternativos  Django/Python (2005), ASP.Net MVC (2008), Spring/Java (2004) Django: Muda a terminologia. MTV no Django = MVC no Rails Models um pouco diferente, falta migrations Framework mais recente Mas a linguagem Python é mais madura que Ruby ASP.Net MVC (CTP) Muito similar ao Rails Fácil deploy (DLLs na pasta bin) Alternativa ao tradicional WebForms Como no Rails, testes são gerados automaticamente Integrado ao Visual Studio
Frameworks - Iniciativas Locaweb  Ruby on Rails Em fase de descontinuação: CGI Em fase de trial: mod_rails Clientes de data center importantes Django Continua funcionando: Python como CGI Em fase de trial (BREVE): mod_wsgi ASP.NET MVC Basta publicar DLLs na pasta “bin” Estamos elaborando tutoriais
Links  Try Ruby iUI iPhone on Rails Referência rubyonrails.org Tutorial Mac OS X Rails 2.0 Step by Step Aprenda a Programar Django ASP.Net MVC Using MVC from VWD Express 2008 Agile Web Development with Rails 3rd ed. (BETA)

Tendências do Mercado de Internet

  • 1.
  • 2.
    Tendências - Resumo Amadurecimento do open source (SugarCRM, Joomla) APIs (link: dev.live.com, OpenID) Cloud Computing Multimodal: browser - REST/XML - iPhone – WML - iCal etc. Novas linguagens/frameworks – DEMO
  • 3.
    Amadurecimento do opensource - exemplos CMS: Joomla e Drupal - http://drupal.org/image/tid/39 SugarCRM - em uso na Locaweb ringside - Rede Social - Faça seu Facebook Microsoft CodePlex - http://www.codeplex.com/ freshmeat.net
  • 4.
    APIs - muitoalém do Google Maps Facebook API dev.live.com - download OpenID
  • 5.
    Cloud Computing –Conceito nebuloso 20081-how-bizarre-omc.mp3
  • 6.
    Cloud Computing –Conceito nebuloso Crescimento contínuo Alta disponibilidade Recursos garantidos Economia de escala - para o fornecedor ao menos Gerenciamento de configuração Amazon 20081-how-bizarre-omc.mp3
  • 7.
    Web multimodal –muito mais que HTML... 20081-how-bizarre-omc.mp3 Até há pouco, era o que bastava...
  • 8.
    Web multimodal –muito mais que HTML... 20081-how-bizarre-omc.mp3
  • 9.
    O Manifesto Ágil:“Cliente tem sempre razão” agilemanifesto.org link 20081-how-bizarre-omc.mp3
  • 10.
    A quinta ondado desenvolvimento para web Momento Contribuições Exemplo HTML (1993) Viabilizou a web através de hyperlinks Visualizar <a href=“monalisa.htm”>Mona Lisa</a> CGI (1995) Páginas dinâmicas foreach my $row (@$rows) {print &quot;<tr><td>&quot; . join (&quot;</td><td>&quot;, @$row) . &quot;</td></tr>\n&quot;; } ASP (1996), ColdFusion (1995), PHP (1995) Programação in-line; Apache modules e ISAPI <td><%= rs(&quot;nome&quot;) %></td> <td><%= rs(&quot;cidade&quot;) %></td> JSP/Servlets (1998), ASP.Net (2000) Orientação a objetos; Separação parcial de código (code behind) { Label1.Text = DateTime.Now.ToLongDateString(); } Ruby on Rails (2004), Django/Python (2005), ASP.Net MVC (2008), Spring/Java (2004) DRY (Don't Repeat Yourself), MVC (model-view-controller), Convenção sobre Configuração, Blogs, screencasts, etc. class Cliente < ActiveRecord::Base end class ClienteController < ApplicationController def list @clientes = Cliente.find(:all) …
  • 11.
  • 12.
  • 13.
    DEMO - Conclusões O Modelo infere as propriedades automaticamente pelo BD Migrations ajudam a manter controle sobre versões do BD Toda a interação com o banco de dados é feita através do modelo, não tem query SQL O Controller é responsável por receber e executar comandos recebidos do usuário A View recebe automaticamente as variáveis do Controller RESULTADO: MENOS CÓDIGO, FACILIDADE DE MANUTENÇÃO
  • 14.
    Convenções Modelo:classe Cliente - tabela Clientes Controller: método mostra - arquivo mostra.html.erb Métodos cliente.nome, cliente.cidade, cliente.estado.sigla - campos da tabela Relacionamentos: estado_id / belongs_to :estado / tabela &quot;estados&quot;
  • 15.
    Aprofundando-se no RoR:dicas - Antes do Rails aprenda Ruby - {blocos}.entenda - Aproveite os tutoriais de Rails – Google rails screencasts - Entenda o scaffold, use como meio, não como fim - Não mexa no DB, use migrations - Copie código dos outros - Atenção à versão - Rails 2 não backwards-compatible
  • 16.
    Caminhos alternativos Django/Python (2005), ASP.Net MVC (2008), Spring/Java (2004) Django: Muda a terminologia. MTV no Django = MVC no Rails Models um pouco diferente, falta migrations Framework mais recente Mas a linguagem Python é mais madura que Ruby ASP.Net MVC (CTP) Muito similar ao Rails Fácil deploy (DLLs na pasta bin) Alternativa ao tradicional WebForms Como no Rails, testes são gerados automaticamente Integrado ao Visual Studio
  • 17.
    Frameworks - IniciativasLocaweb Ruby on Rails Em fase de descontinuação: CGI Em fase de trial: mod_rails Clientes de data center importantes Django Continua funcionando: Python como CGI Em fase de trial (BREVE): mod_wsgi ASP.NET MVC Basta publicar DLLs na pasta “bin” Estamos elaborando tutoriais
  • 18.
    Links TryRuby iUI iPhone on Rails Referência rubyonrails.org Tutorial Mac OS X Rails 2.0 Step by Step Aprenda a Programar Django ASP.Net MVC Using MVC from VWD Express 2008 Agile Web Development with Rails 3rd ed. (BETA)