3 sty 202213 min czytania
Robert Krajewski
Współzałożyciel i CEO Ideamotive. Przedsiębiorca, mentor i doradca startupów.
W zgodzie ze zmieniającymi się potrzebami programistów i użytkowników technologia rozwija się dalej w 2023 roku. Frameworki, będące podstawowymi klockami przy budowie aplikacji, nie są tu wyjątkiem. To, co wczoraj uchodziło za wydajne i popularne, dziś może nie być już potrzebne ani istotne - co pokazuje, jak dynamiczna jest technologia i jak ważne jest nadążanie za zmianami.
Ruby on Rails, framework napisany w Ruby i wydany w 2004 roku, często podaje się jako przykład tej zmiany. Framework, który kiedyś był jednym z najpopularniejszych, dziś bywa uznawany za przestarzały i martwy.
Każdy rok i każde wydanie przynosiły nam coś nowego. Pokażmy więc, jaki jest stan Ruby on Rails na początku szalonych lat dwudziestych!
Ruby on Rails skończy w tym roku 18 lat. Wprowadzono mnóstwo zmian zarówno w języku, jak i we frameworku. Jako firma, która dostarcza najlepszych programistów Ruby on Rails, zawsze czekaliśmy na nowe wydania. Wiele osób zaangażowanych w rozwój RoR zadbało o to, żeby był gotowy na nadchodzące wyzwania.
Ta wersja Rails powstawała latami. To ucieleśnienie pomysłu, żeby przedstawić naprawdę zintegrowane podejście do tworzenia aplikacji webowych, które z równą energią rozwiązuje problemy zewnętrzne i wewnętrzne. Menu omakase zawiera wszystko, od aperitifu po deser.
Tak, dobrze zrozumiałeś! JavaScript w Rails 7 nie wymaga już NodeJS ani Webpacka. A pakietów npm nadal możesz używać.
Transpilacja ES6 Babelem i budowanie Webpackiem wymagają wielu konfiguracji. Choć Rails wspierał to całkiem dobrze dzięki gemowi Webpacker, wnosiło to sporo balastu, było trudne do zrozumienia i do zmiany - zwłaszcza przy zachowaniu aktualizowalności.
Teraz domyślnym rozwiązaniem w nowych aplikacjach tworzonych przez rails new są import mapy z gemu importmaps-rails. Zamiast pisać package.json i instalować zależności przez npm czy yarn, używasz CLI ./bin/importmap, żeby przypiąć (odpiąć lub zaktualizować) zależności.
Przy takiej konfiguracji pamiętaj, że nie ma transpilacji między tym, co piszesz, a tym, co dostaje przeglądarka. W większości przypadków jest to w porządku, bo wszystkie główne przeglądarki wspierają dziś ES6 od razu.
To jednak oznacza, że nie użyjesz TypeScriptu ani JSX, bo wymagają one transpilacji do JS przed użyciem.
Jeśli więc chcesz używać Reacta z JSX, wciąż musisz wrócić do innej konfiguracji (z webpackiem / rollupem / esbuildem).
Aplikacje zbudowane w Rails 7 domyślnie dostaną Turbo i Stimulus (z Hotwire) zamiast Turbolinks i UJS. Hotwire to nowe podejście, które pozwala szybko aktualizować DOM przez przesyłanie HTML-a po sieci.
Rails 7 pozwala oznaczyć wybrane pola bazy danych jako szyfrowane metodą encrypts w ActiveRecord :: Base. Oznacza to, że po wstępnej konfiguracji możesz napisać taki kod:
class Message < ApplicationRecord
encrypts :text
end
Z zaszyfrowanych atrybutów możesz korzystać dalej jak z każdego innego atrybutu. Rails 7 automatycznie zaszyfruje je i odszyfruje między bazą danych a Twoją aplikacją.
Jest tu jednak drobny haczyk: nie odpytasz bazy po tym polu, chyba że przekażesz metodzie encrypts parametr deterministic: true. Tryb deterministyczny jest mniej bezpieczny niż domyślny niedeterministyczny, więc używaj go tylko przy atrybutach, przy których jest absolutnie konieczny.
Jest teraz metoda load_async, której możesz użyć przy odpytywaniu danych, żeby otrzymać wyniki w tle. Ma to szczególne znaczenie, gdy musisz załadować wiele niepowiązanych zapytań z akcji kontrolera.
To zmiana łamiąca zgodność dla starszych aplikacji, które wciąż korzystają z klasycznego bootloadera. Wszystkie aplikacje Rails 7 powinny używać trybu Zeitwerk, ale przełączenie jest dość proste.
Naprawdę świetne jest jednak to, jak bardzo programiści Ruby on Rails lubią oddawać coś społeczności.
Jak wspomnieliśmy, framework ma na GitHubie prawie 5000 kontrybutorów - to naprawdę imponująca liczba, zwłaszcza w porównaniu z około 2950 kontrybutorami Django, najpopularniejszego frameworka Pythona.
Twierdzenie „nie ma programistów” to kompletny mit. Programiści są i bardzo łatwo ich znaleźć. Oczywiście jest ich mniej niż w PHP, ale średni poziom jest „o klasę” wyższy - wielu z tych, którzy nazywają się programistami PHP, to w rzeczywistości tylko osoby składające layouty, z powierzchowną znajomością języka, niepotrafiące napisać nawet najprostszej aplikacji webowej.

