Ah, Ruby on Rails. De kampioen van de opstartende drukte en het nevenproject. Dat beschrijft in wezen veel waarom ik denk dat mensen de gemeenschap als geheel waarderen, omdat ze die twee feiten allemaal waarderen.
Het heeft zeker veel gedaan voor de startup-wereld en voor ontwikkelaarsgemeenschappen. Het lijkt erg op talen zoals JavaScript in de invloed die het heeft gehad op de webwereld. Ik ken heel wat mensen die in ontwikkeling zijn geraakt, alleen vanwege het feit dat Rails zo uitnodigend is, en Ruby is zo mooi.
Misschien vindt u dat Ruby on Rails geschikt is voor uw grote project, laten we ons verdiepen in de basis en ontdekken.
Ruby is een dynamische taal met een hoog doel dat alle voordelen van Perl en PHP heeft, zonder de syntaxis die ze met zich meebrengen.
Ruby is gemaakt door Yukihiro "Matz" Matsumoto , halverwege de jaren negentig. En het wordt gebruikt in het kader van Rails, vandaar Ruby on Rails. Rails is een open source full-stack webapplicatieframework dat veel van de kracht gebruikt die Ruby biedt. Het biedt ook organisatie en geweldige programmeermethodieken die allemaal zijn gebakken in één enkel kader, en bovendien is het ongelooflijk uitbreidbaar.
Nu ga ik niet in op veel meer technische details, tenslotte zijn dit dingen die je zou kunnen vinden in een snelle google-zoekopdracht. Laten we het gesprek aanhalen.
Het kan een overdreven overdrijving zijn om te zeggen dat Rails je leven zal redden, maar feit is dat ik meer mensen heb gekregen om te beginnen met programmeren via Rails en Ruby dan welke andere taal of raamwerk dan ook. Ik denk dat de omgeving als geheel volledig toegankelijk is voor nieuwkomers in de programmering. De gemeenschap is bijvoorbeeld vrij homogeen en lijkt zich op dezelfde doelen te richten. Dat betekent echt veel als het erop aan komt dat duizenden mensen proberen je aandacht te richten.
Laten we zeggen dat je zou beginnen in de JavaScript-gemeenschap, nou, het is net als het wilde westen. Er zijn ongelofelijk verbazingwekkende dingen gaande in die gemeenschap, van robotica tot jQuery tot Node to Backbone, tot testen en geavanceerde statistieken, en dat vergt zoveel aandacht.
Zoveel mensen proberen in zoveel verschillende richtingen te gaan dat het voor een beginner moeilijk kan zijn om te beslissen wie van wat hij moet volgen.
Er is misschien veel cross-over van mensen uit die twee gemeenschappen, het is heel duidelijk dat wat ze belangrijk vinden in JavaScript, niet hetzelfde is als waar we in Ruby en Rails om geven als een kader of taal.
Bovendien krijg je een prachtige programmeertaal.
Rails afbeelding via Shutterstock.
Persoonlijke voorkeur hier alleen, maar ik denk dat Ruby de mooiste programmeertaal is die ooit is gemaakt. Het is het meest verbazingwekkende dat ik ooit heb gebruikt om te coderen, en het motiveert me echt om dingen te creëren aan de kant wanneer ik thuiskom na een lange dag programmeren op mijn werk. Dat is wanneer je weet dat een taal leuk voor je is, wanneer je het doet na 8-10 uur programmeren op je werk. Ik besef dat dit misschien niet voor iedereen hetzelfde is, maar als vuistregel: de maker van Ruby streefde echt naar leesbare syntaxissen en compliceerde de dingen niet terwijl hij ging. Zeer vergelijkbaar met de manier waarop de maker van Clojure de bouw van een taal benaderde: proces. Ze kozen beide voor eenvoud boven complexiteit, omdat we allemaal weten dat er in eenvoud een grote complexiteit is; en meestal vice-versa, vandaar de schoonheid van dingen zoals Ruby en Clojure (minus het overmatig gebruik van haakjes in Clojure, ugh ).
Het vinden van een pad om te volgen in de Rails-gemeenschap is heel eenvoudig. In andere talen kan het een beetje moeilijker zijn om te weten wie de 'smaakmakers' zijn bij wijze van spreken, maar in Rails is het heel duidelijk. Dat wil niet zeggen dat je die mensen moet volgen, maar van die mensen kun je afleiden waar de zwaargewichten rond spelen en dan van daar gaan.
Typisch zwaargewichten hebben projecten of inspanningen in Rails die in het centrum staan van een levendige gemeenschap die het ondersteunt. Dus dat zijn altijd geweldige plekken om in te springen. Ten slotte is Rails een zeer experimenteel raamwerk en een vooruitstrevende denkervaring om te coderen terwijl u het gebruikt.
Als een beginner zul je niet alleen genieten van de syntaxis en gemeenschap, maar ook worden geduwd om nieuwe dingen te leren. En het gaat allemaal over het leren van nieuwe dingen in deze programmeerwereld.
Ruby on Rails is een van de krachtigste tools, en de meeste hulpmiddelen, de vallei en startups hebben over de hele wereld in jaren gezien.
Of het nu gaat om de syntaxis, het vermogen om binnen enkele uren aan de slag te gaan, ongelooflijk snel een prototype te maken, wat het ook is, het is van de grond gekomen.
Rails-winkels en startups overal zijn er ook vandoor gegaan, en dat is gewoon de suiker in de pudding waarom het een heerlijke traktatie voor je is. Niet alleen heb je zoveel andere bedrijven die het adopteren, en misschien kom je soortgelijke problemen tegen, je hebt ook een gevechts getest framework.
Dit is geen Alpha-product, het is geen bèta-product. Dit is geen geabstraheerd denkproces voor ontwikkelaars om code te organiseren. Dit is een aantal 'in-the-wild kudde van hondenstijl' resultaten van mensen die samen zijn gegroepeerd om deze community te vormen, allemaal gestart door een DHH van 37signals .
Nogmaals, ik zal me bezighouden met de gemeenschap, omdat het zo belangrijk is. Het is zo'n geëvolueerde en volwassen gemeenschap (in zekere zin) dat je letterlijk hulp kunt vinden op elke manier die je nodig hebt. Of het nu ontwikkelaars zijn die graag programmeren in rails of gewoon mensen die willen raadplegen om uw problemen op te lossen. Helemaal tot mensen die graag NoSQL gebruiken in Rails-omgevingen en graag haten op de Asset-pipeline;)
Daarover gesproken, het is een ander geweldig ding voor beginners en startups. Er is een organisatietool genaamd de activapijplijn die u helpt bij het organiseren van al uw JavaScript (of CoffeeScript), CSS en afbeeldingen in een map waarin die respectieve submappen zijn ondergebracht. Dat is op zichzelf nuttig. Al met al, als u in een startup op zoek bent naar een taal om in te dubberen, geef Rails een kans om uw product te coderen. Je zult misschien merken dat het je verrast.
Een andere plek die Rails echt heeft afgelegd is in de ruimte voor persoonlijke projecten.
Veel ontwikkelaars lijken op elkaar, net als in, het zijn intelligente en capabele individuen. Ik weet dat ik weet, dat is geen regel, maar het is nog steeds vaak het feit van de zaak. En mensen van deze aard willen vaak persoonlijke projecten die ze kunnen hacken om te leren of om inkomsten te genereren. En iedereen die ik ken is het ermee eens dat Rails een perfecte manier is om dat te doen.
Rails afbeelding via Shutterstock.
Het gebruik van hulpmiddelen zoals Heroku voor het bouwen en inzetten van een Rails-app is letterlijk een 1, 2, 3 stappen of liever een 1, 2 stap. Het is geweldig. In feite gebruik ik Rails en Heroku om mijn blog te behandelen. Telkens wanneer ik wijzigingen aanbreng, compileer ik productieapparatuur voor Heroku, push ik naar Github en push ik vervolgens naar Heroku. Dat is simpel. En als ik een nieuwe computer heb waar ik naar toe wil, verander ik gewoon wat afstandsbedieningen met een beetje gemakkelijk te begrijpen terminal magie en dat is het - je bent klaar om te hacken.
Een van de vaak onbegrepen delen van het ontwikkelingsproces is per ongeluk te ingewikkeld maken. Het is slechts een van de magische dingen in ontwikkeling, lijkt het. Je kunt zonder achting of toeval letterlijk alles te ingewikkeld maken. Het is precies wat er gebeurt en vaak realiseren ontwikkelaars zich niet eens dat ze het doen. Welnu, je hebt geluk, Ruby heeft veel 'conventie over configuratie'-actie gaande, wat ons impliciet helpt om dingen te de-compliceren.
Als u bijvoorbeeld een klasse "Bibliotheek" hebt die overerft van ActiveRecord, zoekt deze automatisch naar een tabel met de naam Bibliotheek in de database. Het zijn kleine dingen als die ons helpen om dingen niet steeds opnieuw te hoeven schrijven. In feite is het een overdreven voorbeeld van de essentie van DRY (Do not Repeat Yourself). Dat is geweldig en erg nuttig. Waarom niet een beetje tijd besparen, na al dat is meer tijd voor koffie.
Iets anders waar ik dol op ben, is dat de maker van de taal absoluut geobsedeerd is door code eenvoud en schoonheid. Dus als hij iets eenvoudiger en op een mooiere manier kan doen, dan zal hij het implementeren, tot de angst van veel ontwikkelaars. Maar ik ben er persoonlijk dol op.
Rails als motor zullen je ook helpen om over raamwerken in het algemeen te leren zonder dat je op je hoede hoeft te zijn, en ik denk dat het dit op een perfect gebalanceerde manier doet.
Natuurlijk zullen mensen zeggen dat PHP-frameworks dat op een betere manier doen, omdat je je hoofd nog steeds tegen een muur kunt slaan met PHP zonder manieren te vinden om eromheen te leren (om van te leren). Maar in feite denk ik dat Rails dat op een veel elegantere manier doet dan PHP ooit heeft gedaan en waarschijnlijk ooit zal doen.
Rails afbeelding via Shutterstock.
Zie je, in Rails moet je nog steeds zoveel leren om een echte of zelfs kleine Rails-applicatie te kunnen bouwen. Het is niet zo dat je gewoon steigers voor alles kunt gebruiken. In feite kun je dat niet actief doen, maar in het begin zul je het wel leren en dingen leren zoals Views, Templating en hoe Ruby interageert met HTML.
Een ding dat ik bijvoorbeeld graag doe, is het plaatsen van een Ruby-variabele die servergegevens opslaat van een bepaald type dat al is ingesteld in een gegevensattribuut. Dus bijvoorbeeld: -data-attribute-for-ruby = "<% = Time.now%>" en werk dan of interactie met dat data-attribuut in JavaScript.
Rails kunnen behoorlijk ingewikkeld worden, heel snel, en de schoonheid van Rails is dat het je dwingt om ook andere talen te verkennen. Hiermee kun je heel goed zijn in JavaScript en heel goed in CSS. Het geeft je ook een beter begrip van SQL en hoe databases werken, allemaal impliciet.
De eenvoud maakt de toetredingsdrempel zo laag dat zelfs kijken naar het databaseschema logisch is, Oh ik heb die klasse gemaakt, dus daar is hij. Niet, Oh schiet wacht, ik deed de klas, dus nu moet ik de database doen hoe doe ik dat. Ik ben niet op de hoogte van databases. Ugh. Schroef dit. Niets van dat in Rails.
Je leert zonder dat je voet erop staat. En het is een ongelooflijk mooi ding.
Ik denk echt dat het leren van Ruby je in het algemeen een gelukkiger programmeur kan maken.
Ik kan alleen spreken vanuit persoonlijke ervaring hier, maar het heeft het leven echt nieuw leven ingeblazen in mijn ontwikkeling. Ik was een PHP-man al meer dan 8 jaar en het was echt iets wat ik niet "liefhad", maar ik deed het toch. Na het vinden van Ruby gooide ik letterlijk mijn handen en keerde nooit terug naar PHP. Het was zo'n grandioze verandering in mijn leven dat ik projecten heb gemaakt, banen heb gekregen, advies heb gegeven en heeft bijgedragen aan een aantal fantastische open source-projecten en de kern van Rails, waar ik eerder gewoon een student was die PHP kende.
Ik kon natuurlijk die dingen in PHP hebben bijgedragen en gedaan, maar het punt is dat ik nooit de passie heb gehad om dit te doen, en passie is zo belangrijk. Als je geen passie hebt voor wat je doet, moet je stoppen ermee te doen. Direct. En dan moet je Ruby on Rails gaan leren. Het kan het terugbrengen.
Ben je al in Ruby on Rails gedoken? Denk je dat er een beter ontwikkelingsplatform is? Laat het ons weten in de comments.