Ah, Ruby on Rails. Mesteren av oppstarten, og sideprosjektet. Det beskriver i hovedsak mange grunner til at jeg tror folk nyter fellesskapet som helhet, fordi de alle setter pris på disse to fakta.

Det har sikkert gjort mye for oppstartsverdenen, og for utviklingssamfunnene. Det ligner på mange språk som JavaScript i påvirker det har hatt på webverdenen. Jeg vet ganske mange mennesker som har kommet inn i utvikling utelukkende på grunn av at Rails er så innbydende, og Ruby er så vakker.

Du finner kanskje at Ruby on Rails er riktig for ditt store prosjekt, la oss dykke inn i det grunnleggende og finne ut.

Ruby on Rails for nybegynnere og oppstart

Ruby er et dynamisk høymålsspråk som har alle fordelene med Perl og PHP, uten syntaxens woes de bringer med seg.

Ruby ble laget av Yukihiro "Matz" Matsumoto , i midten av 1990-tallet. Og det brukes innenfor Rails-rammen, dermed Ruby on Rails. Rails er en open source full stack web applikasjon rammeverk som utnytter mye av kraften Ruby tilbyr. Det tilbyr også organisasjon, og gode programmeringsmetoder alle bakes inn i en enkelt ramme, og på toppen av det er det utrolig utvidbart.

Nå, jeg vil ikke gå inn i mye mer teknisk detalj, tross alt, dette er ting du kan finne i et raskt google-søk. Så la oss komme til kjøttet i samtalen.

Rails for nybegynnere

Det kan være en overdreven overdrivelse å si at Rails vil redde livet ditt, men faktum er at jeg har fått flere folk til å begynne å programmere gjennom Rails and Ruby enn noe annet språk eller rammeverk. Jeg tror miljøet som helhet er helt tilnærmet for nykommere til programmering. For eksempel er fellesskapet ganske homogent og synes å være fokusert på de samme målene. Det betyr virkelig mye når det kommer ned til tusenvis av mennesker som prøver å rette oppmerksomheten.

La oss si at du skulle starte i JavaScript-fellesskapet, vel, det er som det ville vesten. Det er utrolig fantastiske ting som skjer i det samfunnet fra robotteknologi til jQuery til Node to Backbone til testing til avansert statistikk, og så mye krever oppmerksomhet.

Så mange mennesker prøver å gå i så mange forskjellige retninger at det kan være vanskelig for en nybegynner å bestemme hvem av hva man skal følge.

Det er kanskje mye kryss over mennesker fra de to samfunnene, det er veldig klart at det de bryr seg om i JavaScript, er ikke det samme som det vi bryr oss om i Ruby and Rails som rammeverk eller språk.

På toppen av alt får du et vakkert programmeringsspråk.

Rails

Rails bilde via Shutterstock.

Personlig preferanse bare her, men jeg tror Ruby er det vakreste programmeringsspråket som noensinne er opprettet. Det er den mest fantastiske tingen jeg noensinne har brukt til å kode, og det motiverer meg virkelig til å lage ting på siden når jeg kommer hjem fra en lang dag med programmering på jobben min. Det er da du vet at et språk er morsomt for deg, når du gjør det etter 8-10 timers programmering i dagjobben. Jeg skjønner at det kanskje ikke er det samme for alle, men som en tommelfingerregel, prøvde skaperen av Ruby virkelig for menneskelig lesbar syntaks og ikke kompliserte ting som han gikk. Svært lik den måten skaperen av Clojure nærmet seg til å bygge et språk: prosess. De begge valgte enkelhet over kompleksitet, fordi vi alle vet at i enkelhet kommer det stor kompleksitet; og vanligvis omvendt, og dermed skjønnheten i ting som Ruby og Clojure (minus over bruk av parenteser i Clojure, ugh ).

Å finne en sti å følge i Rails-samfunnet er veldig enkelt. På andre språk kan det være litt vanskeligere å vite hvem "tastemakers" er så snakkende, men i Rails er det veldig tydelig. Det er ikke å si at du følge disse menneskene, men fra de menneskene du kan utlede hvor heavyweights spiller rundt, og deretter gå derfra.

