Rails 2.1 – wylądowało

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_finder przemianowany na named_scope jest 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% [?]

Spodobało się? Podziel się z innymi: These icons link to social bookmarking sites where readers can share and discover new web pages.
  • del.icio.us
  • Gwar
  • Ma.gnolia
  • Wykop
This entry was posted in Rails and tagged , , . Bookmark the permalink.

Leave a Reply

Your email address will not be published. Required fields are marked *

*

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>