Jeśli porównasz Ruby z Javą, liczba programistów jest zbliżona, ale w porównaniu z .NET, Pythonem i Perlem tych rubyowych jest znacznie więcej.
Do tego społeczność Ruby on Rails słynie z otwartości i pomocności. Ruby powszechnie uchodzi za świetny język programowania dla początkujących ze względu na prostotę kodu.

Poza tym wybierają go nowicjusze także dzięki ogromnej liczbie blogów, repozytoriów, wiki i innych źródeł o Ruby i Rails. Dzięki temu problemy w procesie wytwarzania da się rozwiązać szybciej, a gotowy produkt trafia do wydania wcześniej.
Jest sporo miejsc, w których możesz spokojnie zacząć swoją przygodę z tworzeniem aplikacji webowych w Ruby on Rails. My sami gorąco polecamy:
Możesz też śledzić członków core teamu:
Szukasz świetnych ekspertów od Ruby on Rails, których warto czytać i śledzić w mediach społecznościowych? Przeczytaj nasz wpis 40 Ruby on Rails Experts, Bloggers, and Influencers to Follow in 2022!
Zgodnie z StackOverflow Report 2021 RoR zajmuje 13. miejsce na 18 pretendentów do miana najczęściej używanego frameworka webowego. Oznacza to, że liczba porządnych programistów, którzy potrafią wnieść wszystkie zalety tej technologii do Twojego projektu, stopniowo maleje.
Zgodnie ze wspomnianą ankietą Stack Overflow: im popularniejsza technologia, tym mniej płacisz. I odwrotnie.
Jest jednak jedno zastrzeżenie: im popularniejsza technologia, tym wyższe ryzyko dostania kiepskiej jakości kodu i wydania jeszcze więcej na poprawianie błędów - im więcej osób uczy się danej technologii, tym większa konkurencja, ale niższa jakość kodu.
Ruby nie jest jeszcze tak wielkie, jak mogłoby być, co stanowi dodatkową korzyść z używania tej technologii, jeśli potrafisz znaleźć wykwalifikowanych i doświadczonych programistów oraz wybrać koszt outsourcingu zależnie od preferowanego kraju.
Ruby jest fajne, ale może być drogie, jeśli tworzysz w USA albo w Europie Środkowej.
Stawki w USA należą do najwyższych. Marzenie programisty, ale koszmar dla startupów.
Według LinkedIna w tym kraju ponad 70 000 osób rozwija karierę jako programiści Ruby on Rails.
Zawsze będziesz mieć wybór wśród amerykańskich programistów. Jak jednak wspomnieliśmy, stawka godzinowa programisty Ruby on Rails w tym regionie bywa dość wysoka i wynosi od 75 do 250 dolarów, zależnie od doświadczenia.
Europa jest drugim co do wielkości rynkiem po Stanach Zjednoczonych.
Stawki bardzo się różnią w zależności od tego, w której części Europy szukasz programistów.
Najwyższe stawki godzinowe za pracę w Rails obowiązują w Unii Europejskiej, zwłaszcza w Niemczech (40-65 $), Szwecji (45-100 $), Norwegii (40-75 $) i Wielkiej Brytanii (60 $).
Z drugiej strony w Europie Wschodniej stawki zaczynają się od 30 dolarów za godzinę.
Zwykle te lokalizacje outsourcingowe wybiera się, żeby zaoszczędzić jeszcze więcej na kosztach - to opcja, jeśli Twój projekt ma napięty budżet.
Znasz pułapkę: oszczędzanie może odbić się na jakości kodu.
Średnio programiści RoR biorą w Indiach od 25 do 50 dolarów za godzinę, a w Chinach do 50 dolarów.
Te informacje o wydaniu obejmują tylko najważniejsze zmiany. Pozostałe aktualizacje, poprawki błędów i zmiany znajdziesz w changelogu albo na liście commitów w głównym repozytorium Rails na GitHubie.
Zanim zaktualizujesz istniejącą aplikację, dobrze byłoby też zadbać o pokrycie testami. Poza tym przed próbą przejścia na Rails 6.1 musisz najpierw zaktualizować do Rails 6.0 i upewnić się, że aplikacja nadal działa zgodnie z oczekiwaniami.
Najważniejsze nowości w Rails 6.1:
Ruby 3.0.0 to nadchodząca aktualizacja otwartoźródłowego języka dynamicznego, dostępna już w wersji zapoznawczej. Kluczowe cechy nowej wersji to równoległe wykonywanie i możliwość deklarowania typów.
Czym one są?
Równoległe wykonywanie przychodzi w postaci eksperymentalnej funkcji o nazwie „Ractor”, będącej abstrakcją równoległości podobną do modelu aktorów, zaprojektowaną tak, by zapewnić równoległe wykonywanie bez obaw o bezpieczeństwo wątków. Programiści mogą tworzyć wiele ractorów i uruchamiać je równolegle. Takie współbieżne programy mogą być bezpieczne wątkowo, bo ractory nie współdzielą wspólnych obiektów. Komunikacja między ractorami odbywa się przez przekazywanie wiadomości.
Żeby ograniczyć współdzielenie obiektów, Ractor wprowadza kilka ograniczeń w składni Ruby.
Specyfikacja i implementacja nie są jeszcze finalizowane ani zmieniane w przyszłości, dlatego funkcja ta jest oznaczona jako eksperymentalna.

