Ah, Ruby on Rails. Mästaren av starthustle och sidprojektet. Det beskriver i grunden mycket av varför jag tycker att människor tycker om samhället som helhet, eftersom de alla uppskattar dessa två fakta.

Det har säkert gjort mycket för startvärlden och för utvecklingssamhällen lika. Det ligner mycket på språk som JavaScript i de effekter det har haft på webvärlden. Jag känner till ett fåtal personer som har blivit utvecklade enbart på grund av att Rails är så inbjudande, och Ruby är så vacker.

Du kanske tycker att Ruby on Rails är rätt för ditt stora projekt, låt oss dyka in i grunderna och ta reda på det.

Ruby on Rails för nybörjare och nybörjare

Ruby är ett dynamiskt språk med höga krav som har alla fördelar med Perl och PHP, utan syntaxen som de tar med sig.

Ruby skapades av Yukihiro "Matz" Matsumoto , i mitten av 1990-talet. Och det används inom ramen för Rails, därmed Ruby on Rails. Rails är en open source full stack webbapplikation ram som utnyttjar mycket av kraften Ruby erbjudanden. Det erbjuder också organisation, och bra programmerare metodologier alla bakade i en singular ram, och dessutom är det otroligt utvidgat.

Nu kommer jag inte att gå in i mycket mer teknisk detalj, trots allt är det saker du kan hitta i en snabb google-sökning. Så låt oss komma till köttet i konversationen.

Rails för nybörjare

Det kan vara en överdrivning att säga att Rails kommer att rädda ditt liv, men faktum är att jag har fått fler människor att börja programmera genom Rails och Ruby än något annat språk eller ramverk. Jag tycker att miljön som helhet är helt tillgänglig för nykomlingar att programmera. Gemenskapen är till exempel ganska homogen och verkar vara inriktad på samma mål. Det betyder verkligen mycket när det kommer till tusentals människor som försöker rikta uppmärksamheten.

Låt oss säga att du skulle börja i JavaScript-communityen, ja, det är som den vilda västern. Det finns otroligt fantastiska saker som händer i det samhället från robotik till jQuery till Node to Backbone för testning till avancerad statistik, och så mycket kräver din uppmärksamhet.

Så många människor försöker gå i så många olika riktningar att det kan vara svårt för en nybörjare att bestämma vem av vad man ska följa.

Det finns kanske en hel del crossover av människor från dessa två samhällen, det är mycket tydligt att det de bryr sig om i JavaScript inte är detsamma som vad vi bryr oss om i Ruby and Rails som ramverk eller språk.

Ovanpå allt får du ett vackert programmeringsspråk.

Rails

Rails bild via Shutterstock.

Personliga preferenser bara här, men jag tror Ruby är det vackraste programmeringsspråket någonsin skapat. Det är det mest fantastiska jag någonsin har använt för att koda, och det motiverar mig verkligen att skapa saker på sidan när jag kommer hem från en lång dag med programmering vid mitt jobb. Det är då du vet att ett språk är kul för dig, när du gör det efter 8-10 timmars programmering i ditt dagliga jobb. Jag inser att det kanske inte är detsamma för alla, men som en tumregel gällde Rubys skapare verkligen för läsbar syntax och inte komplicerade saker när han gick. Mycket liknar hur Clojures skapare närmade sig byggandet av ett språk: process. De båda valde enkelhet över komplexitet, för vi vet alla att det i enkelhet kommer stor komplexitet; och vanligtvis vice versa, därmed skönheten av saker som Ruby och Clojure (minus över användning av parenteser i Clojure, ugh ).

Att hitta en väg att följa i gemenskapens Rails är väldigt enkel. På andra språk kan det vara lite svårare att veta vem "smakmakarna" är så snygga, men i Rails är det väldigt uppenbart. Det är inte att säga att du måste följa dessa människor, men från dessa människor kan du härleda var tungvikterna spelar och sedan gå därifrån.

Vanligtvis har tungviktar projekt eller ansträngningar i Rails som ligger i mitten av en levande samhälle som stöder den. Så det är alltid bra ställen att hoppa in i. Slutligen är Rails en mycket experimentell ram, och en framåtriktad upplevelse att koda in när du använder den.

Som nybörjare kommer du inte bara att njuta av syntaxen och samhället, utan också drivas för att lära sig nya saker. Och det handlar om att lära sig nya saker i denna värld av programmering.

Rails för start

Ruby on Rails är ett av de mest kraftfulla verktygen, och de flesta möjliga verktyg, dalen och nystartade över hela världen har sett i flera år.

Det är syntaxen, förmågan att komma igång i timmar, prototyper otroligt snabbt, oavsett vad det är, det har tagit av.

Rails butiker och startups överallt har tagit bort också på grund av det, och det är helt enkelt socker i pudding till varför det är en läcker behandling för dig. Inte bara har du så många andra företag som antar det, och eventuellt löser liknande problem, du har också en slagetestad ram.

Detta är inte en Alpha-produkt, det är inte en Betaprodukt. Det här är inte en abstraherad tankeprocess för utvecklare att organisera kod. Det här är en del "in-the-wild flock of dogs style" resultat från personer som grupperade tillsammans för att bilda denna gemenskap började alla av en DHH av 37signals .

Återigen kommer jag att sörja på samhället, för det är så viktigt. Det är ett sådant utvecklat och moget samhälle (i en mening) att du bokstavligen kan hitta hjälp på något sätt som du kan behöva. Var det utvecklare som älskar programmering i skenor eller bara personer som vill konsultera för att åtgärda dina problem. Hela vägen till människor som älskar att använda NoSQL i Rails-miljöer, liksom kärlek att hata på Asset Pipeline;)

