Crie um site com o Sinatra

Í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
Isso nos leva ao fato de que será um site de referência ou blog pessoal, desta forma teremos que dominar algumas técnicas que futuramente poderemos aplicar em outros projetos. Para que possamos ver nosso progresso com mais rapidez, iremos iterar e corrigir ao longo do caminho, enquanto estamos construindo nosso site.
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 fim
Em 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.rb
Podemos 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 fim
Agora 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
@@começo

Bem-vindo ao meu site, aqui vou demonstrar meu conhecimento de Ruby e Sinatra

@@cerca de

Olá eu sou o criador deste Rede, Usei minhas habilidades para fazer Ruby e Sinatra funcionarem

@@Contato

Se 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
wave wave wave wave wave