Um produto mínimo viável (MVP) é um dos princípios da Metodologia Lean Startup. O objetivo é ajudar os empresários a iniciar o processo de aprendizagem o mais rapidamente possível. O produto não tem necessariamente de ser pequeno ou de má qualidade; um MVP é simplesmente a forma mais rápida de começar a obter feedback, utilizando uma quantidade mínima de esforço e recursos.
Ao mesmo tempo que obtemos feedback e aprendemos com os clientes em cada iteração, é necessário acrescentar novas funcionalidades e adaptarmo-nos rapidamente às mudanças. A ferramenta que escolhemos para construir MVP é fundamental para reduzir os resíduos.
Por que razão deve escolher o Ruby on Rails?
Rubi sobre Carris é um conhecido web com mais de 15 anos de trajetória e uma forte comunidade.
Filosofia
Ruby on Rails segue uma filosofia que permite um desenvolvimento rápido, facilitando tarefas triviais e repetitivas; o equipa centra-se principalmente nos desafios comerciais.
● Código aberto: Código Concebido para ser acessível ao público, qualquer pessoa pode ver, modificar e distribuir o código como entender. Muitas vezes é mais barato, mais flexível e tem mais longevidade porque é desenvolvido por comunidades e não por um único autor ou empresa.
● O princípio da menor surpresa: Inspirado por Rubiao trabalhar com Rails tudo se comporta como o criador espera. O Rails foi concebido para fornecer diferentes formas de realizar as mesmas tarefas da forma mais intuitiva e elegante possível.
● Não se repita: Implica, sempre que possível, a reutilização da maior quantidade de código possível, em vez da duplicação de código semelhante em vários sítios.
● Convenção sobre configuração: É uma extensão do conceito de predefinição, uma definição ou valor atribuído automaticamente sem a intervenção do utilizador. Alguns sistemas de software, nomeadamente Java as estruturas de aplicações Web necessitam de vários ficheiros de configuração, cada um com muitas definições.
● Rails é opinativo: Carris utiliza um conjunto de convenções bem estabelecidas. Se os membros da equipa seguirem as convenções do Rails, terão menos decisões a tomar e descobrirão que mais do que é necessário já está construído. O benefício é um desenvolvimento mais rápido, melhor colaboração e manutenção mais fácil.
● Rails é Omakase: Omakase é uma frase japonesa que significa "Vou deixar isso para você". Enquanto a Convenção sobre a Configuração se ocupa com a melhor forma de utilizar as estruturas individuais, o Omakase preocupa-se com quais as estruturas e como estas se encaixam, evitando que a equipa tome decisões erradas ao escolher a pilha tecnológica.
● Sistemas integrados de valor: Um sistema completo que aborda um problema inteiro. Isso significa que o Rails se preocupa com tudo, desde o front-end até o back-end.
Comunidade
Linguagem Ruby é simples, produtivo e elegante, com uma comunidade experiente, solidária e dedicada; colocado no top 10 das linguagens populares em A classificação de linguagens de programação da RedMonk: janeiro de 2021 Ao longo dos anos, a comunidade criou muitos recursos para melhorar o desempenho, a qualidade e acelerar o desenvolvimento. Alguns dos recursos são apoiados por grandes empresas como Shopify e GitHub.
Recursos populares:
ActiveAdmin - Estrutura de administração para Rails,
Devise - Motor de autenticação flexível para Rails,
Byebug - Ferramenta de depuração avançada para Ruby,
Pundit - Autorização mínima através de design OO para Ruby,
● RSpec - Estrutura TDD e BDD para Ruby,
Pay - Motor de pagamento para Rails,
● Simplecov - Ferramenta de cobertura de código para Ruby,
● e Spree - E-commerce para Rails.
Influência
O Rails surgiu para mudar a perspetiva do desenvolvimento web popularizando a utilização da arquitetura Model-View-Controller (MVC), motores, geradores, pré-processadores e convenções. As principais estruturas modernas adoptaram a filosofia e as ideias centrais subjacentes e, uma vez que a forma de desenvolver Rails se espalhou por diferentes comunidades, muitos programadores sabem como Rails funciona mesmo sem nunca terem utilizado a tecnologia.
Admiradores populares e herdeiros:
● Django - Python,
● Laravel - PHP,
Fénix - Elixir,
ASP.NET MVC - C#,
Estrutura Yii - PHP
● e Sails.js - Javascript.
Um amigo de MVP
O Rails vem com um conjunto de ferramentas que aceleram o desenvolvimento do seu MVP e reduzem o desperdício.
● Gerador: Durante o desenvolvimento, é frequentemente necessário criar modelos, controladores e vistas utilizando o padrão MVC. O Rails facilita este processo com os geradores; com uma lista abundante de geradores, a equipa poupa tempo gerando todos os ficheiros e código necessários utilizando a ferramenta de linha de comandos. Além disso, a equipa pode criar geradores personalizados para acelerar tarefas repetitivas.
● Motor: Pequenas aplicações que fornecem funcionalidades específicas e melhoram uma aplicação Rails. Com os motores, a equipa pode iniciar rapidamente o desenvolvimento da aplicação e concentrar-se no negócio. Bons exemplos de motores são Conceber (Autenticação), Espalhafatosa (comércio eletrónico) e Triturado (Fórum).
● Mapeamento relacional de objectos: O Active Record fornece uma forma fácil, elegante e intuitiva de trabalhar com objectos empresariais e bases de dados sem escrever diretamente instruções SQL. Como mencionado na documentação do Rails, com o Active Record temos a capacidade de
○ representam modelos e as suas dados,
○ representam associações entre estes modelos,
○ representar hierarquias de heranças através de modelos relacionados,
validar modelos antes de serem persistidos no
base de dados,
Efetuar operações de bases de dados num sistema orientado para objectos
moda.
Histórias de sucesso
A Airbnb, tal como muitas outras empresas em fase de arranque, começou do zero. Brian Chesky e Joe Gebbia não tinham dinheiro suficiente para pagar o aumento da renda que ocorria em São Francisco. Como São Francisco é uma cidade com muitas conferências de tecnologia, decidiram colocar um colchão de ar num espaço livre do seu apartamento e alugá-lo com pequeno-almoço gratuito. Perceberam o potencial da ideia e, mais tarde, Nathan Blecharczyk juntou-se à equipa. Com apenas três membros e recursos limitados, decidiram dar o pontapé de saída para a sua projeto com um MVP utilizando a ferramenta correta, Ruby on Rails. Para além dos desafios, o Rails permitiu-lhes transformar as suas ideias em realidade e escalar a sua produto ter cerca de 40 milhões de utilizadores só na EUA em 2021.

Muitas outras empresas populares apreciam os benefícios do Rails e a forma como este as ajudou no seu início, como a CEO de Shopify mencionado.

Resumo
Rails tem muito a oferecer a cada empresa e desenvolvedores que estão construindo um MVP. O
Os benefícios da filosofia, da comunidade e da influência por detrás do Rails podem ser resumidos da seguinte forma:
● desenvolvimento rápido,
Alta qualidade,
● escalabilidade,
● segurança,
● e uma curva de aprendizagem acentuada.

Fontes
The Lean Startup - Eric Ries
● O que é código aberto? - redhat.com
● Ruby on Rails Doutrina - rubyonrails.org
● A classificação de linguagens de programação da RedMonk: janeiro de 2021
● MVP da Airbnb - fueled.com
● Número de utilizadores da Airbnb - statista.com
Ler mais
Ruby GraphQL. E quanto ao desempenho?
Carris e outros meios de transporte
Desenvolvimento Rails com TMUX, Vim, Fzf + Ripgrep