Conhecendo Framework Ruby on Rails
O que vamos aprender? • Conhecer a história do Ruby e do Rails; • Criar uma aplicação Rails do zero; • Criar um cadastro completo; • Criar uma database e uma tabela; • Subir a aplicação; • Inserir registros na tabela; • Aprender comandos basicos; • Alterar o layout com Materialize.
Wendreo Fernandes • Graduando em Análise e Desenvolvimento de Sistemas (UNIFEOB); • Técnico em Informática para Internet (IFSP); • Membro do GDG São João da Boa Vista. Contato: wendreo.fernandes@unifeob.edu.br Quem Somos? Douglas Junior • Graduando em Análise e Desenvolvimento de Sistemas (UNIFEOB); • Técnico em Informática (ETEC); • Membro do GDG São João da Boa Vista. Contato: douglas.junior@unifeob.edu.br
Ações do GDG
Timeline 1995 - Yukihiro Matsumoto criou a linguagem Ruby (Japonês) 2000 - Dave Thomas e Andy Hunt escreveram o livro Programming Ruby (Inglês) 2004 - David Heinemeier Hansson criou o framework Ruby on Rails
Características da linguagem Ruby • Baseado em Perl, SmallTalk e Python; • Multiplataforma: desktop, web e scripts; • Interpretada: não há compilação de código; • Tipagem dinâmica e forte: não é preciso declarar as variáveis; • Não é necessário “ponto e vírgula no final”.
Comparando... • Hello World em PHP: <?php echo “Hello World!”; ?> • Hello World em Ruby: puts “Hello World!”
Características do Framework Rails • Projeto de código aberto; • Escrito em Ruby; • Baseado em geradores; • Cria aplicações na arquitetura MVC.
Ok... Mas quem usa?
Ok.. mas e AGORA?
Gerando uma nova aplicação $ rails new GDG –d mysql • Usamos “-d” para determinar queremos utilizar o MySQL como database do projeto.
Estrutura dos diretórios • App: Contém 95% da aplicação e dos códigos, inclusive o MVC; • Config: Configurações de inicializadores, ambientes, internacionalização entre outras; • DB: Tudo relacionado ao banco de dados, migrações e esquemas;
Ruby Gems
Ruby Gems Sistema de empacotamento para o Ruby. Similar ao apt-get para o Debian/Ubuntu Sendo um sistema de gerenciamento de pacotes. Distribui de forma padronizada as bibliotecas e programas em Ruby. • Para saber quais gems temos instaladas: $ gem list
Geradores $ rails g scaffold Register registration:integer name:string course:string module:integer date_of_registration:date • Scaffold gera o cadastro com os campos informados; • O nome do MODEL deve estar no singular.
Configurando a senha do MySQL
Integrando com database $ rails db:create • Criando as databases do projeto.
Integrando com database $ rails db:migrate • Envia todas as alterações para nossa database (novas tabelas e novos campos).
Subindo nossa aplicação $ rails s • “s” é um atalho para server; • O rails conta com um servidor embutido (Puma); • A aplicação estará disponível em localhost:3000
Página de boas vindas
Acessando nosso cadastro O cadastro gerado anteriormente estará disponível em localhost:3000/registers
Inserindo dados Para inserir um novo registro, basta clicar no botão New Register
Agora é possível criar, visualizar, editar e excluir os registros e tudo já integrado com o banco de dados. CRUD completo
Front-end?
Melhorando nosso layout...
O que é CDN? É uma redes de entrega de conteúdo (em inglês: Content Delivery Network ), ou seja todas as informações necessárias para sua aplicação disponível em nuvem.
Mas qual é o melhor ? CDN ou CSS/Java Script nativo ?
CDN ou CSS/Java Script nativo ? Prós : • Fácil e rápido acesso via rede; • Disponibilidade e Escalabilidade alta; • Menor consumo de recursos de disco rígido na aplicação; • Desempenho mais performático. Contras: • Dependência de acesso a rede; • Manutenção mais técnica. • Pequeno gasto com empresas que prestam este tipo de serviço (EX: CLOUDFLARE)
Mãos na massa! À titulo de exemplo utilizaremos o Front-End do Google Materialize, para isso iremos necessitar dos links fornecidos pela plataforma, que serão consumidos via CDN. • Endereço materializecss.com • Todos os links devem ficar no arquivo localizado no seguinte caminho: /views/layouts/application.html.rb
Mãos na massa!
Links :
Componentes e ícones
Extra Abaixo um extra não fornecido na plataforma: <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.1 /jquery.min.js"> </script>
FAB to Toolbar Vá na aba de COMPONENTS/BUTTONS, selecione o modelo FAB to Toolbar, para exemplificarmos o poder da velocidade do CDN combinado com o ferramentas bem estruturadas.
FAB to Toolbar
FAB to Toolbar E para finalizarmos a demonstração copie o código e cole na pagina de index para visualização rápida, localizada a mesma em: /views/register/index.html.rb
Cole da seguinte forma
Cole da seguinte forma
Dúvidas?
Dúvidas?
Obrigado! Wendreo Luciano Fernandes /gdgsaojao /unifeob GDG São João Douglas Domenciano /wendreof/GDG-ETEC

