O documento apresenta um tutorial sobre como criar uma aplicação web simples utilizando o framework Ruby on Rails, abordando tópicos como criação de projeto, banco de dados, layout e componentes front-end.
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
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”.
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;
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.
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
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
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.
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