Na 16. rođendan Ruby on Railsa odgovaramo na pitanje: Je li mrtav, i u svijetu i u Hrvatskoj?

Na 16. rođendan Ruby on Railsa odgovaramo na pitanje: Je li mrtav, i u svijetu i u Hrvatskoj?

Početkom kolovoza slavimo 16 godina od prve pojave Ruby on Railsa, web development frameworka koji je “promijenio svijet”. S tom činjenicom volim početi ovu priču jer mislim da je ključna za odgovor na pitanje koje mi se često postavlja: Nije li Ruby on Rails mrtav?

Za mene je odgovor uvijek jedno kategoričko ne, ali moram priznati da sam nakon dugog niza godina u tim vodama i razvijanju poglavito na toj platformi vjerojatno malo pristran, pa sam se odlučio odvažiti i sabrati na jedno mjesto objektivne statistike i relevantne podatke kako bih mogao bolje na to odgovoriti. Ovo mi je zanimljivo s više strana, pogotovo zato što proteklih nekoliko mjeseci pokušavamo zaposliti Rails developera te istodobno pokušavamo shvatiti gdje je razlika između tržišta koje traži Rails developere i tržišta rada koje tih istih Rails developera nema.

Ruby on Rails inženjera ima dosta malo, to je nepobitna činjenica, a to nikako ne pridonosi poboljšanju statistike za Railse. Po anketi Tomislava Grubišića, provedenoj na uzorku od 3000 ljudi, samo 1,5% su Ruby developeri, što čini brojku od 45 na svakih 3000 developera.

Problemi nepopularnosti Rubyja kreću od kolijevke mnogih današnjih inženjera, a to je – fakultet. 

Kroz fakultet se vjerojatno nećete susresti s Railsom

Na fakultetima u Hrvatskoj, a i šire, u pravilu se ni ne spominje Ruby on Rails. Osoba koja cijeli svoj fakultet uči drugi jezik, vjerojatno neće imati doticaja s Railsom. Umjesto toga, učit će vas se Java ili .NET, možda čak nešto malo JavaScripta, ali u najvećem postotku ipak C/C++.

To je posljedica vjerojatno toga da je Ruby, a još više Rails, “nova tehnologija”. To je nešto s čime sam se prije djelomično slagao, a sada mislim da smo već na razini kada su paradigme, koje su dolazile s Railsom i drugim takvim jezicima i frameworcima, postale standard. Naravno, sve to ima neke svoje prednosti i mane, ali očito ostavlja trag na generalnoj populaciji developera, jer iz spomenute ankete možemo vidjeti kako je upravo programera koji rade u Javi ili .NET-u najviše. Mislim da stvar nije bolja, a ni puno drugačija, izvan granica Hrvatske, gdje je potražnja za Rails developerima još i veća.

S druge strane, Ruby on Rails se pozicionirao kao odličan alat za brzu izgradnju web aplikacija i web API-ja. Ako guglate popularnost frameworka za web, šansa je da ćete pronaći Ruby on Rails među prvim rezultatima, s ASP.NET Core, Djangom (Python), Laravelom (PHP), Springom (Java) i Expressom (JavaScript). 

Tehnologija iza sebe ima jaku zajednicu

Ono što vidimo na Google Trendsu je da zanimanje za Railsom sporo opada, što mislim da je normalan ciklus za neku tehnologiju. Rails se slobodno može već nazvati zrelom tehnologijom, pa, shodno tome, normalno je da interes opada s obzirom na hype koji je bio aktualan prije par godina. 

Zanimanje za Railsom opada, prema Google Trendsu, ali to je normalan ciklus za tehnologiju koja više nije toliko – nova.

Iako zanimanje za Rails nije u vrhuncu, iza sebe ima jako veliki community od firmi koje ga koriste ili su ga koristile (Basecamp, Shopify, Netflix, GitHub, Airbnb itd.), koji gura promjene i radi na gemovima za sve što je potrebno u modernom web developmentu. To daje jednu lakoću pristupa novim developerima, jer za sve postoji barem neki dio implementacije rješenja koji je potreban.

Ako to usporedimo s drugim tehnologijama, dobit ćemo sljedeće:

Railsova “sporost” tek rijetke sprječava da na njemu grade brzo i efikasno

Ono što Rails definitivno nije, i s čime se jednostavno moramo pomiriti, a to je najbrži na svijetu – niti to pokušava biti. Daleko od toga da je spor ili prespor – često je to do developera, a ne do tehnologije.

Ruby mi je jedan jako drag jezik u kojemu se može napraviti stvarno sve. Nešto što se možda i ne bi trebalo moći napraviti, u Rubyju je to vrlo vjerojatno moguće. To je ljepota Rubyja i često Railsa, ali je ujedno nešto što se treba poštivati, a ne zloupotrebljavati.

