lauantai 21. syyskuuta 2013

Agile Web Development with Rails 4

Sam Ruby, Dave Thomas, David Heinemeier Hansson, Agile Web Development with Rails 4. The Pragmatic Programmers, Raleign, NC, USA, 2013.

Vuonna 1993 japanilainen Yukihiro Matsumoto julkaisi Ruby-ohjelmointikielen. Se oli vahvasti oliopohjainen skriptikieli, jonka oli tarkoitus mahdollistaa paitsi olio-ohjelmointi, myös sekä funktionaalinen että imperatiivinen ohjelmointi. Niinpä Ruby mahdollistaa saman asian ilmaisemisen useaan eri tapaan. Usean paradigman noudattaminen tekee kielestä taipuisan tai jopa sekavan.

Ruby pysyi tuhansien muiden ohjelmointikielten tapaan pinnan alla laajemman yleisön tietämättömissä vuosikaudet, kunnes David Heinemeier Hansson julkaisi vuonna 2005 verkkosovellusten tekemiseen tarkoitetun sovelluskehyksen Ruby on Railsin, josta tuli nopeasti hyvin suosittu. Sovelluskehys oli avointa lähdekoodia ja rakentui konventioiden varaan, mikä helpotti ja nopeutti tietokantoja käyttävän verkkosovelluksen kehittämistä. Nimensä mukaisesti se oli kirjoitettu Rubyksi, mikä nosti esoteerisen kielen välittömästi laajaan käyttöön. Ruby on edelleen kehitystyön alla; sen viimeisin versio 2.0 ilmestyi tämän vuoden helmikuussa.

Sam Rubyn, Dave Thomasin ja David Heinemeier Hansson Agile Web Development with Rails 4 on opas Ruby on Railsin viimeisimpään versioon 4. Kirja on sekin työn alla; kirjan elektronista betaversiota on julkaistu pienin korjauksin helmikuusta asti. Nyt elokuussa tehtiin viimeiset korjaukset, ja nyt kirja on menossa painoon. Luin ohessa tai itse asiassa aluksi kirjan versiota 3.2., mutta siirryin elokuussa tuoreen 4.0 ääreen.

Kirja etenee verkkosovellusten oppaiden tapaan: alkuun pikainen sohaisu jonkin toimivan aikaansaamiseksi, sitten vaiheittain etenevä verkkokauppaesimerkki ja lopuksi Ruby on Railsin käsitteiden ja toiminnallisuuksien pureskelua. Johdanto tarjoaa alkuun asennusohjeita, teoriaa MVC-mallista ja lyhyen johdannon Ruby-kieleen.

Verkkokauppaesimerkki iskee nopeasti kiinni varsinaiseen aiheeseen. Agile-menetelmät eli ketterät menetelmät oletetaan tunnetuiksi. Esimerkkijärjestelmä on kirjoja myyvä sivusto, jonka kehittäminen etenee ikään kuin agile-projektina, jossa edetään pienin askelin ja esitellään toimivaa järjestelmää asiakkaalle tiiviiseen tahtiin. Kirjoittajat tuovat yksikkötestit ja funktionaaliset testit kuvaan heti alussa. Esimerkkien myötä verkkokauppaan tuodaan toiminnallisuuksia, Ajaxia, autorisointia ja autentikointia. Kolmannessa osassa kirjoittajat esittelevät toiminnallisuuksia toisistaan irrallisina kokonaisuuksina, muttei konkreettisten esimerkkien tarjonta varsinaisesti heikkene.

Kirjoittajien teksti on suoraviivaista ja puhekieleen taipuvaista. Kollegiaalinen lienee sopiva sana. Kirja sisältää kaiken tarvittavan lähdekoodin poislukien itseopiskelutehtävien ratkaisut (lähdekoodi on saatavilla kirjan omilta sivuilta). Kirjan kannessa on Railsin virallinen logo, mikä on harvinaista: Hansson on sallinut tavaramerkkinsä käytön vain projekteissa, joissa hän on itse mukana. Kirjalla on siis virallisuuden leima.

Agile Web Development with Rails 4 opettaa (tai palauttaa) nopeasti auttavat työskentelytaidot, mutta - kuten kaikissa kielissä - sujuvuus syntyy kielen jatkuvasta käytöstä. Työskentelin joskus kuutisen vuotta sitten jonkin aikaa Railsin parissa, mutta taidot ruostuvat ja sovelluskehykset muuttuvat. Ruby-kieli ja erityisesti Rails-sovelluskehys ovat kulkeneet hyvän matkaa eteenpäin. Verkosta ladattavien lisäosien yhteensopivuudessa uusimpaan versioon on vielä toivomisen varaa, mutta asia korjaantunee syksyn mittaan.

Jos pitää päästä nopeasti kiinni Ruby on Railsiin, tämä on ihan hyvä opas siihen.

Ei kommentteja:

Lähetä kommentti