Ruby on Rails ... inmiddels hebben de meeste mensen de hype daarover gehoord. Het belooft op zijn zachtst gezegd een effectievere code, totale objectoriëntatie en echte MVC-architectuur. Wat mijn eigen persoonlijke ervaring betreft, is dat alles en meer geweest. De code is mooi, gemakkelijk te onderhouden en te bewerken. In een recent project waar ik aan werkte, kostte het me minder dan 10 uur om de applicatie te doen, in vergelijking met minstens het dubbele van dat als ik in PHP schreef.
Ik heb veel webontwikkelaars gehoord die andere talen kennen, meestal ASP of PHP, die Ruby on Rails willen leren kennen, maar gewoon niet weten waar ze moeten beginnen. Uit persoonlijke ervaring weet ik dat het heel anders is dan PHP. Persoonlijk heb ik Ruby on Rails minder dan een jaar geleden geleerd en tot nu toe heb ik er tot nu toe weinig of geen problemen mee gehad. Als je dat nog niet hebt gedaan, raad ik je ten zeerste aan om aan boord te gaan met het up-and-coming webraamwerk, Ruby on Rails!
In deze serie tutorials hoop ik je te nemen van het niets weten over Ruby on Rails (als dat waar is), tot het kunnen schrijven van volledig functionele webtoepassingen erin. Ik herinner me hoe het was om het te leren. Ik kon geen serie tutorials vinden die je door alle essentiële dingen heen brachten in gewoon Engels en in een volgorde die gunstig was voor mij, de leerling. Hoewel er heel goede bronnen zijn, moeten ze ook met anderen worden gecombineerd. Onderaan deze tutorial ga ik ook bronnen opsommen die ik ook in het verleden nuttig heb gevonden.
Deze serie zal vergelijkbaar zijn met de PHP from scratch series, maar dan met Ruby on Rails.Er zal er één elke week verschijnen, geleidelijk aan meer geavanceerd.
Ik waarschuw je, deze eerste tutorial is misschien een beetje droog, maar het is noodzakelijk om RoR te leren (laten we het zo maar noemen!). Deze week gaan we in op het opzetten van het framework en de webserver en ook hoe het framework werkt. We gaan de noodzakelijke basis leggen voor het leren van RoR. Dit is waar veel webontwikkelaars die RoR willen leren, niet slagen. Ik beloof dat we de volgende keer veel veel leukere dingen zullen doen!
Ruby is de taal die de framerails uitbreiden. Het is erg object georiënteerd. De syntaxis is geïnspireerd door Perl's en is daarom erg vergelijkbaar. Het is ook vergelijkbaar met Python, Lisp, Dylan en CLU. Om Wikipedia te citeren:
"Ruby werd op 24 februari 1993 bedacht door Yukihiro Matsumoto die een nieuwe taal wilde creëren die functioneel programmeren in evenwicht bracht met imperatief programmeren. Volgens Matsumoto wilde hij een scriptingtaal die krachtiger was dan Perl en meer objectgeoriënteerd dan Python . Dat is waarom ik besloot mijn eigen taal te ontwerpen '. "
Het was het populairst in Japan, dat is totdat het raamwerk Rails uitkwam. Sindsdien is het overal fenomenaal blijven groeien.
Rails is het beroemde raamwerk dat werkt op robijn. De gebruikersbasis groeit voortdurend. Ontwikkeld door David Heinemeier Hansson van 37signals voor basecamp, werd het uitgebracht als open source in juli 2004. Het maakt gebruik van MVC (Model - View - Controller) architectuur. Als je MVC wilt oppoetsen, bekijk dan zeker de MVC-tutorial. De nieuwste release is 2.1.0. Er waren enkele belangrijke veranderingen in de v2. Dit omvat de beroemde steigerfunctie van v1. Het is een beetje veranderd in versie 2.
Ruby on Rails volgt verschillende principes om de code strak en schoon te houden. Je moet proberen te leven volgens deze principes terwijl je met RoR werkt om er het beste van te maken. Ten eerste volgt het de Agile programmeerterm van DROOG (herhaal uzelf niet). Vanzelfsprekend betekent dit dat u uw code slechts één keer op een bepaalde consistente plaats schrijft. Als je bijvoorbeeld de code nodig hebt om een bepaald ding te doen, dan zul je het elke keer op een bepaalde plaats zetten.
Het tweede concept dat RoR volgt is CoC (conventies over configuratie).Dit betekent in de praktijk dat robijn veel veronderstelt, en verklaart de meeste automatische standaardwaarden die robijn voor ons zal genereren. In plaats van dat je altijd alles hoeft te configureren, doet Ruby het in elk project automatisch voor je. Als je iets onconventioneel wilt doen, vervang je gewoon de verstandige standaardwaarden die RoR al heeft. Dit leidt over het algemeen tot minder code moet worden geschreven.
Voordelen van het leren van Ruby on Rails:
Nadelen van Ruby:
Ik heb alleen deze claim gehoord, maar steeds meer servers worden steeds beter uitgerust voor Rails, omdat het toch blijft groeien, dus het wordt steeds minder een probleem.
Een ruby-bestand heeft de extensie .rb. Deze bestanden bevatten meestal geen HTML. Dit is een uittreksel van een ruby-bestand (met name een controller) van een game-engine die ik onlangs heb gemaakt. Zoals je misschien zou kunnen zien. Het haalt gegevens uit een database en geeft een lijst met spellen volgens de variabelencategorie en titel:
klasse GameController < ApplicationController def game_list
@title = '3'
@category = 'Actie'
@games = Game.find (: allemaal,
: conditions => ["title LIKE? AND category =?", '%' + title + '%', category],
: order => 'titel, categorie ASC',
: limit => 5,: offset => 0)
einde
Net als veel andere webtalen, kun je met Rails robijn insluiten met HTML. Seki Masatoshi schreef een programma genaamd ERB, embedded ruby, dat alle .rhtml-bestanden (ingesloten ruby-bestanden) scant, totdat het tegenkomt <% Ruby Code that is only processed -%> of <%= Ruby Code that is then outputted %>. Het verwerkt dan de robijncode en vult indien nodig de blanco in.
Hier is een voorbeeld van Embedded Ruby:
<% title = "Nettuts" %>
<% header_text = "Ruby on Rails Tutorial" %><%= title %> <%= header_text %>
Dit is een voorbeeld van een .rhtml-pagina.
Dit is hoe de gebruiker het krijgt:
Nettuts
Ruby on Rails-zelfstudie
Dit is een voorbeeld van een .rhtml-pagina.
Windows- en OSX-gebruikers hebben allebei veel geluk. Beide besturingssystemen krijgen een alles-in-één installatieprogramma / managerprogramma dat robijn, rails en de server installeert. Voor vensters hebt u de optie Instant Rails. Ga naar http://instantrails.rubyforge.org/wiki/wiki.pl om het te downloaden. Ik heb dit persoonlijk gebruikt en heb er geen grote problemen mee gehad. Vertrouw me, het is veel gemakkelijker om dit te doen, installeer alles dan apart.
Klik op downloaden om instantrails te krijgen.
Wanneer u op downloaden klikt, wordt u doorgestuurd naar rubyforge.org. Daar kunt u de nieuwste versie kiezen. Ten tijde van dit schrijven was 2.0 de laatste. Ook ten tijde van dit schrijven, veel populaire hosts die robijn ondersteunden, alleen ondersteunde 1.8.x-versie. Er zijn aanzienlijke verschillen tussen versie 1 en 2. Het is dus aan u welke versie u wilt installeren. In deze tutorial zal ik versie 2.0 downloaden.
Nu het is gedownload, extraheer het naar een map die geen spaties bevat.
OSX heeft ook het geluk om een alles-in-één Ruby on Rails-manager, locomotief, te hebben. Voor OSX en andere besturingssystemen vindt u een zeer goede bron op de wiki van Ruby on Rail.
Vanaf nu ga ik Instant Rails gebruiken. Het verschilt niet veel van andere instellingen, dus als je een andere techniek gebruikt, zou je nog steeds gemakkelijk moeten kunnen volgen. Als u problemen tegenkomt, moet u mij dit laten weten in de opmerkingen en / of de bronnen bekijken.
Dus nu je alle benodigde bestanden hebt voor je setup. Start het op! Voor vensters gaat u naar de directory waarin u Instant Rails plaatst en voert u InstantRails.exe uit. Je krijgt waarschijnlijk dit bericht, maar voor je map, waar je op 'ja' kunt drukken voor:
Nu Instant Rails actief is, kunt u verschillende dingen doen. Op dit moment moet je alleen in staat zijn om:
- Open een consolevenster
-Maak een nieuw project.
- Start de server voor een huidig project
We zullen elke actie afzonderlijk doornemen.
1) Klik op het pictogram linksboven:
2) Ga naar "Rails-toepassingen"> "Open Ruby Console-venster"
3) We hebben nu een consolevenster geopend. Hier kun je veel dingen in Ruby doen, zoals het genereren van nieuwe projecten, controllers en andere taken die we later zullen bespreken. Nu gaan we dit consolevenster gebruiken om een nieuwe applicatie te maken.
1) Nu gaan we "rails nettuts" typen, waarbij nettuts de naam is van je applicatie. Kies de naam zorgvuldig, aangezien u deze voor de rest van de toepassing zult gebruiken. Omdat we eigenlijk nog niets specifieks doen, kiezen we nettuts als onze naam:
2) Het zal nu alle benodigde bestanden voor de applicatie genereren. Dit zijn de bestanden die het framework gebruikt en nodig heeft. Het zal helpen de CoC (conventies over configuratie).
3) We hebben nu een Ruby on Rails-applicatie gegenereerd!
1) Om onze applicatie uit te voeren, moeten we naar Instant Rails gaan en opnieuw op het pictogram klikken:
2) Daarna gaan we naar "Rails-applicaties"> "Rails-applicaties beheren ..."
2) U kunt zien dat Instant Rails al met twee projets wordt geleverd. Het kookboek is een vrij nette demo van wat je gemakkelijk kunt doen met Rails. Ik moedig je sterk aan om het te bekijken. En als je dan een beetje meer over Rails hebt geleerd, bekijk dan de broncode. Je zult verrast zijn door de eenvoud! In ieder geval, vink het vakje naast nettuts aan en klik op "Start with Mongrel". Uw firewall kan bezwaar maken, maar deze toestaan. Een consolevenster zou moeten verschijnen met het poortnummer en andere nuttige informatie:
Dus in mijn geval (en waarschijnlijk ook in de jouwe) kunnen we onze applicatie bekijken op poort 3000. Navigeer dus gewoon naar 127.0.0.1.:3000 en je zou deze standaard Rails-pagina moeten krijgen (plus de zijbalk rechts):
We kunnen nu beginnen met het bouwen van onze applicatie!
Rails lopen weg van MVC Architecture. In feite betekent dit dat we onze code in drie secties verdelen; het model, het aanzicht en de controller. Als je meer wilt weten over MVC Architecture, bezoek dan zeker de introductietutorial van Nettuts MVC. In deze intro voor Ruby on Rails behandelen we alleen de basis van de controller:
De controller is het pad achter de hoofd-URL. Als we bijvoorbeeld een controller hebben die de naam 'leren' heeft, zou deze representeren yoursite.com/learn of lokaal 127.0.0.1:3000/learn . Elke controller is afhankelijk van veel specifieke bestanden. Om een controller te maken, moet u deze via de console genereren. We gaan nu een nieuwe controller maken, leren:
1) Eerst openen we een consolevenster via Instant Rails, of welke installatie u ook gebruikt.
2) Vervolgens gaan we naar de huidige applicatie. Omdat we momenteel één niveau boven onze applicatie zitten, typen we "cd-nettuts" (verander folder in nettuts).
3) Nu we ons in de applicatie bevinden, hebben we toegang nodig tot een script dat de controller genereert. Als je de bestandsstructuur van de app bekijkt, zul je merken dat er een scriptmap is. En binnen de scriptmap is er een bestand dat wordt gegenereerd. We moeten ons daar op richten en het uitvoeren.
4) We richten het via de console. Let ook op de andere scripts, ze hebben allemaal hun doel. Hoe dan ook, in windows type in "ruby script / genereren controller leren" om een controller genaamd leren te genereren. Als ik het goed onthoud, heb je de robijn niet nodig in andere besturingssystemen. De console zal nu enkele bestanden genereren. Bekijk deze in een verkenningsvenster als je wilt. De twee belangrijkste bestanden hier zijn de controller leren, die slechts een van de verschillende bestanden was; maar merk ook op dat er ook een weergave met de naam leren is gemaakt. Dit zijn de verstandige standaardinstellingen die rails worden geleverd om de hoeveelheid werk te beperken.
Dus hoe werkt een controller??
Laten we het stap voor stap doen.
-Gebruiker vraagt yoursite.com/learn aan
-Rails kijkt automatisch in de map met servers voor app / learn_controller
-Rails scant het .rb-bestand voor de definitie van een indexbestand
-Rails doet wat de definitie zegt, en maakt uiteindelijk of leidt naar een weergave.
-Deze weergave (leren) wordt vervolgens teruggestuurd naar de gebruiker.
Maak je geen zorgen als dit niet echt logisch is. Volgende tutorial gaan we dieper in op controllers. Want op dit moment weet je gewoon hoe je een controller moet maken en dat ze bestaan.
Ruby on Rails wil het bouwen van webapplicaties eenvoudiger maken. In Ruby on Rails Essential Training, deskundige instructeur Kevin Skoglund richt zich op hetzelfde doel. Kevin legt het complete proces uit - van het begrijpen van de fundamentele concepten achter elk Ruby on Rails-project tot het maken van volledig functionele, eenvoudig te onderhouden applicaties met behulp van het Ruby on Rails-framework.
Bezoek artikel
Dit is een ongelooflijke serie van Ruby on Rails-zelfstudie, die veel behandelt, maar het is soms moeilijk te volgen.
Bezoek artikel
Dit is de officiële website van Rail. Als je enthousiast wilt worden over Rails, ga hierheen! Hier kun je de nieuwste versie downloaden, het laatste nieuws ontvangen en een aantal andere bronnen vinden voor het leren van Rails.
Bezoek artikel
Dit is een geweldige bron. Zodra je de volgende ninja van Rails wordt, kun je zelfs worden gedwongen om een deel van de informatie hier te bewerken!
Bezoek artikel
Zorg ervoor dat u zoveel mogelijk bronnen uitzoekt voor de volgende zelfstudie.
Nou, ik hoop dat je door al die informatie hebt kunnen overleven. Vertrouw me, je zult blij zijn dat je het gedaan hebt. Zorg ervoor dat u de algemene kennis van deze zelfstudie begrijpt. Naarmate we verder gaan, zullen de meeste van uw vragen worden beantwoord en zult u zich meer "verlicht" gaan voelen, op wat Rails is. En ik beloof dat volgende week leuker zal zijn! Volgende week zullen we een beetje meer van het kader behandelen, en beginnen met het krijgen van ruby syntax, en een beetje meer van wat je kunt doen met rails. Als deze zelfstudie u heeft geholpen, kunt u dit Digg it!