Minimalny opłacalny produkt (MVP) jest jedną z zasad metodologii Lean Startup. Celem jest pomoc przedsiębiorcom w jak najszybszym rozpoczęciu procesu uczenia się. Produkt niekoniecznie musi być mały lub niskiej jakości; MVP to po prostu najszybszy sposób na uzyskanie informacji zwrotnej przy minimalnym nakładzie pracy i zasobów.
Uzyskując informacje zwrotne i ucząc się od klientów przy każdej iteracji, konieczne jest dodawanie nowych funkcji i szybkie dostosowywanie się do zmian. Narzędzie, które wybieramy do budować MVP ma kluczowe znaczenie dla zmniejszenia ilości odpadów.
Dlaczego warto wybrać Ruby on Rails?
Ruby na Szyny jest dobrze znany sieć platforma aplikacji z ponad 15-letnią tradycją i silną społecznością.
Filozofia
Ruby on Rails jest zgodny z filozofią, która pozwala na szybki rozwój, ułatwiając trywialne i powtarzalne zadania. zespół koncentruje się głównie na wyzwaniach biznesowych.
● Open Source: Kod Zaprojektowany jako publicznie dostępny, każdy może zobaczyć, modyfikować i rozpowszechniać kod według własnego uznania. Często jest tańszy, bardziej elastyczny i ma dłuższą żywotność, ponieważ jest rozwijany przez społeczności, a nie przez jednego autora lub firmę.
● Zasada najmniejszego zaskoczenia: Inspired by Ruby; podczas pracy z Railsami wszystko zachowuje się jak deweloper oczekuje. Railsy zostały zaprojektowane tak, aby zapewnić różne sposoby wykonywania tych samych zadań w najbardziej intuicyjny i elegancki sposób.
● Nie powtarzaj się: Obejmuje to, o ile to możliwe, ponowne wykorzystanie jak największej ilości kodu zamiast powielania podobnego kodu w wielu miejscach.
● Konwencja ponad konfiguracją: Jest to rozszerzenie pojęcia wartości domyślnej, ustawienia lub wartości przypisywanej automatycznie bez interwencji użytkownika. Niektóre systemy oprogramowania, w szczególności Java frameworki aplikacji internetowych wymagają wielu plików konfiguracyjnych, z których każdy zawiera wiele ustawień.
● Railsy są opiniotwórcze: Szyny wykorzystuje zestaw dobrze ugruntowanych konwencji. Jeśli członkowie zespołu będą przestrzegać konwencji Rails, będą mieli mniej decyzji do podjęcia i przekonają się, że więcej z tego, co jest potrzebne, zostało już zbudowane. Korzyścią jest szybszy rozwój, lepsza współpraca i łatwiejsza konserwacja.
● Rails to Omakase: Omakase to japońskie wyrażenie, które oznacza "zostawię to tobie". Podczas gdy Konwencja nad Konfiguracją zajmuje się tym, jak najlepiej wykorzystać poszczególne frameworki, Omakase zajmuje się tym, które frameworki i jak pasują do siebie, zapobiegając podejmowaniu przez zespół błędnych decyzji przy wyborze stosu technologicznego.
● Zintegrowane systemy wartości: Cały system, który rozwiązuje cały problem. Oznacza to, że Railsy zajmują się wszystkim, od front-endu do back-endu.
Wspólnota
Język Ruby jest prosty, produktywny i elegancki, z doświadczoną, wspierającą i oddaną społecznością; znalazł się w pierwszej dziesiątce popularnych języków na świecie. Ranking języków programowania RedMonk: Styczeń 2021 Przez lata społeczność stworzyła wiele zasobów w celu poprawy wydajności, jakości i przyspieszenia rozwoju. Niektóre z tych zasobów są wspierane przez duże firmy, takie jak Shopify i GitHub.
Popularne zasoby:
ActiveAdmin - framework administracyjny dla Rails,
Devise - Elastyczny silnik uwierzytelniania dla Rails,
Byebug - Bogate narzędzie do debugowania dla Ruby,
Pundit - Minimalna autoryzacja dzięki projektowi OO dla Ruby,
RSpec - framework TDD i BDD dla języka Ruby,
Pay - silnik płatności dla Rails,
Simplecov - Narzędzie pokrycia kodu dla Ruby,
● i Spree - E-commerce dla Rails.
Wpływ
Railsy powstały, aby zmienić perspektywę tworzenie stron internetowych popularyzując wykorzystanie architektury Model-Widok-Kontroler (MVC), silników, generatorów, preprocesorów i konwencji. Nowoczesne frameworki głównego nurtu przyjęły filozofię i podstawowe idee, a ponieważ sposób rozwoju Railsów rozprzestrzenił się wśród różnych społeczności, wielu programistów wie, jak działa Rails, nawet jeśli nigdy nie korzystali z tej technologii.
Popularni wielbiciele i spadkobiercy:
● Django - Python,
● Laravel - PHP,
Phoenix - Elixir,
ASP.NET MVC - C#,
Yii Framework - PHP
● i Sails.js - Javascript.
Przyjaciel MVP
Railsy są dostarczane z zestawem narzędzi, które przyspieszą rozwój MVP i zmniejszą ilość odpadów.
● Generator: Podczas rozwoju często konieczne jest tworzenie modeli, kontrolerów i widoków przy użyciu wzorca MVC. Railsy ułatwiają to dzięki generatorom; z dużą listą generatorów zespół oszczędza czas generując wszystkie niezbędne pliki i kod za pomocą narzędzia wiersza poleceń. Co więcej, zespół może tworzyć niestandardowe generatory, aby przyspieszyć powtarzające się zadania.
● Silnik: Małe aplikacje, które zapewniają określoną funkcjonalność i ulepszają aplikację Rails. Dzięki silnikom zespół może szybko rozpocząć tworzenie aplikacji i skupić się na biznesie. Dobrymi przykładami silników są Urządzenie (Uwierzytelnianie), Spree (E-Commerce) i Rozdrobniony (Forum).
● Mapowanie obiektowo-relacyjne: Active Record zapewnia łatwy, elegancki i intuicyjny sposób pracy z obiektami biznesowymi i bazami danych bez bezpośredniego pisania instrukcji SQL. Jak wspomniano w dokumentacji Railsów, dzięki Active Record mamy możliwość
○ reprezentują modele i ich dane,
○ reprezentują powiązania między tymi modelami,
○ reprezentować hierarchie dziedziczenia poprzez powiązane modele,
○ walidacja modeli przed ich utrwaleniem w systemie
baza danych,
○ wykonywać operacje na bazach danych w sposób obiektowy
moda.
Historie sukcesu
Airbnb, podobnie jak wiele innych startupów, zaczynało od zera. Brian Chesky i Joe Gebbia nie mieli wystarczająco dużo pieniędzy, aby zapłacić podwyżkę czynszu, która miała miejsce w San Francisco. Ponieważ San Francisco jest miastem z wieloma konferencjami technologicznymi, postanowili dodać materac powietrzny w wolnej przestrzeni swojego mieszkania i wynająć go z bezpłatnym śniadaniem. Zauważyli potencjał tego pomysłu, a później do zespołu dołączył Nathan Blecharczyk. Mając tylko trzech członków i ograniczone zasoby, zdecydowali się na rozpoczęcie działalności. projekt z MVP przy użyciu odpowiedniego narzędzia, Ruby on Rails. Oprócz wyzwań, Railsy pozwoliły im przekształcić ich pomysły w rzeczywistość i skalować ich działalność. produkt mieć około 40 milionów użytkowników tylko w USA w 2021 roku.

Wiele innych popularnych firm docenia korzyści płynące z Rails i to, jak pomogły im one w początkach ich działalności, jak np. CEO z Shopify wspomniano.

Podsumowanie
Railsy mają wiele do zaoferowania każdej firmie i deweloperom budującym MVP. The
Korzyści płynące z filozofii, społeczności i wpływów stojących za Railsami można podsumować w następujący sposób:
Szybki rozwój,
Wysoka jakość,
● skalowalność,
bezpieczeństwo,
i stromą krzywą uczenia się.

Źródła
The Lean Startup - Eric Ries
● Czym jest open source? - redhat.com
● Doktryna Ruby on Rails - rubyonrails.org
● Ranking języków programowania RedMonk: Styczeń 2021
● Airbnb MVP - fueled.com
● Liczba użytkowników Airbnb - statista.com
Czytaj więcej
GraphQL Ruby. Co z wydajnością?
Szyny i inne środki transportu
Rails Development z TMUX, Vim, Fzf + Ripgrep