Vanligvis har tungvekter prosjekter eller innsats i Rails som ligger i sentrum av et levende samfunn som støtter det. Så de er alltid gode steder å hoppe inn i. Til slutt, Rails er et veldig eksperimentelt rammeverk, og en fremtidsrettet opplevelse å kode inn når du bruker den.

Som nybegynner vil du ikke bare nyte syntaxen og samfunnet, men også bli presset for å lære nye ting. Og det handler om å lære nye ting i denne verden av programmering.

Rails for oppstart

Ruby on Rails er et av de kraftigste verktøyene, og de fleste verktøyene, dalen og oppstartene over hele verden har sett i mange år.

Det er syntaxen, evnen til å komme opp og løpe i timer, prototyping utrolig raskt, uansett hva den er, den har tatt av seg.

Rails butikker og startups over hele har også tatt av på grunn av det, og det er bare sukkeret i pudding til hvorfor det er en deilig godbit for deg. Ikke bare har du så mange andre selskaper som adopterer det, og muligens løper inn i lignende problemer, har du også en kamptestet rammeverk.

Dette er ikke et Alpha-produkt, det er ikke et Beta-produkt. Dette er ikke en abstrakt tankeprosess for utviklere å organisere kode. Dette er noen "i-den-ville flokken av hunder stil" resultater fra folk som gruppert sammen for å danne dette fellesskapet startet av en en DHH av 37signals .

Igjen, jeg vil harpe på samfunnet, fordi det er så viktig. Det er et slikt utviklet og modent samfunn (på en måte) at du bokstavelig talt kan finne hjelp på noen måte du måtte trenge. Det er utviklere som elsker programmering i skinner eller bare folk som vil konsultere for å fikse dine problemer. Hele veien til folk som elsker å bruke NoSQL i Rails-miljøer, samt elsker å hate på Asset Pipeline;)

Når det gjelder det, er det en annen flott ting for både nybegynnere og oppstart. Det er et organisatorisk verktøy kalt aktivitetsrørledningen som hjelper deg med å organisere alle JavaScript (eller CoffeeScript), CSS og bilder i en mappe som inneholder de respektive undermappene. Det er i seg selv nyttig. Alt i alt, hvis du er i oppstart, søker etter et språk å dabble inn, for å kode produktet, gi Rails et skudd. Du kan bare finne at det overrasker deg.

Hvorfor Rails er nyttig (for enkelte utviklere)

Et annet sted som Rails har virkelig tatt av er i det personlige prosjektet.

Mange utviklere er ganske like, som i, de er intelligente og dyktige personer. Jeg vet jeg vet, det er ikke en regel, men det er fortsatt ofte faktum i saken. Og folk av en slik natur vil ofte ha personlige prosjekter de kan hack på å lære, eller få inntekter fra. Og alle jeg vet er enig i at Rails er en perfekt måte å gjøre det på.

Rails

Rails bilde via Shutterstock.

Bruk av verktøy som Heroku for distribusjon og implementering av en Rails-app er bokstavelig talt et 1, 2, 3 trinn eller et 1, 2 trinn. Det er utrolig. Faktisk bruker jeg Rails og Heroku å håndtere bloggen min. Hver gang jeg gjør endringer, kompilerer jeg produksjonsmidler for Heroku, trykk til Github, og trykk deretter til Heroku. Så enkelt. Og hvis jeg har en ny datamaskin jeg vil trekke til, endrer jeg bare enkelte fjernbetjeninger med litt lett å forstå terminal magi , og det er det - du er klar til å hacke.

En av de ofte misforstod delene av utviklingsprosessen er overkompliserende ting ved et uhell. Det er bare en av de magiske tingene i utviklingen, virker det. Du kan uten hensyn eller tilfeldighet bokstavelig talt overkomplisere alt . Det er bare det som skjer, og ofte utviklerne ikke engang innser at de gjør det. Vel, du har lykke, Ruby har mye "konvensjon over konfigurasjon" handling skjer, noe som virkelig implisitt hjelper oss med å komplisere ting.

