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 programiranje – s 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

Mobilne aplikacije

ZET-ov štrajk iznjedrio nova digitalna rješenja za prijevoz po Zagrebu

Zagreb je jutros ostao bez redovitog tramvajskog i autobusnog prometa, no građani su brzo počeli tražiti alternativna rješenja. Uz organiziranje zajedničkih vožnji, pojavilo se i nekoliko digitalnih projekata koji pokušavaju povezati vozače i putnike.

Vodič

Imate pretplatu na AI alate? Evo što računovođe kažu o ispravnom evidentiranju

U novoj kolumni Bruno Cvitanović, direktor računovodstvenog i konzultantskog servisa Brojevi objašnjava kako računovodstveno tretirati AI alate, što vrijedi za poduzetnike izvan sustava PDV-a i na koje pogreške treba paziti.

Programiranje

Tim od šest developera, dva QA-a i jednog Product Ownera postaje prošlost

Florian Krause ima trideset godina iskustva u razvoju softvera, jedan propali startup i čvrsto mišljenje: tim od šest developera, dva QA-a i jednog product ownera postaje prošlost. Na The Geek Gatheringu u Osijeku objasnio je čime se takva postava zamjenjuje.

Što ste propustili

Pametni automobili

Napokon smo se provozali Verneovim robotaksijem!

Nakon što smo u Zagrebu bezuspješno pokušali uhvatiti Verneov robotaksi putem Uberove aplikacije, zvijezde su se posložile i mi smo dobili poziv koji se ne odbija.

Umjetna inteligencija

Tko zbog AI-ja i dalje ulaže u ljude, a tko otpušta 50% radne snage?

Dok neke tvrtke nastavljaju i zapošljavati i ulagati u AI, druge su odabrale samo potonje. Kako različite tvrtke pristupaju promjenama na tržištu, doznali smo na Automation Summitu.

Novost

Gamepires najavio otpuštanja, smanjuje tim koji radi na SCUM-u

Gamepires, koji stoji iza igre SCUM, smanjuje broj zaposlenih zbog zahtjevnih tržišnih uvjeta. Objava dolazi nekoliko mjeseci nakon što je studio preuzeo britanski Splash Damage.

Vodič

Imate pretplatu na AI alate? Evo što računovođe kažu o ispravnom evidentiranju

U novoj kolumni Bruno Cvitanović, direktor računovodstvenog i konzultantskog servisa Brojevi objašnjava kako računovodstveno tretirati AI alate, što vrijedi za poduzetnike izvan sustava PDV-a i na koje pogreške treba paziti.

Veliki intervjui

Ako AI može napraviti film ili igru, što ostaje kreativcima? Odgovara CEO Nanobita

Može li umjetna inteligencija promijeniti način na koji nastaju filmovi i igre, a da pritom ne žrtvujemo kvalitetu priče i kreativnu viziju? Nanobit već testira odgovor na to pitanje, razvijajući AI produkcijske procese koji otvaraju mogućnost stvaranja sadržaja velikom brzinom.

Netokracija Podcast

Dekan FER-a: AI ne može zamijeniti temeljno znanje inženjera

Umjetna inteligencija mijenja način na koji radimo, ali bez temeljnih znanja nema ni kvalitetnih inženjera ni ozbiljnog tehnološkog napretka. U razgovoru s dekanom FER-a otkrivamo zašto je važno ulagati u istraživanje i razvoj, kako povezati fakultete i industriju te gdje se otvaraju nove prilike za Hrvatsku – od robotike i fizičke umjetne inteligencije do razvoja visokotehnoloških proizvoda.