Ruby nos trilhos
| Ruby nos trilhos | ||
|---|---|---|
|
| ||
|
Página de boas-vindas após a instalação | ||
| Informações gerais | ||
| tipo de programa | estrutura de aplicativos da web | |
| desenvolvedor | Equipe Principal do Rails | |
| lançamento inicial | 13 de dezembro de 2005 | |
| Licença | Licença MIT | |
| Informação técnica | ||
| Programado em | Rubi | |
| Versões | ||
| Última versão estável | 7.0.49 de setembro de 2022 | |
| Links | ||
Ruby on Rails , também conhecido como RoR ou Rails , é um framework de aplicação web de código aberto escrito na linguagem de programação Ruby , seguindo o paradigma do padrão Model View Controller (MVC). Ele tenta combinar simplicidade com a possibilidade de desenvolver aplicações do mundo real escrevendo menos código do que com outros frameworks e com um mínimo de configuração. A linguagem de programação Ruby permite metaprogramação , que Rails faz uso, resultando em uma sintaxe que muitos de seus usuários acham muito legível. Rails é distribuído via RubyGems , que é o formato de pacote oficial e canal de distribuição para aplicativos e bibliotecas Ruby.
Filosofia
Os princípios básicos do Ruby on Rails incluem Não se repita ( DRY ) e Convenção sobre configuração .
Não se repita significa que as definições devem ser feitas apenas uma vez. Como o Ruby on Rails é um framework full-stack , os componentes são integrados de tal forma que não precisam ser interligados. Por exemplo, em ActiveRecord , as definições de classe não precisam especificar os nomes das colunas; Ruby pode descobri-los a partir do próprio banco de dados, portanto, defini-los tanto no código quanto no programa seria redundante.
Convenção sobre configuração significa que o programador só precisa definir as configurações que não são convencionais. Por exemplo, se houver uma classe Userno modelo, a tabela de banco de dados correspondente é users(plural), mas se a tabela não seguir a convenção (por exemplo blogposts, ) ela deve ser especificada manualmente ( self.table_name = "blogposts") no modelo. Assim, ao construir uma aplicação do zero sem um banco de dados pré-existente, seguir as convenções do Rails significa usar menos código (embora o comportamento possa ser configurado se o sistema precisar ser compatível com um sistema legado anterior).
História
Ruby on Rails foi escrito por David Heinemeier Hansson a partir de seu trabalho no Basecamp , uma ferramenta de gerenciamento de projetos, da 37signals . Foi lançado ao público pela primeira vez em julho de 2004. [ 1 ]
| Encontro | Lançar |
|---|---|
| 4 de janeiro de 2005 | Trilhos 0.9.3 |
| 13 de dezembro de 2005 | Trilhos 1.0 |
| 22 de março de 2006 | Trilhos 1.1 RC1 |
| 23 de novembro de 2006 | Trilhos 1.2 RC1 |
| 19 de janeiro de 2007 | Trilhos 1.2 |
| 7 de dezembro de 2007 | Trilhos 2.0 |
| 1º de junho de 2008 | Trilhos 2.1 |
| 21 de novembro de 2008 | Trilhos 2.2 |
| 16 de março de 2009 | Trilhos 2.3 |
| 29 de agosto de 2010 | Trilhos 3.0 |
| 22 de maio de 2011 | Trilhos 3.1 RC |
| 25 de junho de 2013 | Trilho 4.0 |
| 18 de fevereiro de 2014 | Trilhos 4.1 RC1 |
| 30 de junho de 2016 | Trilhos 5.0 |
| 27 de abril de 2017 | Trilhos 5.1 |
| 9 de abril de 2018 | Trilhos 5.2 |
| 15 de agosto de 2019 | Trilhos 6.0 |
| 9 de dezembro de 2020 | Trilhos 6.1 |
| 15 de dezembro de 2021 | Trilhos 7.0 |
| 6 de janeiro de 2022 | Trilhos 7.0.1 |
| 8 de fevereiro de 2022 | Trilhos 7.0.2 |
| 9 de maio de 2022 | Trilhos 7.0.3 |
Arquitetura Rails MVC
As partes da arquitetura do Model View Controller em Ruby on Rails são as seguintes:
Modelo [ 2 ]
O modelo em MVC representa as regras e a lógica de negócios . Este modelo é uma implementação da arquitetura Active Record , que em si é um mapeamento objeto-relacional , que permite: representar modelos e seus dados, representar associações entre modelos, representar hierarquias de herança através de modelos relacionados, validar modelos antes de persistir no banco de dados e realizar operações de banco de dados de maneira orientada a objetos.
Usando as convenções de configuração sugeridas pelo Ruby on Rails, você garante que não precisa fazer nenhuma configuração extra para implementar o padrão Active Record corretamente. A ideia é que se você sempre configurar as aplicações da mesma forma esta deveria ser a forma padrão (a convenção) e você só teria que fazer configurações quando houver uma exceção à convenção. É assim que o Rails ActiveRecord consegue fazer a atribuição das classes e das tabelas no banco de dados para a representação dos modelos. O Rails pluraliza o nome da classe (por convenção, os modelos são denominados singulares) para encontrar o nome da tabela correspondente no banco de dados. Os métodos do Rails para converter uma palavra do singular para o plural (e vice-versa) são muito eficientes para palavras regulares e irregulares em inglês, por isso é aconselhável nomear modelos em inglês.
Ver
No MVC, é a lógica de exibição ou como os dados são exibidos das classes Controller . Muitas vezes, em aplicativos da Web, a visualização consiste em uma quantidade mínima de código incluído em HTML.
Atualmente, existem muitas maneiras de gerenciar visualizações. O método padrão no Rails é usar Embedded Ruby (arquivos .rhtml, a partir do RoR versão 2.x em diante arquivos .html.erb), que são basicamente trechos HTML com algum código Ruby, conforme segue uma sintaxe do tipo JSP . As visualizações também podem ser construídas em HTML e XML com o Builder ou usando o sistema de modelos Liquid .
Você precisa escrever um pequeno pedaço de código HTML para cada método do controlador que precisa exibir informações para o usuário. O "layout" ou layout dos elementos da página é descrito separadamente da ação do controlador e os fragmentos podem chamar uns aos outros.
Controlador
No MVC, as classes Controller respondem à interação do usuário e invocam a lógica do aplicativo, que por sua vez manipula os dados das classes Model e exibe os resultados usando Views . Em aplicativos da web baseados em MVC, os métodos do controlador são invocados pelo usuário usando o navegador da web.
A implementação do controlador é tratada pelo Rails ActionPack , que contém o ApplicationController. Uma aplicação Rails simplesmente herda dessa classe e define as ações necessárias como métodos, que podem ser chamados da web, geralmente no formulário http://aplicacion/ejemplo/metodo, que chama EjemploController#métodoe renderiza os dados usando o arquivo template /app/views/ejemplo/método.html.erb, a menos que o método redirecione para outro lugar.
Rails também fornece scaffolding , que pode construir rapidamente a maior parte da lógica e visualizações necessárias para realizar as operações mais frequentes.
Outros módulos
Além disso, Rails oferece outros módulos, como Action Mailer (para enviar e-mail) ou Active Resource que fornece a infraestrutura necessária para criar facilmente recursos REST , algo em que Rails aposta claramente em suas versões mais recentes, deslocando assim outros modelos como SOAP e XML-RPC que eram suportados em versões anteriores pelo Action Web Service .
Ajax on Rails
Ajax é uma técnica que permite usar Javascript e XML para processar solicitações de um navegador da Web para um servidor da Web como processamento em segundo plano sem carregar páginas da Web adicionais. O Rails fornece várias facilidades que facilitam a implementação de aplicativos Ajax.
Rails inclui a biblioteca jQuery Javascript (um conjunto de ferramentas que fornecem chamadas Ajax e outras funcionalidades cliente-servidor comuns) e script.aculo.us , uma biblioteca Javascript com melhorias na interface do usuário (controles avançados nos formulários, efeitos visuais, arrastar e soltar , etc).
Gemas
Gems são plugins e/ou códigos adicionados aos nossos projetos Ruby on Rails, que nos permitem novas funcionalidades como new create, novas funções predefinidas (como login de usuário) ou novas ferramentas de desenvolvimento como Haml e SASS (a primeira é um novo formulário de template baseado em html mas mais simples e poderoso, e o segundo é o mesmo mas para o caso de CSS). Para encontrar a lista de gems disponíveis você pode ir ao RubyForge .
Suporte ao servidor web
Para desenvolvimento e teste, Mongrel ou WEBrick , incluído no Ruby, é usado. Para usar Rails em servidores de produção, está se espalhando o uso do Passenger , uma espécie de mod_rails para Apache desenvolvido em 2008 pela empresa holandesa Phusion. Outras opções para produção são Nginx , Mongrel , Apache , Lighttpd com FastCGI ou alguma combinação de ambos (por exemplo, usando Apache como proxy para processos Mongrel). Em cima do Apache, o mod ruby pode melhorar muito o desempenho, embora seu uso não seja recomendado porque não é seguro usar vários aplicativos RoR em cima do Apache. [1]
Suporte de banco de dados
Como a arquitetura Rails favorece o uso de bancos de dados, recomenda-se a utilização de um SGBDR para armazenamento de dados. Rails suporta a biblioteca SQLite por padrão. O acesso ao banco de dados é totalmente abstrato do ponto de vista do programador, ou seja, é agnóstico ao banco de dados, e o Rails trata os acessos ao banco de dados automaticamente (embora você possa fazer acessos personalizados ao banco de dados, se necessário). consultas diretas em SQL ) Rails tenta manter a neutralidade do banco de dados, portabilidade a aplicação a diferentes sistemas de banco de dados e a reutilização de bancos de dados pré-existentes. No entanto, devido à natureza e características diferentes do RDBMS , a estrutura não pode garantir compatibilidade completa. Diferentes DBMS são suportados , incluindo MySQL , PostgreSQL , SQLite , IBM DB2 e Oracle .
Requisitos
- Servidor da Web como Apache 1.3.x ou 2.x, lighttpd , algum servidor da Web compatível com FastCGI com um módulo semelhante ao mod_rewrite ou Nginx . Para desenvolvimento, Rails permite que você use Mongrel (um servidor HTTP leve criado para suportar aplicações Ruby e amplamente utilizado em aplicações de produção) ou WEBrick (um pequeno servidor customizado com desempenho limitado e não recomendado para uso em produção). Rails suporta a extensão Apache mod ruby (servidor web).
- Banco de dados (por exemplo, MySQL , PostgreSQL ou SQLite )
Ambiente de trabalho
Existem muitas alternativas para trabalhar com Ruby on Rails, tanto gratuitas quanto pagas. Os principais estão listados abaixo:
- Aptana : multiplataforma. Nasceu como plugins Eclipse para edição e desenvolvimento web. Atualmente você pode instalá-lo como plugins ou autônomos de forma independente. As versões mais recentes são muito bem integradas com Ruby on Rails. Neste momento o Aptana 3 é a versão estável.
- Netbeans : Um dos mais usados, grátis e totalmente grátis. Ele vem muito bem integrado ao JRuby (o que é lógico já que é um programa Oracle). A partir do NetBeans IDE 7.0, o suporte para Ruby e Ruby on Rails não está disponível na distribuição padrão do NetBeans IDE. [ 3 ]
- TextMate : Somente para Mac. É o ambiente mais utilizado pela comunidade Rails. É pago, mas seu poder e forma de trabalhar favorece a produção e desenvolvimento com Ruby on Rails.
- Gmate : Um projeto gratuito e de código aberto para transformar o Gedit - o editor de texto de desktop GNU/Linux Gnome - em um clone muito grosseiro do Textmate. Isso é conseguido instalando diferentes plugins, temas e ajustando algumas opções. Por ser gratuito, é uma opção que está ganhando muitos seguidores atualmente.
- RubyMine : Ambiente de trabalho desenvolvido exclusivamente para trabalhar com Ruby, criado pela empresa Jetbrains.
- Sublime Text : Um editor de texto e editor de código fonte criado em Python originalmente desenvolvido como uma extensão Vim , com o tempo criou sua própria identidade, por isso ainda mantém um modo de edição semelhante ao vi chamado modo Vintage.
Existem muitos outros, basta usar um motor de busca para encontrar mais alternativas.
Comandos básicos do Ruby on Rails
Se você deseja iniciar um projeto e já possui o RoR instalado, pode começar com o seguinte: Abra seu terminal ou DOS vá até a pasta onde você colocará seus arquivos e digite os seguintes comandos:
- 1) Crie o projeto
rails new prueba- Uma nova pasta é gerada dentro do diretório em que você está posicionado.
- 2) Localize no diretório recém-criado. Exemplo para plataformas (Windows)
cd prueba
- 3) Crie uma tabela Funcionários
rails g scaffold empleado Nombre:string direccion:string telefono:string fechadeEntrada:date
- 4) É migrado (o modelo do programa é feito para corresponder a um banco de dados) com o comando
rails db:migrate
- 5) A partir do terminal, o servidor é iniciado
rails s
- 6) Feito. Agora o seguinte endereço é inserido no navegador para usar o aplicativo já desenvolvido:
localhost:3000/Empleados
Referências
- ↑ David Heinemeier Hansson - Rails
- ^ "Fundamentos do Active Record" . Guias de Ruby on Rails . Recuperado em 1 de julho de 2022 .
- ↑ https://netbeans.org/features/ruby/index.html
Veja também
Portal: software livre . Conteúdo relacionado ao Software Livre .- Rubi
- Licença Ruby
Links externos
- Website oficial
- Site oficial em espanhol
- Passo a passo em espanhol
- Mais um tutorial Ruby on Rails em espanhol, mais técnico e detalhado
- Texto introdutório O Livro Amaldiçoado do Descarrilado . Herrera, 2010
- PDF em espanhol. Sergio A. Alonso, rails3 GNU/Linux e outros
- Tutoriais em vídeo em espanhol, por Santiago Ponce Moreno (2011)
- Página Gmate no site oficial do Github
- Ofertas para desenvolvedores Ruby on Rails
- Usando Ruby on Rails no desenvolvimento de software