2010-08-20 10 views

Odpowiedz

6

Udało mi się przekonwertować wszystkie moje projekty Rails (z wyjątkiem jednego, ale pracuję nad nim) z Ruby 1.8.7/Rails 2.3.5 do Rails 3.0.0 i Ruby 1.8.7/1.9.2 RC2 a oba środowiska są dość stabilne.

Na szczęście rzeczy się zmieniły odkąd opublikowałem this question.

Szyny

ile naprawdę masz coś, co uniemożliwia Ci to zrobić, zachęcamy do rozpoczęcia z Rails 3. wysiłku potrzebnego do aktualizacji aplikacji z szyn 2 do szyny 3 należy zniechęcać począwszy od Rails 2.

Mówiąc o wtyczkach i klejnotach, wielu programistów zaczyna konwertować swoje biblioteki na Rails 3. Obecnie istnieje bardzo wysoki poziom zgodności. Co więcej, wtyczki Rails 3 wydają się być bardziej skuteczne w Railsach 2.3 dzięki nowemu API wtyczek Rails. Mogą ładować zadania, nie nadużywają już łatania małp ani nie polegają na wewnętrznych atakach.

Ponadto, Rails 3 jest tuż za rogiem. Jeśli Twój projekt nie zostanie wdrożony w ciągu tygodnia, stabilna wersja będzie prawdopodobnie dostępna przed wdrożeniem kodu. Nie przyszło mi to do głowy, uważam, że obecnie zarządzam kilkoma projektami Rails 3 w środowisku produkcyjnym i są one dość stabilne (Rails 3 RC1, Beta 4 ma naprawdę dziwny błąd w środowisku buforowania).

Ruby 1.9.2

Ruby 1.9.2 jest bardziej wydajne niż Ruby 1.8.7. Jeśli jest to zupełnie nowy projekt, sugeruję użycie oddziału 1.9.

Zwykle łatwiej jest rozpocząć nowy projekt w Ruby 1.9 niż konwersję istniejącego.

Ruby 1.9.2 jest szybszy, nawet szybszy od REE. Większość wspólnych klejnotów Ruby 1.8.7 współpracuje z Ruby 1.9, z wyjątkiem kilku takich, jak RCov. Ponownie, bardzo trudno będzie ci potrzebować biblioteki, która nie działa z Ruby 1.9.2.

Jeśli tak się stanie, istnieje szansa, że ​​jest to przestarzała biblioteka, a lepszy ekwiwalent jest prawdopodobnie dostępny w ekosystemie Ruby.

Jeśli nie możesz znaleźć alternatywy, pamiętaj, że Rails 3 zapewnia doskonały sposób korzystania z niestandardowych bibliotek dzięki programowi Bundler. Możesz rozwidlić projekt i poprosić Bundlera o użycie widelca. Możesz nawet zintegrować bibliotekę w repozytoriach i poprosić Bundler o załadowanie biblioteki ze ścieżki.

Wnioski

Z mojego osobistego doświadczenia, byłem bardzo zadowolony z Ruby 1.9.2 i Rails 3. To jest zdecydowanie moim ulubionym środowisku i mojego domyślnego środowiska dla nowych projektów.

Jeśli nie możesz użyć Ruby 1.9.2 spróbuj z Ruby 1.8.7. Z drugiej strony, to zachęcamy do rozpoczęcia z Rails 3.

+0

Rozpoczęty z Rails3 i Ruby 1.9.2 i jestem absolutnie kochający to! Wszystkie rzeczy, które nie przychodziły łatwo w Rails2 wyszły przez okno i zostały zastąpione przez dobre Rails3 RESTful lovin, takie jak nowe trasy i zapytanie ActiveRecord – ScotterC

2

Ostatecznie zależy to od projektu. Jeśli jest to projekt osobisty i używasz go jako środka do nauki Ruby/Rails, niż myślę, że warto byłoby się uczyć i używać najnowszych narzędzi. Jeśli jest to praca klienta lub projekt, którego głównym celem jest właśnie ukończenie pracy, najprawdopodobniej najlepszym rozwiązaniem byłby 2.3.5/1.8.7, ze względu na zasoby, o których wspomniałeś, a wiele wspierających bibliotek/klejnotów będzie po prostu pracuj. W pewnym momencie będziesz musiał nauczyć się Rails 3/Ruby 1.9.x, ponieważ na pewno jest to miejsce, do którego zmierza społeczność.

Chciałbym zrobić kilka badań i zobaczyć, jakie klejnoty będą potrzebne dla twojego projektu i upewnić się, że wszystko jest obsługiwane, jeśli wybierzesz trasę Rails 3/1.9.2. Dołącz do irc i zapytaj o doświadczenia innych ludzi z jakimkolwiek klejnotem.

Mogę powiedzieć, że mam małą aplikację Rails 3/1.9.2, która działa dobrze w produkcji, mimo że jest bardzo mała i jest projektem osobistym.

+0

Dzięki za wgląd. Nie myślałem o kompatybilności klejnotów. To nie jest dla klienta, ale jest przeznaczone do poważnej produkcji. Skłaniam się ku temu. – ScotterC

+0

Jeśli nie używasz jakiegoś fantazyjnego kodowania znaków w swojej aplikacji, kompatybilność z klejnotami będzie Twoim największym problemem. Wielu programistów klejnotów pracuje nad kompatybilnością Rails 3, a większość popularnych klejnotów ma co najmniej coś działającego dla Rails 3, nawet jeśli jest to wersja beta. – bobbywilson0

+0

Zgadzam się, plus 1.9.2 właśnie zostało wydane, więc może być jeszcze kilka błędów ... – rogerdpack

1

Możesz też wypróbować Ruby 1.9.2 przy użyciu RVM

Używam go wyłączyć i rozwijać pewne Rails3 aplikacje przy jednoczesnym utrzymaniu naszych obecnych zakładów produkcyjnych (aż do wersji Rails 2.2/Ruby 1.8.5). Tylko ze względu na to, że trzeba pamiętać o rozpoczęciu RVM ^^

+0

Love RVM. Sprawia, że ​​życie jest o wiele łatwiejsze. – ScotterC

Powiązane problemy