Índice
O uso de Sinatra como uma estrutura é muito ampla, pode ser usada para construir ferramentas e serviços que usam HTTP Como uma camada de transporte de dados, no entanto, não é a única coisa que podemos alcançar; há momentos em que precisamos ser capazes de construir páginas da web onde podemos exibir informações ou simplesmente capturar dados.Essa criação de páginas da web é muito simples e complexa ao mesmo tempo, porque Sinatra Não nos impõe nenhum tipo de padrão na hora de construí-los, então o nível de complexidade vai depender da forma como trabalhamos, o que pode ser muito positivo se tivermos nossa própria forma de trabalhar já estabelecida.
1- Para executar os exemplos neste tutorial, precisaremos de uma instalação do idioma Rubi pelo menos no dele versão 1.9 em diante.
2- Também precisamos ter instalado o gem Sinatra e que está configurado corretamente. Se houver alguma dúvida em relação a este processo, podemos consultar o seguinte tutorial.
3- Devemos ter permissões em uma pasta para executar Rubi, criar e manipular arquivos.
4- Devemos ter um editor de texto para poder escrever o conteúdo dos exemplos, este pode ser qualquer tipo de editor de texto simples que nos permita salvar um arquivo .rb como Sublime Text ou mesmo NotePad ++.
5- Finalmente, precisamos de um navegador da web como Google Chrome ou Raposa de fogo onde podemos executar nosso exemplo e navegar por ele.
Para criar um site, em primeiro lugar, devemos ter uma visão, um objetivo, algo que nos oriente e que possamos usar como referência quando estamos desenvolvendo, isso geralmente alcançamos quando sabemos o que nosso projeto vai levar.
No caso do site que vamos construir, o objetivo será criar três páginas, vamos listá-las:
- Começar
- Sobre mim
- Contato
Para começar, devemos criar um arquivo chamado start.rb, será este que conterá toda a lógica de visualizações e percursos do nosso site, o conteúdo inicial que possui é o seguinte:
requer 'sinatra' get '/' do erb: início fimEm princípio, o que acabamos de escrever parece um pouco deficiente, mas vamos ver qual é a funcionalidade; em primeiro lugar, incluímos Sinatra com instrução exigirIsso significa que agora podemos ter todas as ferramentas que esta estrutura disponibiliza para nós.
Então temos o bloco obter em que definimos que o conteúdo deve ser executado no caminho raiz, dito conteúdo é um chamador erb para :começo, onde neste último devemos fazer uma pausa para ver o que é ERB e por que o estamos usando, vamos ver:
Linguagem do modelo ERBComo o título sugere ERB nada mais é do que a sigla para Ruby Embutido o Ruby embutido, isso nos permite criar modelos HTML onde podemos incluir código escrito em linguagem Rubi e com isso poder incorporar seu poder de processamento nas visualizações. Nós os chamamos por seus nomes usando símbolos, que nada mais são do que o nome precedido por dois pontos, como vimos no código :começo.
Como estamos claros sobre o novo conceito que estamos introduzindo, agora vamos criar nosso primeiro modelo, dentro do mesmo arquivo start.rb que criamos, vamos incorporar o seguinte código no final dele:
__END__ @@ home Meu próprio site
- Começar
- Sobre mim
- Contato
Bem-vindo ao meu site, aqui vou demonstrar meu conhecimento de Ruby e Sinatra
Aqui temos várias coisas que podemos analisar, primeiro começamos contando Sinatra que este é o fim do processamento Rubi, para isso usamos __FIM__ então com um duplo @@ Indicamos o nome da seção, neste caso começar, se olharmos para ela é o mesmo nome do nosso símbolo.Finalmente escrevemos todos os nossos HTML sem nenhum problema. Em seguida, vamos para o console, nos posicionamos na pasta onde criamos nosso arquivo start.rb e fazemos o seguinte:
ruby start.rbPodemos construir o servidor de desenvolvimento a partir de Sinatra e veremos o seguinte quando formos para localhost: 4567 ou o número da porta que levantamos para nosso servidor:
Como notamos, temos o HTML que construímos no caminho raiz que indicamos para nosso aplicativo a partir de Sinatra.
Uma das coisas que sempre devemos evitar é ter que repetir o que podemos fazer apenas uma vez e que funciona para várias coisas, no caso da nossa página o HTML base é algo que podemos criar apenas uma vez, se seguirmos o exemplo anterior para construir as seções de Sobre mim Y Contato, teríamos que repetir todo o HTML apenas alterando a parte do conteúdo, algo que nos deixaria com um arquivo muito, muito longo start.rb.
Para neutralizar esse tipo de comportamento ineficaz, Sinatra nos permite utilizar o layout, com isso podemos criar uma base onde simplesmente imprimiremos as alterações ou o código dinâmico que geraremos.
Para começar a modelar nosso layout, vamos modificar nosso arquivo na primeira instância start.rb e adicionaremos mais algumas rotas:
requer 'sinatra' get '/' do erb: início fim obter '/ on' do erb: no final obter '/ contato' do erb: contato fimAgora temos as rotas que mencionamos no menu HTML que tínhamos construído antes, isso é só o começo, já Sinatra você sabe o que procurar quando chamamos essas rotas, o próximo passo é definir nosso layout e o conteúdo que será exibido quando cada rota for chamada.
Para fazer isso, devemos primeiro criar um modelo e identificá-lo com o nome @@ layout, então fazendo uso de Ruby Embedded com as etiquetas vamos definir um único título e com as etiquetas vamos imprimir o conteúdo onde for necessário. No local onde o nosso conteúdo muda colocaremos este é um utilitário que nos permite indicar para Sinatra que é naquele espaço onde deve imprimir o conteúdo da rota.
Por fim, definimos cada uma de nossas rotas e o conteúdo que elas irão transportar, seguindo a ordem lógica @@rota e então o conteúdo, com ele já Sinatra sabe o que mostrar em cada chamada. Vamos ver como é o código completo do nosso arquivo start.rb incluindo layout:
require 'sinatra' get '/' do erb: start end get '/ on' do erb: on end get '/ contact' do erb: contato end __END__ @@ layout
- Começar
- Sobre mim
- Contato
Bem-vindo ao meu site, aqui vou demonstrar meu conhecimento de Ruby e Sinatra
@@cerca deOlá eu sou o criador deste Rede, Usei minhas habilidades para fazer Ruby e Sinatra funcionarem
@@ContatoSe você quiser saber mais sobre mim, você pode visitar a Solvetic
Como podemos ver, só escrevemos um HTML e o resto do conteúdo é mais resumido, portanto muito mais gerenciável e fácil de manter, vamos ver como fica em nosso navegador quando navegamos para uma rota diferente desde o início:PROLONGAR
Já criamos um site pequeno mas funcional onde temos vários links e conteúdo dinâmico, utilizando apenas um layout para construir sua estrutura, claro que ainda faltam os estilos CSS e as imagens, mas isso é assunto para outro tutorial. Claro que este estilo não é muito útil se vamos ter conexões com Bancos de Dados, ou funcionalidades com muitas visualizações, já que então nosso único arquivo começaria a ser muito complexo de manusear e manter.Com isso terminamos este tutorial, criamos nosso primeiro site usando Rubi Y Sinatra, aproveitamos o fato de podermos utilizar qualquer metodologia que pareça adequada e fizemos o que se chama de aplicativo de arquivo único, esse tipo de aplicativo é útil quando temos projetos muito simples e não queremos que eles se dispersem desnecessariamente , como a web resultante do exemplo.Gostou e ajudou este tutorial?Você pode recompensar o autor pressionando este botão para dar a ele um ponto positivo