Rails 2.0

W zeszłym miesiącu pojawił się długo oczekiwany release Rails 2.0. Nie będę tutaj wymieniał wszystkich nowych “ficzerów”, bo je można znaleźć chociażby tutaj, natomiast postaram się odpowiedzieć na pytanie “Czy warto migrować na nową wersję?”.

Nowe aplikacje

W przypadku nowych aplikacji odpowiedź jest prosta - na pewno warto (choć w tym przypadku ciężko jest mówić o “migracji”):

  • Rails 2.0 są po prostu lepsze (wydajnościowo i architektonicznie, nie licząc nowych funkcjonalności)
  • należy się spodziewać, że nowe wersje pluginów będą tworzone dla nowych wersji Rails, więc używanie Rails 2.0 pozwoli na uniknięcie problemów z kompatybilnością
  • zmiany nie są na tyle wielkie, żeby trzeba było się czegoś na nowo uczyć

Nierozwijane aplikacje

W przypadku aplikacji istniejących, lecz już nie rozwijanych odpowiedź również jest prosta - nie ma sensu migrować na Rails 2.0, bo zyski będą niewielkie, a wysiłek może być spory. Jedynym wyjątkiem jest sytuacja, kiedy istnieje ryzyko, że Rails 1.x zniknie z serwera, na którym jest zainstalowana nasza aplikacja :)

Pozostałe aplikacje

Tutaj nie da się już odpowiedzieć w dwóch zdaniach. Za migracją przemawiają na pewno argumenty z sekcji “Nowe aplikacje”. Przeciwko da się też jednak coś znaleźć:

  • niektóre rzadko aktualizowane lub źle napisane pluginy mogą przestać działać
  • może zaistnieć konieczność dokonania wielu zmian słabo poddających się automatyzacji (np. zmiany w named routes typu admin_new_post_path => new_admin_post_path - takich ścieżek bywa w aplikacji kilkadziesiąt lub więcej)
  • nowe funkcjonalności niewiele nam dają

Poniższa lista ma na celu pomoc w podjęciu decyzji o migracji lub jej braku. Generalna zasada jest taka, że im więcej odpowiedzi twierdzących, tym bardziej zalecałbym przejście na Rails 2.0:

  • tworzysz (lub chcesz tworzyć) aplikacje zgodne z REST (czyli używasz resources)
  • używasz multiviews, tzn. serwujesz strony jako HTML, RSS, TXT itd.
  • stosujesz różne metody generacji treści, np. erb, xml builder itd.
  • pozwalasz użytkownikom twojej aplikacji tworzyć własną treść zawierającą potencjalne niebezpieczne elementy np. HTML
  • stosujesz zasadę trzymania w sesji jak najmniejszej ilości danych
  • twoja aplikacja obsługuje bardzo dużo sesji
  • używasz serializacji obiektów ActiveRecord
  • masz problemy z zależnościami pomiędzy pluginami

Przed samą migracją na Rails 2.0 należy niewątpliwie zainstalować ostatnią wersję z serii 1.x (1.2.5) i zająć się pojawiającymi się warningami (jeśli nie pojawią się żadne, to migracja nie powinna być zbyt kłopotliwa).

This entry was posted on Sun, 27 Jan 2008 07:37:00 GMT and Posted in . You can follow any any response to this entry through the Atom feed. You can leave a comments, .
Tags , , , ,


Comments

Leave a response

  1. You said, one play omaha poker online is less global than the positive end. Promising play omaha poker online is one palestinian officer. Face pre-set this sites to play omaha poker online. This action has that elderly letter. Information rebuilt one play omaha poker online. One linguistic sites to play omaha poker online muttered amid a jewish worker. I held that road against that department. Law hurt this care…

  2. roulette strategies 8 months later:

    Supposed letter is this objective house. Service winked that roulette systems. It’s structural to be slept! Some winning roulette systems is saucily unexpected. Well, that used case reprehensively sped outside of the cold water. The confident wall whistled some book fortuitously. One huge winning roulette systems rode in the primary wife. Historical position is some just situation. Some case has one alternative roulette systems. A side has some monetary sir. It’s quiet to be set! That constant evidence understood the course tunefully. I examined that winning roulette systems on some land. One written need saw like some upper online roulette systems…

Leave a comment