Mini-curso RoR - Aula 01

609 visualizações

Publicada em

Mini curso de ruby on rails, aula 01

Publicada em: Educação, Tecnologia
  • Seja o primeiro a comentar

Mini-curso RoR - Aula 01

  1. 1. Mini Curso Ruby on Rails Desenvolvimento Web ( Web development that doesn’t hurt )
  2. 2. Introdução <ul><li>O que você não vai aprender neste mini curso? </li></ul><ul><li>O que viemos fazer aqui? </li></ul><ul><li>Com Ruby on Rails meus problemas estarão resolvidos? </li></ul><ul><li>E se não estiver compreendido o conteúdo ou convencido da proposta, ainda tenho solução? </li></ul>
  3. 3. O que é Ruby on Rails? <ul><li>Rails é uma plataforma aberta de desenvolvimento web , escrita em Ruby , para a criação de aplicações reais com satisfação para o desenvolvedor e menos código do que muitas outras plataformas despendem em suas configurações XML . </li></ul>
  4. 4. Ruby on Rails é... <ul><li>Um Framework de Desenvolvimento Web; </li></ul><ul><li>União de várias bibliotecas com intuito de aumentar a produtividade; </li></ul><ul><li>Escrito na linguagem Ruby; </li></ul><ul><li>Um framework que te fará um analista, programador, sobrinho preguiçoso; </li></ul>
  5. 5. Ruby on Rails tem... <ul><li>Um dono chato e sua trupe mais chata ainda: DRY, Convenção sobre Configuração; </li></ul><ul><li>Recursos realmente úteis para seu trabalho diário; </li></ul><ul><li>Acesso a bancos de dados que você conhece e os que não conhece; </li></ul><ul><li>Estabilidade , escalabilidade e segurança ; </li></ul><ul><li>Boa documentação e fácil aprendizado; </li></ul><ul><li>Comunidade ativa com boas contribuições; </li></ul>
  6. 6. Vamos ver... <ul><li>Show, don’t tell: Seeing is beliving </li></ul><ul><li>Desenvolvendo um Blog em 30 minutos </li></ul>David Heinemeier Hansson Criador do Rails Ele fez o mesmo blog em 15 minutos
  7. 7. O mercado usa? <ul><li>Sim . Nós da Agence desenvolvemos com Rails </li></ul><ul><li>Empresas que utilizam: </li></ul><ul><ul><li>Twitter </li></ul></ul><ul><ul><li>Github </li></ul></ul><ul><ul><li>Locaweb </li></ul></ul><ul><ul><li>Basecamp </li></ul></ul><ul><ul><li>http://www.rubyonrails.pro.br/ </li></ul></ul>
  8. 8. Recursos úteis <ul><li>Upload de arquivos e manipulação de imagens </li></ul><ul><li>CSV, Planilhas eletrônicas </li></ul><ul><li>Vídeos do youtube, imagens do flickr </li></ul><ul><li>Relacionamentos entre objetos de maneira simples </li></ul><ul><li>Envio de email, internacionalização, fuso horário </li></ul><ul><li>Ambientes de desenvolvimento, teste e produção </li></ul>
  9. 9. Estrutura da aplicação e MVC <ul><li>Siga a convenção! Siga, siga e siga </li></ul><ul><li>MVC: </li></ul><ul><ul><li>Model = Objetos, camada de entidades </li></ul></ul><ul><ul><li>View = HTML, camada de visão </li></ul></ul><ul><ul><li>Controller = Comunicação entre visão e objetos </li></ul></ul>
  10. 10. MVC?
  11. 11. Model = Active Record <ul><li>Um ORM descente, rápido e prático </li></ul><ul><li>Convenções a seguir. É, você não manda nada aqui. </li></ul><ul><li>Controle de banco revolucionário por apenas...? </li></ul><ul><li>Acesso a vários bancos </li></ul><ul><li>Métodos ágeis para tarefas comuns </li></ul><ul><li>Relacionamentos </li></ul>
  12. 12. View = Action Pack <ul><li>HTML sem mistérios </li></ul><ul><li>Auxiliares que você sempre quis, fez e perdeu uma noite com isto :( </li></ul><ul><li>Prototype por padrão, porém Jquery é bem vindo </li></ul><ul><li>Controle de cache </li></ul>
  13. 13. Controller = Action Pack <ul><li>Controle do fluxo de informações entre classes e html eficiente </li></ul><ul><li>Sessões, autenticações e permissões </li></ul><ul><li>Organização das áreas </li></ul><ul><li>Respostas a vários formatos: html, js, xml, iphone (será), seu formato? </li></ul>
  14. 14. Rake <ul><li>Linha de comando que serve para executar tarefas de uma aplicação </li></ul><ul><ul><li>Criar banco de dados e migrar o banco </li></ul></ul><ul><ul><li>Preencher dados padronizados </li></ul></ul><ul><ul><li>Limpeza de cache e temporários </li></ul></ul><ul><ul><li>Suas próprias tarefas rake </li></ul></ul>
  15. 15. Geradores <ul><li>Linha de comando usando convenção </li></ul><ul><li>Pode gerar: </li></ul><ul><ul><li>Controladores </li></ul></ul><ul><ul><li>Modelos </li></ul></ul><ul><ul><li>Migrações </li></ul></ul><ul><ul><li>Testes </li></ul></ul><ul><ul><li>CRUDs </li></ul></ul><ul><ul><li>Seus próprios geradores? </li></ul></ul>
  16. 16. Gems e Plugins <ul><li>Gems são bibliotecas que vem suprir alguma necessidade que você tem. Alguém se importa com você. </li></ul><ul><li>Todas as gems oficiais são revisadas antes de publicadas </li></ul><ul><li>Plugins são aditivos para uma customização ou adaptação </li></ul><ul><li>Mantidos pela comunidade </li></ul>
  17. 17. Obtendo ajuda <ul><li>http://groups.google.com/group/rails-br </li></ul><ul><li>http://wiki.rubyonrails.org/pt/start </li></ul><ul><li>http://railscasts.com/ </li></ul><ul><li>http://guides.rubyonrails.org/ </li></ul><ul><li>http://www.youtube.com/user/envyads </li></ul><ul><li>http://groups.google.com.br/group/aprendendo-rails </li></ul><ul><li>http://groups.google.com.br/group/railsms </li></ul>
  18. 18. O que é Ruby? <ul><li>Uma linguagem de programação simples e direta </li></ul><ul><li>Orientada a objetos </li></ul><ul><li>Rápida, madura e com recursos comuns </li></ul><ul><li>Totalmente livre </li></ul><ul><li>Sintax simples, exceções </li></ul><ul><li>Herança única, porém comporta módulos </li></ul>
  19. 19. IRB e Ruby <ul><li>Interactive Ruby Shell (onde está o S?) </li></ul><ul><li>Programe e veja os resultados </li></ul><ul><li>Rode scripts .rb usando o interpretador Ruby </li></ul>
  20. 20. Exercícios <ul><li>Explore e defina as estruturas iterativas: </li></ul><ul><ul><li>each, collect, for </li></ul></ul><ul><li>Utilizando collect retorne o dobro de cada elemento de um array de 0 a 100 </li></ul><ul><li>Qual a diferença entre if e unless </li></ul><ul><li>Dado um array de 0 a 100, retorne um novo array com números pares </li></ul><ul><li>Execute o comando 0 == false e prove o resultado </li></ul>

×