Ruby on Rails for beginners 2.0

  • 1.
  • 2.
    O que vamosaprender? • Conhecer a história do Ruby e do Rails; • Criar uma aplicação Rails do zero; • Criar um cadastro completo; • Criar uma database e uma tabela; • Subir a aplicação; • Inserir registros na tabela; • Aprender comandos basicos; • Alterar o layout com Materialize.
  • 3.
    Wendreo Fernandes • Graduandoem Análise e Desenvolvimento de Sistemas (UNIFEOB); • Técnico em Informática para Internet (IFSP); • Membro do GDG São João da Boa Vista. Contato: wendreo.fernandes@unifeob.edu.br Quem Somos? Douglas Junior • Graduando em Análise e Desenvolvimento de Sistemas (UNIFEOB); • Técnico em Informática (ETEC); • Membro do GDG São João da Boa Vista. Contato: douglas.junior@unifeob.edu.br
  • 4.
  • 5.
    Timeline 1995 - YukihiroMatsumoto criou a linguagem Ruby (Japonês) 2000 - Dave Thomas e Andy Hunt escreveram o livro Programming Ruby (Inglês) 2004 - David Heinemeier Hansson criou o framework Ruby on Rails
  • 6.
    Características da linguagemRuby • Baseado em Perl, SmallTalk e Python; • Multiplataforma: desktop, web e scripts; • Interpretada: não há compilação de código; • Tipagem dinâmica e forte: não é preciso declarar as variáveis; • Não é necessário “ponto e vírgula no final”.
  • 7.
    Comparando... • Hello Worldem PHP: <?php echo “Hello World!”; ?> • Hello World em Ruby: puts “Hello World!”
  • 9.
    Características do FrameworkRails • Projeto de código aberto; • Escrito em Ruby; • Baseado em geradores; • Cria aplicações na arquitetura MVC.
  • 10.
  • 11.
  • 12.
    Gerando uma novaaplicação $ rails new GDG –d mysql • Usamos “-d” para determinar queremos utilizar o MySQL como database do projeto.
  • 13.
    Estrutura dos diretórios •App: Contém 95% da aplicação e dos códigos, inclusive o MVC; • Config: Configurações de inicializadores, ambientes, internacionalização entre outras; • DB: Tudo relacionado ao banco de dados, migrações e esquemas;
  • 14.
  • 15.
    Ruby Gems Sistema deempacotamento para o Ruby. Similar ao apt-get para o Debian/Ubuntu Sendo um sistema de gerenciamento de pacotes. Distribui de forma padronizada as bibliotecas e programas em Ruby. • Para saber quais gems temos instaladas: $ gem list
  • 16.
    Geradores $ rails gscaffold Register registration:integer name:string course:string module:integer date_of_registration:date • Scaffold gera o cadastro com os campos informados; • O nome do MODEL deve estar no singular.
  • 17.
  • 18.
    Integrando com database $rails db:create • Criando as databases do projeto.
  • 19.
    Integrando com database $rails db:migrate • Envia todas as alterações para nossa database (novas tabelas e novos campos).
  • 20.
    Subindo nossa aplicação $rails s • “s” é um atalho para server; • O rails conta com um servidor embutido (Puma); • A aplicação estará disponível em localhost:3000
  • 21.
  • 22.
    Acessando nosso cadastro Ocadastro gerado anteriormente estará disponível em localhost:3000/registers
  • 23.
    Inserindo dados Para inserirum novo registro, basta clicar no botão New Register
  • 24.
    Agora é possívelcriar, visualizar, editar e excluir os registros e tudo já integrado com o banco de dados. CRUD completo
  • 25.
  • 26.
  • 27.
    O que éCDN? É uma redes de entrega de conteúdo (em inglês: Content Delivery Network ), ou seja todas as informações necessárias para sua aplicação disponível em nuvem.
  • 28.
    Mas qual éo melhor ? CDN ou CSS/Java Script nativo ?
  • 29.
    CDN ou CSS/JavaScript nativo ? Prós : • Fácil e rápido acesso via rede; • Disponibilidade e Escalabilidade alta; • Menor consumo de recursos de disco rígido na aplicação; • Desempenho mais performático. Contras: • Dependência de acesso a rede; • Manutenção mais técnica. • Pequeno gasto com empresas que prestam este tipo de serviço (EX: CLOUDFLARE)
  • 30.
    Mãos na massa! Àtitulo de exemplo utilizaremos o Front-End do Google Materialize, para isso iremos necessitar dos links fornecidos pela plataforma, que serão consumidos via CDN. • Endereço materializecss.com • Todos os links devem ficar no arquivo localizado no seguinte caminho: /views/layouts/application.html.rb
  • 31.
  • 32.
  • 33.
  • 34.
    Extra Abaixo um extranão fornecido na plataforma: <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.1 /jquery.min.js"> </script>
  • 35.
    FAB to Toolbar Vána aba de COMPONENTS/BUTTONS, selecione o modelo FAB to Toolbar, para exemplificarmos o poder da velocidade do CDN combinado com o ferramentas bem estruturadas.
  • 36.
  • 37.
    FAB to Toolbar Epara finalizarmos a demonstração copie o código e cole na pagina de index para visualização rápida, localizada a mesma em: /views/register/index.html.rb
  • 38.
  • 39.
  • 40.
  • 41.
  • 42.
    Obrigado! Wendreo Luciano Fernandes /gdgsaojao /unifeobGDG São João Douglas Domenciano /wendreof/GDG-ETEC