Dla mnie jedną z największych zalet będzie to, że wszystko co do tej pory napisałem i jest w użyciu to railsy - nie ma żadnych szans, żeby klienci nagle zdecydowali się na rewrite na merba (co byłoby swoją drogą w większości przypadków kretyńską decyzją) i jeżeli chodzi o moje aplikacje, to też raczej nie miałbym na to czasu. Dlatego będę mógł powoli dostosowywać aplikacje do Rails 3 i korzystać z dobrodziejstw obu frameworków.
Dodatkowo wspomniani wyżej klienci - cały czas jest dużo klientów, którzy przychodzą i mówią “chcę to w PHP”, teraz trochę z nich pewnie będzie mówić “chcę to w RoR” (ze względu na rosnącą popularność" - długo trzeba by czekać na promocję merba. Wystarczy spojrzeć ile potrzebowały railsy na to, żeby ktokolwiek oprócz programistów kojarzył co to jest.
Kilka słów a propo wad (tymi komentarzami nie chcę pokazać, że się z tym nie zgadzam, bo na pewno to co napisałeś to są wady, ale chciałem tylko napisać dlaczego są one jeszcze mniejsze niż się wydaje )
[quote=apohllo]Wady:
- Problemy decyzyjne - im większy zespół, tym proces podejmowania decyzji jest trudniejszy.[/quote]
Nie sądzę, żeby to był jakikolwiek problem. Ostatnia decyzja pokazuje, że to są dojrzali programiści, którzy stawiają dobry kod ponad jakieś osobiste wycieczki. DHH z kolei pokazał, że to już nie jest “jego framework” i że jest w stanie dać go do poprawienia ludziom od merba - to jest radykalna zmiana.
Nie wiem co dokładnie masz na myśli pisząc zależności, ale railsy 3 mają być modularne, w stopniu mniej więcej takim jak merb teraz (merb-core i merb-more, czyli tak naprawdę zestaw pluginów rozszerzających core). Tak jak powiedział Matt Aimonetti w swojej prezentacji o pluginach: “… czyli tak naprawdę dodając nowe rzeczy do merba przez większość czasu pisaliśmy pluginy”. Przy takim podejściu bardzo łatwo jest wymienić specyficzne części frameworka na swoje własne rozwiązania (głównie dzięki uporządkowanemu i udokumentowanemu API i zasadzie “it is a bug if you can’t do something without using alias_method_chain”).
Na pewno nie będzie to kwestia 15 minut, ale tak jak pisałem powyżej, obecnie na rails3 będą pracowali ludzie od merba i od railsów. Wszyscy oni (+ community) mają jakieś projekty w obu frameworkach, więc obie grupy będą chciały zrobić przejście możliwie jak najłatwiejsze (jeżeli nawet nie z chęci pomocy programistom, to z czystego egoizmu).
Myślę, że dzięki RACKowi i passengerowi niedługo nie będzie już problemu z hostowaniem żadnego frameworka, który opiera się na racku.
Ja jestem dobrej myśli - jeżeli podjęli tak trudną decyzję, to nie sądzę, żeby nagle zaczęli się kłócić o to jak zaimplementować daną rzecz. Zauważ, że większość zmian z ostatnich tygodni (miesięcy?) w edge railsach było tak naprawdę doganianiem merba pod niektórymi względami: pluginy jako gemy, widoki i kontrolery w pluginach, railsy działające na racku, metal middleware, przepisany action view, wcześniej ogromna praca włożona w to, żeby railsy były thread safe.
Nie chcę być nadmiernym optymistą, ale nie ma opcji, żeby się nie udało