Med tanke på det är det en annan bra sak för både nybörjare och nybörjare. Det finns ett organisatoriskt verktyg som heter asset pipeline som hjälper dig att organisera alla dina JavaScript (eller CoffeeScript), CSS och bilder i en mapp som innehåller de respektive undermapparna. Det som i sig är användbart. Sammanfattningsvis, om du är igång med att leta efter ett språk för att dabble in, för att koda din produkt, ge Rails ett skott. Du kanske bara tycker att det förvånar dig.

Varför Rails är användbar (för enskilda utvecklare)

En annan plats som Rails verkligen har tagit av är i det personliga projektutrymmet.

Många utvecklare är ganska lika, som i, de är intelligenta och kapabla individer. Jag vet att det är en regel, men det är fortfarande ofta saken. Och sådana människor vill ofta ha personliga projekt som de kan hacka på för att lära sig, eller få intäkter från. Och alla jag vet är överens om att Rails är ett perfekt sätt att göra det.

Rails

Rails bild via Shutterstock.

Använda verktyg som Heroku för implementering bygga och distribuera en Rails app är bokstavligen ett 1, 2, 3 steg eller snarare ett 1, 2 steg. Det är fantastiskt. Faktum är att jag använder Rails och Heroku att hantera min blogg. Varje gång jag gör ändringar kompilerar jag produktionstillgångar för Heroku, skjuter till Github, och sedan trycker jag på Heroku. Så enkelt. Och om jag har en ny dator vill jag dra ner till, jag byter bara några fjärrkontroller med lite lätt att förstå terminal magi , och det är det - du är redo att hacka.

En av de ofta missförstådda delarna av utvecklingsprocessen är alltför komplicerad saker av misstag. Det är bara en av de magiska sakerna i utvecklingen, verkar det. Du kan utan hänsyn eller händelse bokstavligen överkomplicera någonting . Det är bara vad som händer, och ofta utvecklarar inte ens inser att de gör det. Nåväl, du har tur, Ruby har en hel del "convention over configuration" -åtgärder som pågår, vilket verkligen implicit hjälper oss att komplicera saker.

Om du till exempel har en klass av "Bibliotek" som ärar från ActiveRecord så letar den automatiskt efter en tabell som heter Library i databasen. Det är små saker som hjälper oss att inte skriva saker om och om igen. I själva verket exemplifierar det alltför väsentligheten i DRY (Repeat Yourself). Vilket är fantastiskt och mycket hjälpsamt. Varför inte spara lite tid, trots allt är det mer tid för kaffe.

En annan sak jag älskar om det är att skaparen av språket är absolut besatt av kod enkelhet och skönhet. Så om han kan göra någonting enklare och på ett vackrare sätt, så kommer han att implementera det, till många utvecklares oro på det. Men jag älskar det personligen.

Rails som en motor kommer också att hjälpa dig att lära dig om ramverk i allmänhet utan att du går på tårna, och jag tror att den gör det på ett perfekt balanserat sätt.

Självklart kommer folk att säga att PHP-ramverk gör det på ett bättre sätt eftersom du fortfarande kan slamma huvudet i en vägg med PHP utan att hitta vägar runt det (att lära av). Men jag tror faktiskt att Rails gör det på en mycket elegantare sätt än PHP någonsin, och förmodligen någonsin kommer det.

Rails

Rails bild via Shutterstock.

Du ser, i Rails behöver du fortfarande lära dig så mycket för att kunna bygga en riktig eller till och med liten Rails applikation. Det är inte som att du bara kan använda byggnadsställningar för allt. Faktum är att du aktivt inte kan göra det, men du kommer först och det hjälper dig att lära dig saker som Visningar, Templering och hur Ruby interagerar med HTML.

En sak som jag älskar att göra är att sätta en Ruby-variabel som lagrar serverns data av någon typ som redan har ställts in i en datattribut. Så till exempel: -data-attribute-for-ruby = "<% = Time.now%>" och sedan arbeta eller interagera med datatributet i JavaScript.

Rails kan bli ganska komplicerade, ganska ganska snabbt, och skönheten i Rails är att det tvingar dig att utforska andra språk också. Det gör att du kan bli riktigt bra på JavaScript och mycket bra på CSS. Det kommer också att ge dig en bättre förståelse för SQL och hur databaser fungerar, allt implicit.

Enkelheten gör hinderet för inträde så lågt att även titta på databasschemat är meningsfullt, Åh gjorde jag den klassen så där det är. Inte, Oh shoot vänta, jag gjorde klassen sak så nu måste jag göra databas sak hur gör jag det. Jag vet inte om databaser. Usch. Skruva det här. Inget av det i Rails.

Du lär dig utan att din fot trätt på. Och det är en otroligt vacker sak.

I summering

Jag tror verkligen att lärande Ruby kan göra dig till en lyckligare programmerare i allmänhet.

Jag kan bara tala ur personlig erfarenhet här, men det uppriktigt upplivade livet i min utveckling. Jag var en PHP-kille i över 8 år och det var verkligen något jag inte "älskade" men jag gjorde ändå. Efter att ha hittat Ruby kastade jag bokstavligen mina händer och gick aldrig tillbaka till PHP. Det var en så stor förändring i mitt liv att jag har skapat projekt, fått jobb, gjort rådgivning och bidragit till några bra open source-projekt samt Rails-kärnan, var jag tidigare bara en student som kände till PHP.

Jag kunde självklart bidra till och göra de sakerna i PHP, men poängen är att jag aldrig haft passion för att göra det, och passion är så viktig. Om du inte har passion för vad du gör, bör du sluta göra det. Just nu. Och då ska du lära dig Ruby on Rails. Det kan ta tillbaka det.

Har du dyktat in i Ruby on Rails ännu? Tror du att det finns en bättre utvecklingsplattform där ute? Låt oss veta i kommentarerna.