Rails 3 Way
W ostatni weekend przegryzłem książkę Obie Fernadeza Rails 3 Way. Chciałbym napisać kilka słów na temat tej pozycji.
Przyznam szczerze, czekałem z niecierpliwością na to wydanie. Pierwsza edycja miała bardzo dobre recenzje więc mogłem się domyślić czego się spodziewać. Czekałem także z tej przyczyny, że książka ta jest jedną z nielicznych typu Reference Book. Większość pozycji omawiających Rails 3 czy rails 2 to książki tutorialowe, gdzie wykonujemy poszczególne zadania przez całą książkę a na koniec otrzymujemy gotową aplikację. W tej książce jest inaczej.
Rails 3 Way opisuje dokładnie framework Rails 3. W kolejnych rozdziałach poznajemy poszczególne jego elementy. Na początku autor opisuje Bundler i zasadę uruchamiania aplikacji. Znajdujemy tu opis poszczególnych elementów startowych - application.rb, pliki konfiguracji środowisk, initializery itp. Poznajemy routing i zasady działania kontrolerów wraz ze sposobem działania filtrów. Dokładnie opisane modele - przeczytamy jak działa relacja Modelu z bazą danych, cykl życia modelu i callbacki. Można przeczytać o migracjach i konfiguracji kilku baz danych. Opisane są także Observery i walidatory. Nauczymy się także tworzyć własny walidator dla modeli. Następnie znajdziemy opisy Mailerów i poznamy jak konfigurować połączenie naszej aplikacji z kontem pocztowym. Nauczymy się jak wysyłać i odbierać maile. Ajax i zarządzanie sesją także znalazły tutaj swoje miejsce. Opisane także są widoki i layouty, jak z nich korzystać, jakie są relacje pomiędzy widokiem i kontolerem. Znajdziemy tu także opis Helperów. Fajnie jest opisany sposób na Cacheowanie aplikacji i jak ją rozszerzać za pomocą pluginów.
Co więcej, autor także postarał się opisać elementy, które nie są bezpośrednio związane z railsami, ale tworzenie webaplikacji bez nich się nie obejdzie. Przykładem jest tu autoryzacja - sam framework nie posiada narzędzi autoryzujących sam w sobie. Musimy skorzystać z oddzielnych gemów. Autor opisuje w książce dwa najpopularniejsze: Authlogic i Devise.
Oprócz gemów do autoryzacji autor pokusił się także o opisanie gemów do wykonywania zadań w tle i gemów do uploadu plików. Jeden rozdział został także poświęcony RSpec jako alternatywy dla TestUnit.
Na końcu jest opis API, przynajmniej jego najważniejszych elementów.
Zawartość książki opisuje zatem każdy z elementów powstawania aplikacji. Znalazłem tutaj nawet kilka rzeczy, o których nie miałem pojęcia.
Szczerzę polecam tą książkę każdemu, zarówno początkującym programistom jak i bardziej zaawansowanym. Przeczytanie tej książki pozwoli nam na zrozumienie "jak to właściewie działa". Fajnie jest ją mieć pod ręką. Jak będziemy chcieli kiedyś przypomnieć sobie dany element wystarczy po nią sięgnąć.
Miłej lektury.