Njegova “sporost” tek će rijetke sprječavati da izgrade to što trebaju brzo i efikasno, a kada netko kaže da Rails ne skalira, možda najbolji odgovor na to bio bi onaj koji je dao Nick Quaranto, kreator RubyGemsa:

Molimo da prihvatite sve kolačiće kako biste mogli vidjeti ovaj sadržaj

Važnost verzije Rails 4

Ako pogledamo neke statistike s RubyGemsa, glavnog repozitorija gemova (biblioteki za Ruby), vidjet ćemo da se Rails i svi njegovi dijelovi i biblioteke itekako koriste. Rails 6 očekivano ima niske brojeve jer je još relativno nov, ali ono što je zamjetno kada ga usporedimo s grafom iz Google Trendsa jest da je Rails svoj vrhunac proživio kroz verziju 4, a verzija 5 već je indikativnija prema tome kakav je trend ovog frameworka.

Veliki broj contributora za Ruby i za Rails i sve njegove gemove dolazi iz jedne zdrave zajednice koja se uspjela stvoriti baš oko Rails verzije 4. Uz to, arhitekturu uz koju je gemove jednostavno pisati i objaviti, dobar i relativno stabilni API samog jezika i dobar package management sustav poput Bundlera, nije ni čudo da upravo Rails i Ruby imaju takvu zajednicu iza sebe.

Rails je tu da ostane

A tu je i jedno odlično godišnje istraživanje Stack Overflowa koje ima isto zanimljive rezultate. Jasno pokazuje da Ruby on Rails nije najpopularniji jezik odnosno framework, ali je svejedno puno korišten. Uz to, možemo vidjeti da su Rubyjaši pri vrhu ljestvice plaća, kako globalno, tako i na našim prostorima.

S trenutnom situacijom web developmenta, gdje se nije pojavila nijedna nova platforma za razvoj koja je privukla toliko pažnje, jedno je sigurno: Rails je tu da ostane – svojih klijenata, kao i cijelog communityja, ima i sigurno će imati i još više. Inženjera koji ga znaju konstantno nedostaje, a vjerujem da će nedostajati još i više jer, osim razvoja novih aplikacija, sve platforme koje su izgrađene za vrijeme Rails baby booma trebat će održavati.

Za one koji bi htjeli krenuti s Railsom, evo nekoliko smjernica:

  1. Prvo prouči Ruby, a onda tek Rails.
    Ovo je korak koji su mnogi, uključujući mene preskočili, i većina nas vjerojatno je bar djelomično to požalila. Bez znanja jezika, već s prvim problemom će se biti jako teško suočiti, tako da barem nekakvo znanje Rubyja velik je plus.
  2. Pohvataj poznate koncepte kao što je objektno orijentirano programiranjes Rubyjem.
  3. Uči od početka.
    Rails je napravljen s jednim jednostavnim principom – konvencija prije konfiguracije. Dok drugi jezici i frameworci mogu izgledati kako god, što se tiče strukture direktorija i fileova, Rails je tu dosta “stroži”, a sve radi toga da svi Rails developeri mogu čitati napravljeno, ne samo osoba koja na tome radi zadnjih 15 godina. Sve se može, ali dok ne shvaćaš zašto je nešto napravljeno na određeni način, vjerojatno to ne bi trebao/la dirati. Prepusti se i uživaj u učenju u magiji koju ti Rails donosi! Napravi blog, napravi kopiju Twittera (koji je bio isprva napisan na Railsu) i onda, kad poznaješ osnove, kreni se igrati kroz sve te fileove i konfiguracije.

Sigurno ćemo kroz nekoliko godina vidjeti još potrebe za Rails developerima, jer je to jedan zdrav i kompletan ekosustav, a samo zadovoljstvo njegovih korisnika (developera) relativno je visoko. Konkretno, u Flow & Formu smo odlučili da će nam to biti backend framework of choice, kao i još nekoliko drugih firmi na ovom području, i s trenutnim i budućim klijentima, sigurni smo da nećemo požaliti za tom odlukom.

Ako dijeliš moje mišljenje, a uz to te zanima što radimo ili si zainteresiran za suradnju, javi nam se! hi@flownform.com ili meni direktno filip@flownform.com.

P.S. Hoćeš početi odmah s učenjem? Evo još resursa:

Video/interaktivni tutorijali:

Knjige:

Učenje Rubyja kroz igru:

Sukladno članku 94. Zakona o elektroničkim medijima, komentiranje članaka na Netokraciji dopušteno je samo korisnicima koji ostave svoje ime i prezime te mail adresu i prihvate pravila ponašanja.

