Zgodnie z zapowiedziami, Rails w wersji 2.1, które na Dzień Dziecka core team sprezentował (w końcu wiadomo, że faceci to takie duże dzieci, nie?) nie jest żadną rewolucyjną zmianą w stosunku do 2.0, ale wprowadza kilka nowych przydatnych ficzerów.
Dla mnie chyba najbardziej użyteczną zmianą jest oznaczanie migracji nie kolejnymi numerami a datą w formacie UTC. Dzięki temu, jest mniejsze ryzyko, że pracując w kilka osób namiesza się w migracjach. Nie jest to duży problem posprzątać w takiej sytuacji, ale zawsze. Zdarza mi się często współpracować w większych projektach, gdzie bierze udział większa liczba developerów i takie pomieszanie zdarza się czasami. Jeśli zespół jest ‘remote’ i to w kilku strefach czasowych to UTC-based migrations, minimalizują ten problem.
Kolejną bardzo użyteczną rzeczą jest możliwość zdefiniowania zewnętrznych zależności w GEMach (wskazać jakie wersje GEMów dokładnie są potrzebne). Na dodatek zestaw zadań w rake pozwala na bezproblemowe zainstalowanie środowiska niezbędnego do pracy. Bardzo przydatne jeśli wskakuje się do zaawansowanego projektu jako dodatkowy developer.
Kolejne nowości są już bardziej prawdziwymi ficzerami:
- wsparcie dla stref czasowych (time zones) jest niejako wbudowane,
- dirty tracing pozwala na sprawdzenie co się zmieniło w obiekcie ActiveRecord od czasu jego stworzenia – ułatwi to różne walidacje (UPDATE – teraz doczytałem, że to ma drugie dno – AR robi w bazie tylko update zmienionych pól, co też pozytywnie może się na wydajności odbić)
- plugin
has_finderprzemianowany nanamed_scopejest już core nie plugin, - ułatwienia w cacheowaniu
Jeśli ktoś już przełknął kierunek w jakim poszło Rails 2.0 to wersja 2.1 jest na pewno dobrym krokiem.
Popularity: 8% [?]



