1. Ruby on Rails
albo
(Linus na szynach)
Tomasz Bąk, jesień 2005
2. Moje stereotypy o pisaniu
aplikacji webowych przed
● „to dobre dla licealistów – mrówcza robota
● totalny chaos
– ile ludzi, tyle „silników” do budowy stron
● brak pewności, że to się nie wywali
● pielęgnowanie większego projektu to męka
● kłopotliwa współpraca z grafikami
– wymieszane warstwy logiki i prezentacji
3. Rails na ratunek
● dla każdego coś dobrego
● izolacja danych, logiki i prezentacji
● sam Ruby jako język zachęca do
wykorzystywania już istniejącego kodu
● testy jednostkowe i funkcjonalne
● zadziwiająco mało kodu – łatwe wprowadzanie zmian
● grafik ma styczność tylko z warstwą widoku
– .rhtml, CSS i JavaScript
4. Ruby
● język ma już dziesięć lat, rozwija go japończyk
– pragmatyk i innowator
● wszystko jest obiektem (tym razem naprawdę!)
● wysoce „plastyczny” i zarazem intuicyjny
● interpreter dostępny na wiele systemów
● 99% bibliotek to open source
● łatwa instalacja/aktualizacja bibliotek:
– np. gem install rails
5. Ruby on Rails
● powstał w trakcie prac nad rzeczywistą aplikacją
– projekt Basecamp ma dziesiątki tysięcy abonentów
– autor zdobył nagrode „Google/O'Reilly's Best
Hacker of 2005”
● to kompletne rozwiązanie
● nacisk na dostosowywanie poprzez kod
● pozwala bardziej skupić się na wizualnych aspektach,
a mniej na szczegółach implementacji
7. „Success stories”
● Basecamp - http://www.basecamphq.com
● 43 Things - http://www.43things.com
● Ta-da Lists - http://www.tadalist.com
● Snow Devil - http://www.snowdevil.ca
● Bellybutton - http://www.bellybutton.de
● CD Baby (Rewrite) - http://www.cdbaby.com
● Odeo - http://www.odeo.com
● A List Apart - http://alistapart.com/articles/ala40
● podOmatic - http://podomatic.com
● VitalSource - http://www.vitalsource.com
Więcej na: http://ruby.jamisbuck.org/ujug-presentation/img12.html i
http://www.onlamp.com/pub/a/onlamp/2005/03/03/rails.html?page=3
8. Skalowalność: case study
Basecamp
● działa już od roku
– Dual 2.2Ghz Xeon, 2G RAM
– "Dziesiątki tysięcy użytkowników z 50 krajów"
● wykorzystanie pamięci (lighttpd/FastCGI):
– 50 procesów lighttpd / ok 4Mb każdy
– 10 procesów FCGI / ok 40Mb każdy
● plany przejścia na rozproszony system:
– 1 serwer www, 1 server db, 2 serwery
aplikacyjne
9. RoR ... jak ciepłe bułeczki
● książka o Ruby On Rails na Amazon.com:
– w ciągu miesiąca dwa wznowienia
– 7 miejsce na liście bestselerów komputerowych
● coraz popularniejsze wśród twórców małych i
średnich aplikacji webowych nastawionych
na szybką realizacje i ładny wygląd
– rewolucje RoR porównuje się do rewolucji
Javowskiej na przełomie 1997/98