Pravila ponašanja

Na Netokraciji za vas stvaramo kvalitetan, autorski potpisan sadržaj i zaista se veselimo vašim kvalitetnim, kontruktivnim komentarima. Poštujmo stoga jedni druge prilikom komentiranja, kao i Zakon, držeći se sljedećih pravila ponašanja:

  • Ne budite 💩: Nema vrijeđanja, diskriminiranja, ni psovanja (osim ako nije osobni izričaj, ali onda neka psovka bude općenita, a ne usmjerena prema nekome). Također, upoznajte se sa stavkom 2. članka 94. Zakona o elektroničkim medijima prije no što ostavite komentar.
  • Samo kvalitetna rasprava, manje trolanja: Ne morate se ni sa kim slagati, ali budite konstruktivni i doprinesite raspravi! Svako trolanje, flameanje, koliko god "plesalo" na granici, leti van.
  • Imenom i prezimenom, nismo Anonymous 👤: Autor sadržaja stoji iza svog sadržaja, stoga stojite i vi iza svog komentara. Koristimo ime i prezime te pravu email adresu.

Kako koristimo podatke koje ostavljate? Bacite oko na našu izjavu o privatnosti.

Sve ostale komentare ćemo s guštom spaliti, jer ne zaslužuju svoje mjesto na internetu.

Komentari

Odgovori

Tvoja e-mail adresa neće biti objavljena.

Popularno

Kolumna

Od Yahooa do ChatGPT-ja: Strategije uspjeha na tražilicama koje vrijede i danas

Neke strategije za pozicioniranje na internetskim tražilicama još funkcioniraju i nakon 10 godina. U ovom povratku u prošlost, prisjećamo se raznih praksi, što se od njih zadržalo, a što ne - te što je novo ušlo u igru...

Tehnologija

Tomislav Tipurić uoči ATD-a: Moramo poraditi na promjeni definicije junior developera

Uoči 18. konferencije Advanced Technology Days porazgovarali smo s osobom zaduženom za program, Tomislavom Tipurićem, o svemu što ne smijete propustiti na samom događaju, a i u svijetu tehnologije posljednjih godina i dana. Naravno, AI je neizostavna tema.

Netokracija Podcast

Ovo je email strategija kojom je Burazin privukao investitore poput direktora Stack Overflowa

U novoj epizodi ulazimo u detalje o: (vjerojatno) najvećoj pre-seed rundi u hrvatski startup; tome kako SAD namjerava kontrolirati AI sustave koji bi mogli napraviti atomsku bombu te zašto osnivača Netokracije Ivana Brezaka Brkana izbacuju iz zagrebačkih kavana?

Što ste propustili

Kolumna

Od Yahooa do ChatGPT-ja: Strategije uspjeha na tražilicama koje vrijede i danas

Neke strategije za pozicioniranje na internetskim tražilicama još funkcioniraju i nakon 10 godina. U ovom povratku u prošlost, prisjećamo se raznih praksi, što se od njih zadržalo, a što ne - te što je novo ušlo u igru...

Novost

Najveća hrvatska luka u Pločama postat će pametna, uz sufinanciranje iz EU od skoro milijun eura

Luka Ploče postat će prva hrvatska pametna luka. Ujedno je ovo jedini projekt iz Hrvatske koji je Europska Komisija odobrila u sklopu fonda 5GSC - od ukupno 14 odobrenih u cijeloj Uniji.

Tvrtke i poslovanje

Bajke u digitalnom svijetu: Pinokio djeci priča o lažnom predstavljanju, a tri praščića o slabim lozinkama

Stotine ljudi podržale su humanitarnu akciju tvrtke Combis i Centra za nestalu i zlostavljanu djecu.

Prikaz

Upoznajte Retriever, platformu FER-ovog TakeLaba koja rudari po 30 domaćih web portala

Retriever zagrebačkog TakeLaba može analizirati milijune članaka objavljenih na hrvatskome u posljednjih 20 godina, a sprema se i na iskorak u regiju. 

Tvrtke i poslovanje

Od 1. siječnja država nadzire Wolt, Bolt, Glovo… – što to znači?

Teško je regulirati segment tržišta o kojem nemate konkretnih saznanja, srećom, za tzv. GIG ekonomiju to će se uskoro promijeniti. Više saznajemo u razgovoru s ravnateljom Uprave za rad i zaštitu na radu u Ministarstvu rada, mirovinskoga sustava, obitelji i socijalne skrbi.

Sponzorirano

“Infrastruktura kao kod” izazov je s kojim se isplati uhvatiti u koštac, pogotovo za ogromne okoline

Što je sustav veći, to IaC (Infrastructure-as-Code) donosi više prednosti. Kako to izgleda u praksi?