Ruby 3.0.0 wprowadza też RBS, czyli - jak się podaje - język do opisywania typów w programach Ruby. Pozwala parsować i przetwarzać definicje typów. Narzędzia sprawdzające typy, w tym profilery typów i inne narzędzia wspierające RBS, będą lepiej rozumieć programy w Ruby.
RBS zaprojektowano tak, żeby wspierał typowe wzorce w programach Ruby. Obsługiwane są typy rozszerzone, w tym typy sumaryczne, przeciążanie metod i typy generyczne. Programiści będą mogli korzystać z definicji klas i modułów: metod zdefiniowanych w klasie, zmiennych instancji i ich typów oraz relacji dziedziczenia i domieszek.
W trzeciej wersji języka dodano także scheduler, będący na etapie eksperymentalnym, który przechwytuje operacje blokujące. Funkcja ta, określana jako Thread #scheduler, pozwala na łatwą współbieżność bez modyfikowania istniejącego kodu.
Obecnie obsługiwane klasy i metody to:
Obecnym punktem wejścia do współbieżności jest Fiber.schedule {...}, choć może się to zmienić do czasu wydania Ruby 3.
Obecne stabilne wydania Ruby to 2.7.1 i 2.6.6.
W 2019 roku były dwa duże wydania dla Ruby on Rails. Najpierw Rails 6.0, a potem Ruby 2.7.0. Zobaczmy, co się zmieniło.
Wiedzieliśmy, że nadejdzie. Część rzeczy była wcześniej dostępna osobno, ale teraz wszystkie zostały wybrane i zapakowane w to nowe wydanie.
Niektórzy mówią, że wraz z Rails 6.0 do rdzenia frameworka trafia za dużo funkcji. Woleliby widzieć je jako opcjonalne gemy. Inni twierdzą z kolei, że te zmiany świadczą o dojrzałości frameworka.
Jak zwykle to wydanie przyszło pod koniec roku. Wśród wielu zmian cztery wymienione poniżej są najważniejsze.
Od tych dwóch wydań pojawiły się nowe gemy i wersje. Jeśli chcesz być na bieżąco ze światem RoR, gorąco polecamy śledzić oficjalny blog Ruby on Rails, który pokazuje, jak aktywnie framework jest wciąż rozwijany.
Co roku tysiące programistów zadają to pytanie: czy Ruby on Rails jest na fali, czy zimne jak głaz? CEO i product ownerzy podchodzą do tego nieco spokojniej, ale też chcą wiedzieć, czy ten dziwnie nazwany framework wciąż jest istotny i czy to dobry wybór. Jedni mówią, że to najlepsze, co Twoja firma może dostać do zbudowania zaawansowanego rozwiązania. Inni twierdzą, że jest martwy. (Cokolwiek to znaczy...)
To pewnie nie ostatni raz, gdy odpowiadamy na to pytanie, ale najpierw spójrzmy na liczby i statystyki Ruby on Rails.