For eksempel, hvis du har en klasse av "Bibliotek" som arver fra ActiveRecord, vil det automatisk se etter et bord kalt Bibliotek i databasen. Det er små ting som det som hjelper oss ikke å skrive ting om og om igjen. Faktisk exemplifies det altfor essensen av DRY (Gjenta ikke selv). Som er fantastisk og svært nyttig. Hvorfor ikke spare litt tid, etter alt er det mer tid for kaffe.

En annen ting jeg elsker om det er at skaperen av språket er helt besatt av kode enkelhet og skjønnhet. Så hvis han kan gjøre noe enklere og på en vakrere måte, så vil han implementere det, til frykt for mange utviklere på det. Men jeg personlig elsker det.

Rails som en motor vil også hjelpe deg med å lære om rammer generelt uten å gå på tærne, og jeg tror det gjør det på en perfekt balansert måte.

Selvfølgelig vil folk si at PHP-rammer gjør det på en bedre måte fordi du fortsatt kan slam hodet til en vegg med PHP uten å finne måter rundt det (for å lære av). Men faktisk tror jeg Rails gjør det på en mye mer elegant måte enn PHP noensinne har, og sannsynligvis vil.

Rails

Rails bilde via Shutterstock.

Du ser, i Rails må du fortsatt lære så mye for å kunne bygge en ekte eller til og med liten Rails-applikasjon. Det er ikke som om du bare kan bruke stillas til alt. Faktisk kan du ikke aktivt gjøre det, men du vil først, og det vil hjelpe deg med å lære ting som Visninger, Templering og hvordan Ruby samhandler med HTML.

For eksempel er en ting jeg elsker å gjøre, å sette en Ruby-variabel som lagrer serverdata av en eller annen type som allerede er angitt i et datatributt. Så for eksempel: -data-attribute-for-ruby = "<% = Time.now%>" og deretter jobbe eller samhandle med datatributtet i JavaScript.

Rails kan bli ganske komplisert, ganske fort, og skinnens skjønnhet er at det tvinger deg til å utforske andre språk også. Det gjør at du kan være veldig god på JavaScript og veldig bra på CSS. Det vil også gi deg en bedre forståelse av SQL og hvordan databaser fungerer, alle implisitt.

Enkelheten gjør barrieren for oppføring så lav at selv å se på databaseskemaet er fornuftig, Oh, jeg lagde den klassen slik at den er. Ikke, å skyte venter, jeg gjorde klassen ting så nå må jeg gjøre databasen ting hvordan gjør jeg det. Jeg vet ikke om databaser. Ugh. Drit i dette. Ingen av det i Rails.

Du lærer uten å ha foten din tråkket på. Og det er en utrolig vakker ting.

I oppsummering

Jeg tror virkelig at lære Ruby kan gjøre deg til en lykkeligere programmerer generelt.

Jeg kan bare snakke fra personlig erfaring her, men det oppriktig gjenopplivet livet i min utvikling. Jeg var en PHP-mann i over 8 år, og det var virkelig noe jeg ikke "elsket", men det gjorde jeg likevel. Etter å ha funnet Ruby kastet jeg bokstavelig talt opp hendene mine og vendte aldri tilbake til PHP. Det var en så grandiøs forandring i mitt liv at jeg har skapt prosjekter, fått jobber, gjort rådgivning, og bidratt til noen gode åpne kildeprosjekter, så vel som Rails-kjerne, alt der tidligere jeg bare var en student som kjente PHP.

Jeg kunne selvfølgelig bidra med og gjøre disse tingene i PHP, men poenget er at jeg aldri har lidenskap til å gjøre det, og lidenskap er så viktig. Hvis du ikke har lidenskap for hva du gjør, bør du slutte å gjøre det. Akkurat nå. Og så bør du lære Ruby on Rails. Det kan hente det tilbake.

Har du dyppet inn i Ruby on Rails ennå? Tror du det er en bedre utviklingsplattform der ute? Gi oss beskjed i kommentarene.