2 lata developmentu, tysiące commitów od ponad 1600 autorów, 4 wersje beta, 2 release candidate i wreszcie jest... Gemy finalnej wersji Rails 3.0 są do pobrania już od wczoraj. Nie obyło się bez opóźnień - pierwsza wersja RC była planowana jeszcze na czerwiec (w trakcie lub tuż po RailsConf 2010), lecz ukazała się dopiero z końcem lipca. Na finiszu jednak team Rails nie zawiódł i zapowiedź wersji finalnej na ten tydzień nie była pustą obietnicą. Licząc na to, że autorzy wynieśli nauczkę z faux pas z wersją 2.3.6, to jest naprawdę to, na co wielu developerów zaciera ręce.

Dla niecierpliwych

Już w tej chwili możesz wywołać

gem install rails

i pobierze się najnowsza wersja RoR. Wraz z Rails finalne wersje 1.0 osiągnęły dwa kluczowe elementy frameworku - Bundler i ARel. One również zainstalują się wraz z instalacją nowych Railsów.

Trochę bardziej cierpliwym polecam skorzystanie z rvm, który również zaledwie tydzień temu osiąnął "dojrzałość" w postaci wersji 1.0. Dzięki temu narzędziu można nieinwazyjnie przygotować optymalne, odizolowane środowisko dla developmentu. A warto wiedzieć, że Rails 3 wspierają tylko wersje Ruby'ego 1.8.7 i 1.9.2. Jeśli możesz przeboleć niezgodność niektórych gemów z Rubym 1.9, polecam korzystanie z tej ostatniej wersji. Dzięki rvm przesiadka będzie całkowicie bezbolesna.

Jak to podejść?

Czy wybrać już Rails 3 do najnowszego projektu? A może lepiej przeczekać jeszcze kilka miesięcy z 2.3.x? Główna obawa dotyczyć może zgodności zewnętrznych gemów z nową wersją frameworku. Na szczęście sytuacja wygląda całkiem optymistycznie. Developerzy mieli sporo czasu na zapoznanie się z nowym API i dzięki temu wiele poważniejszych gemów jest już dziś gotowa do współpracy z Rails 3. Na myśl przychodzą choćby haml, authlogic, will_paginate, hoptoad_notifier. Wszystkie pluginy ekipy Thoughtbot (paperclip, shoulda, factory_girl) były już w czerwcu kompatybilne z ówczesną betą, teraz można co najwyżej czekać na oficjalne wersje zgodne z finalną wersją Rails 3.

Wątpliwości i obawy co do kompatybilności bibliotek pomoże rozwiać strona http://www.railsplugins.org, a dla korzystających z Ruby 1.9.2 dodatkowo http://isitruby19.com

Dla mnie osobiście nie ma już dyskusji. Zobaczyłem światło (czyt. ARela i nowy ActionMailer) i nie zamierzam się oglądać wstecz przy nowych projektach.

Niektórych może też kusić migracja istniejącego projektu z 2.x do 3.0. Dla większości średnich i dużych projektów, które wyszły już z etapu dynamicznego developmentu, gra nie będzie warta świeczki. Choć powstało narzędzie automatyzujące część procesu migracji (rails_upgrade), w wielu przypadkach i tak będzie to droga przez mękę, a korzyść z tego niewielka. Co innego jeśli mowa o mniejszych lub hobbystycznych projektach. Ale w takiej sytuacji i tak nikogo przekonywać nie muszę...

Dokumentacja

Już dziś poradniki na stronie Rails Guides są aktualne do wersji 3.0. Kluczowe różnice względem wersji 2.3 można znaleźć w sekcjach:

Oprócz oficjalnych poradników warte uwagi dla adeptów Rails 3 będą:

Po inne materiały (a jest ich już całkiem sporo) odsyłam do niedawnego wpisu na oficjalnym blogu rubyonrails.org.

Warto wiedzieć, że sporo książek poświęconych Rails 3 jest już na ukończeniu i w niedługim czasie powinny być dostępne. Odświeżony klasyk "Rails Way" ma się ukazać z końcem października, a inne tytuły nawet jeszcze we wrześniu. Jak będzie z polskimi wersjami książek? Strony polskich wydawców na razie milczą. Na pierwsze tytuły o Rails 3 przyjdzie nam zapewne sporo poczekać.

W końcu

Skończyły się wymówki. Ruby on Rails 3.0 już jest, teraz nic nie stoi na drodze byś zbudował(-a) The Next Big Thing. Na co czekasz?!? gem install rails i do roboty!