Programiści RoR są pewni - Rails wciąż mają znaczenie w 2023 roku.
Skoro takie są liczby, dlaczego część programistów wciąż wieszczy śmierć Ruby on Rails? Może dlatego, że nie jest już nowy. Po prawie szesnastu latach każdy w branży słyszał o RoR i jego zaletach. Do tego framework dojrzewał z każdym nowym wydaniem.
Ruby on Rails nie jest więc martwy. Część z nas po prostu się do niego przyzwyczaiła, bo framework dorósł. Czy jest coś złego w byciu dojrzałym i w pełni niezawodnym?
Warto zauważyć, że języka programowania Ruby używają głównie profesjonaliści.
Dlatego nawet początkujący programista Ruby jest doświadczonym web developerem z dużą wiedzą i praktyką. Dla języka Ruby najpopularniejszym frameworkiem jest Rails - korzysta z niego ponad 90% aplikacji webowych napisanych w Ruby.
Przez ostatnie 18 lat Ruby on Rails i jego społeczność miały dość czasu, żeby dojrzeć, poprawić się i pójść naprzód. Miały też mnóstwo czasu, żeby zbudować zaufanie programistów i inwestorów, tchnąc życie w znane produkty takie jak MyFitnessPal, Airbnb, Kickstarter, Basecamp, Dribbble, Goodreads, GitHub, GitLab, Fiverr, COOKPAD, Couchsurfing, Zendesk i zapewne tysiące innych projektów, o których być może nigdy nie słyszałeś. Chcesz dowodów? Zajrzyj do 50 Best Ruby On Rails Companies Websites.
Wszystko to wydarzyło się mimo tego, że ludzie mówili, iż „Rails się nie skaluje” albo „Rails nie nadaje się do poważnych zadań”.
Wszystkie te firmy zwykle łakną nowych programistów Ruby on Rails, żeby ich zatrudnić i rozszerzyć wykorzystanie frameworka.
Mimo prawie 18 lat od pierwszego wydania Ruby on Rails framework jest wciąż szeroko używany wśród zawodowych programistów.
W 2022 roku Ruby to coś znacznie więcej niż tylko przyjemny i łatwy do nauki język programowania dla tych, którzy zaczynają karierę w inżynierii oprogramowania.
Co ważniejsze, to jedno z najbardziej sensownych rozwiązań do tworzenia świetnej, przyjaznej użytkownikowi strony lub aplikacji webowej.
Wciąż wątpisz? Pokażemy Ci kolejne informacje:
Nie musisz prowadzić głębokich poszukiwań, żeby znaleźć wielu ekspertów oferujących konsulting Ruby on Rails, a także usługi wytwarzania w Ruby on Rails oraz firmę Ruby on Rails, która zaproponuje sprawne stworzenie Twojego produktu. Ruby i Rails pozwalają szybko dostarczać gotowe strony i aplikacje webowe bez szkody dla ich stabilności czy wydajności. Do tego koszty budowy MVP i czas wejścia na rynek są niskie.
To oczywiście niesamowicie zmieni tworzenie aplikacji webowych w Ruby on Rails, czyniąc je jeszcze ciekawszym z biznesowego punktu widzenia.
Poza nadchodzącą lepszą wydajnością są też wszystkie inne świetne rzeczy, o których warto pamiętać przy Ruby i Ruby on Rails, takie jak:
Owszem, są też inne dobre rozwiązania. Rzućmy okiem na PHP. Jest stare jak świat i pewnie niczym Cię nie zaskoczy. Ale nie zaskoczy też Twoich klientów. Jeśli więc chcesz zbudować coś niezwykłego, Ruby on Rails jest Twoją najlepszą szansą.
Jeśli mierzysz się z dużo bardziej złożonymi wyzwaniami, możesz pomyśleć o Django. Ten framework napisany w Pythonie jest jednym z najlepszych rozwiązań dla aplikacji mocno opartych na bazach danych.
Jeśli jednak nie zamierzasz budować gigantycznego systemu projektowanego i tworzonego przez ekspertów znających każdy sekret składni Pythona, Ruby będzie lepszym i najbardziej opłacalnym rozwiązaniem.
Nie ma prostych odpowiedzi przy wyborze stosu technologicznego do nowego projektu. Jeśli dopiero poznajesz Ruby on Rails, sprawdź przewodnik po Ruby on Rails, który przygotowaliśmy. Jest tam ogrom wiedzy, który pomoże Ci zdecydować.
Jeśli jednak jesteś starym wyjadaczem, oto kilka ostatnich uwag na dziś.
Planujesz nowy projekt e-commerce?
Dobrze. Wybierz Rails, tak jak internetowi giganci pokroju Shopify i Groupon (RoR świetnie sprawdza się w e-commerce i marketplace'ach).
Chcesz zrewolucjonizować bardziej tradycyjną branżę?
Idź śladem platform takich jak Couchsurfing, Airbnb czy Slideshare - wszystkie korzystają z Ruby on Rails.
A może po prostu planujesz jak najszybciej wprowadzić firmę w lata dwudzieste i dostosować jej stronę do nowych klientów?
Ruby i Rails i w tej sytuacji są dla Ciebie gotowe.
Gorąco polecamy przejrzeć kilka naszych ulubionych case studies z tworzenia aplikacji webowych w Ruby on Rails. Na pewno pokażą Ci zakres możliwości, jakie RoR daje zarówno małym startupom, jak i wielkim korporacjom.
Po prawie 18 latach to naprawdę dojrzały i niezawodny framework. Wiemy to, bo pracujemy z RoR od wielu lat.
To niesamowity czas, żeby pracować z Ruby on Rails. Największe aplikacje zbudowane na tej platformie nieustannie biją rekordy zasięgu i skalowania. Rywalizacja o najlepszych programistów Rails jest ostrzejsza niż kiedykolwiek. Napływ nowych kontrybutorów co tydzień pcha framework do przodu.
Nie musisz szukać firmy tworzącej w Ruby on Rails. Jeśli szukasz godnych zaufania inżynierów, nie szukaj dalej niż nasz marketplace. Daj naszym programistom Rails znać, jak mogą pomóc Twojemu biznesowi rosnąć.
Robert jest współzałożycielem Ideamotive. Przedsiębiorca, który z pasją szerzy cyfrową rewolucję w całym internecie. Mentor i doradca w akceleratorach startupów. Uwielbia się uczyć i odkrywać nowe modele biznesowe.
Zobacz wszystkie wpisy autoraPopularne artykuły
21 inspirujących projektów UI aplikacji mobilnych na 2023 rok
Michał Pruciak 7 min czytania
MedTech vs HealthTech vs BioTech: jakie są różnice?
Michał Pruciak 7 min czytania
10 biznesowych zastosowań sieci neuronowych (z przykładami!)
Michał Pruciak 4 min czytania
10 przykładów dobrych praktyk w web designie na 2023 rok
Adam Kozłowski 7 min czytania
28 znanych aplikacji webowych napisanych w PHP
Dawid Karczewski 14 min czytania
Jakich usług programistycznych szukasz?
W naszej sieci talentów czekają dziesiątki zweryfikowanych specjalistów Ruby on Rails.
Chcesz zdobywać nowe projekty jako programista RoR? Dołącz jako Talent.
Dane rejestrowe:
Firma
Usługi
Najczęściej poszukiwani specjaliści
Ocena 4,8 / 5,0 od klientów z różnych branż i lokalizacji.