- O Rails 8 é muito útil para projetos em pequena escala e desenvolvedores solo
- Com o guia de introdução mais recente, é possível construir um app em nível de produção com facilidade
- A melhoria do SQLite permite montar um ambiente de banco de dados robusto sem a necessidade de um servidor adicional
- Os geradores integrados de integração contínua e autenticação aprimoram a eficiência do desenvolvimento e a segurança
- O método de implantação simples via Kamal permite operar o serviço de forma rápida e segura
Visão geral
- Com base na experiência de uso do Rails 8, ele é um excelente framework web para projetos pequenos e desenvolvedores individuais
- A construção rápida, implantação eficiente e módulos integrados destacam vantagens de produtividade frente a frameworks concorrentes
Qualidade do guia atualizado
- O guia mais recente, Getting Started with Rails, é estruturado para que iniciantes consigam montar um app de produção
- Embora o processo de instalação do Ruby ainda seja complexo, seguindo as instruções do guia é possível construir um serviço sólido com autenticação, cache, rich text, integração contínua e banco de dados
- Seu ponto forte é oferecer fundamentos e recursos em nível de serviço real, em vez de um simples “Hello World”
- Para quem não está familiarizado com o Rails, ele se torna o melhor ponto de partida
O SQLite sozinho é suficiente
- O SQLite já é uma ferramenta excelente por padrão, mas até então era difícil configurá-lo para produção
- Antes era necessário instalar gems adicionais, mas no Rails 8 ele pode ser usado com confiabilidade em ambiente de produção sem trabalho extra
- Não é necessário subir PostgreSQL ou um servidor separado, e com solid cache não há necessidade de servidor Redis
- É possível operar o serviço apenas com Rails e SQLite, maximizando a simplicidade de implantação e eficiência de custos
Integração contínua (CI) fácil
- O fato de um alerta de falha de integração contínua (CI) chegar logo após o commit inicial mostra que o Rails 8 já fornece uma configuração padrão de CI integrada
- A integração com o GitHub Actions acontece sem configuração extra, e é possível receber 2.000 minutos gratuitos de tempo de execução por mês
- Para desenvolvedores solo, isso representa um tempo bastante generoso
Introdução do gerador de autenticação
- Gems de autenticação existentes, como Devise, eram poderosas, mas a complexidade de configuração as tornava um pouco difíceis para iniciantes
- No Rails 8, foi adicionado um gerador de autenticação simples que permite implementar facilmente o fluxo de login no console, bastando adicionar usuários já existentes
- O código gerado é simples e de leitura fácil, facilitando o entendimento para quem está começando
Implantação rápida e simples com Kamal
- O Kamal fica responsável pelo processo de deploy; basta editar parcialmente o arquivo
deploy.yml e seguir o passo a passo para colocar o app em funcionamento em ambiente SSL imediatamente
- A experiência de deploy de web apps é mais rápida do que conectar SSL no GitHub Pages
- A combinação de integração contínua (CI) e deploy fácil é um dos pontos que mais se destacam no Rails 8
- Seguir apenas o guia de introdução já permite uma experiência de desenvolvimento alinhada com as melhores práticas mais recentes
Conclusão
- O Rails continua sendo um framework poderoso e em evolução
- Se você está pensando em um novo projeto neste ano, vale a pena considerar desenvolver com Rails 8
2 comentários
Ultimamente vi muita publicação sobre SQLite, e agora até chegou a ponto de ser SQLite para tudo.
Isso pode ser chamado de um renascimento do clássico?
Comentários do Hacker News
pragma user_versiondo SQLite, fica fácil ter código de DB tipado e migrations. Adicionar SQLite é só importar duas linhas nomain.go. O template padrão do Go já dá conta de bastante processamento de texto no frontend, e comembedos assets estáticos entram fácil no binário. O deploy também fica muito simples: fazgo builde só move o binário. Com ferramentas de geração de código, o desenvolvimento de backend em Go ficou bem rápido e simples.ADD CONSTRAINTetc., e como não suporta linguagem PL ou stored proc simples, acaba exigindo roundtrip para a linguagem host o tempo todo, especialmente em linguagens estaticamente tipadas.