Railsin rakenne

Rails on mukava, koska

  • saat paljon Railsista valmista rakennetta sovellukselle
  • tyyli ja laatu on kohdillaan Railsin valmiissa palasissa
  • Ruby-yhteisö on tunnettu avuliaisuudestaan – ja erittäin selkeästä englannista
  • Rails (ja Ruby-kieli) on taistelutestattu ja ollut olemassa oikeasti pitkään
  • Rails uudistuu jatkuvasti, mutta tahti ei ole niin älytön että stressaisi

No niin… Ruby alta pois ensin!

Viihdyn uutta oppiessa. Toki kokemuksia on erilaisia. Aiemmat pidemmät / laajemmat suhteet ovat olleet:

  • BASIC
  • C
  • Java
  • PHP
  • JavaScript
  • TypeScript
  • React Native

ja toki liuta muuta, kotitarpeisiin.

Raiteille! Rails soikoon

Rails on Rubyn päälle rakennettu “systeemi”. Ruby on siis varsinainen ohjelmointikieli siellä taustalla. Rubyyn kielenä voi tutustua vaikka erinomaisen Wikipedian kautta. Ja oppimiseen löytyy reippaasti resursseja. Ruby on kielenä mielestäni “varsin jees”.

Viimeisen ~8 vuoden ajan en ole koskenut Windowsiin, ja sitä kautta mm. sh- skriptat tulleet paljon tutummiksi. Rubyssa kielenä on jotain erityisen kivaa, syntaksi on aika selkeä, ja silti sallii pieniä hemmotteluja; shorthandeja. Jos on tottunut tosi säännölliseen kieleen, esimerkisk

Erikoisuutena on aika siisti ja sallivakin syntaksi. Kun olen kirjoitellut kohtuu paljon erilaisia bash-skriptejä ja sitä ennen myös muilla järjestelmäliimoilla tilkinnyt systeemejä, tuntui kotoisalta huomata että Rubylla voi kirjoittaa varsin samaan tyyliin hyvin kompakteja, lyhyitä ohjelmia. Ruby kuitenkin on varsin puhdas designin puolesta, joten se ei ole omiaan suosimaan spagettityyliä.

Oma käsitykseni Rubysta kehkeytyi siten, että aluksi kieli tuntui kovin suppealta ja jollain tavalla “ei riittävän ilmaisuvoimaiselta”. Sitten myöhemmin huomasin, että kieli on omalla tavallaan varsin elegantti. Se ei ole kuitenkaan niin puristinen kuin voisi ääritapauksessa kuvitella. Rubyssa on pyritty tuomaan luonnollisuutta (pragmaattisuutta) ja esimerkiksi kieleen on rakennettu villejä veikkauksia yleisimmistä tavoista, joilla kieltä tuntematon ohjelmoija voisi haparoida metodeja. Eli, vaikka aina ei muistaisi, oliko se jonkun asian pituutta (ts. alkioiden määrää mittaava) metodi .size vai .length – molemmat käyvät!

Ruby on tulkattava kieli, käytännössä “väistämättä”, sen ominaisuuksien tarvelistasta johtuen.

Entä se Rails?

Söpö. Timmi. Hyvin dokumentoitu. Neuvotteleva. Aika DRY. Funktionaalinen. Sallii kaiken, tarvittaessa.

Railsin kautta saa varaslähdön erittäin runsaasti varusteltuun laadukkaaseen ekosysteemiin. Kun katselee esimerkiksi tutorial-tason tai pidemmälle vieviä videoita (vink: Railscast Youtubessa), huomaa jälleen, että laatu on kauttaaltaan hyvä: asiat on usein mietitty, opetuksen pedagogiikka on keskivertoa parempaa.

Teemat toki toistuvat Ruby on Railsissa aika lailla kuten monissa muissa.

Ja se rautatielogo!! Kaikki tykkäävät salaa sydämmessään rautatiekulttuurista.

Rails itse on kirjoitettu kokonaan Rubylla. Koko tekniikkapino on täysin avoin, joten yksityiskohtiin voi tutustua mm. Githubin kautta.

Toki se on vain jonkinlainen tunne, mutta ainakin itse luen Github:n projekteista heti ensifiiliksiä. Eräs kohtuu tärkeä asia, varsinkin jos on useita eri vaihtoehtoisia projekteja jotka ajavat saman asian, on käytettyjen teknologioiden kirjo. Tämä analysaattori  tunnetaan yleisesti (?) nimellä Linguist (Github). En pidä kovin paljoa hyvin tilkkutäkkimäisistä teoksista. Jos projektiin on lätkäisty 6 eri ohjelmointikieltä ja vielä lisämausteet päälle, alkaa puistattaa. Kynnys pureutua projektiin nousee välittömästi. Rails-projekteissa monesti tämä kirjo on hyvin matala – usein jopa koko projekti on kirjoitettu vain yhdellä kielellä: Rubylla, eli Railsin alla olevalla kantakielellä.

Mikä Railsista tekee “kivan” ?

Heitän näitä aika naiivista näkökulmasta. Vielä ei ole kilometrejä alla kovin paljoa. Tein periaatteessa ensimmäiset “hieman isomman” Rails-softan 2018. Sitä ennen testailin oikeastaan pelkästään Rubya, sellaisenaan, kielenä – ilman Railsia.

Rails

Rails on minikokoinen öljynporauslautta web-palveluille. Sisältä löytyy kaikki, kuntosalia ja elokuvateatteria myöten, mutta jos haluat plaanata aalloilla nokka pystyssä custom-sikariveneellä 50 solmua tunnissa, Rails ei välttämättä ole oikea valinta. Kuten kaikissa uusissa teknologioissa, kokeneen mentorin antama opastus on kullan arvoista myös Railsin kohdalla. Monista muista jutuista poiketen, Railsistä on myös erittäin hyvälaatuista materiaalia netissä, sekä Youtube-videoina että webissä mm. Ruby on Rails Guides sivustolla.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

w

Connecting to %s