Wezmę udział w konferencji RuPy 2008

Właśnie dostałem informację, że mój wykład “Complicated SQL queries in Ruby on Rails applications” (tytuł angielski, bo konferencja po angielsku) został zaakceptowany na konferencję RuPy 2008, która odbędzie się w Poznaniu 12-13 kwietnia. Szczegóły na stronie konferencji. Zapraszam serdecznie - poza niezwykle pouczającymi :) wykładami będzie również okazja spotkać się i pogadać.

Posted by Marek Janukowicz Wed, 13 Feb 2008 21:36:00 GMT


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).

Posted by Marek Janukowicz Sun, 27 Jan 2008 07:37:00 GMT