Ruby on Rails is een raamwerk voor webapplicaties. Rails mag dan het raamwerk zijn, Ruby is de taal. Ontworpen door David Heinemeier Hansson in 2005, is het bekend geworden in de wereld van webstartups vanwege de acceptatie ervan door een aantal van de webapplicatie toonaangevende ‘startups’ van onze tijd, waaronder Stripe, Uber en Groupon. Als je wilt leren programmeren in Ruby on Rails, zou deze tutorial je een overzicht moeten bieden van wat je moet doen. Ik zal niet in details treden, omdat ik u alleen een idee wil geven van de structuur van een applicatie. Als je volgt wat ik voorstel, moet je beter begrijpen hoe deze toepassingen werken. Webapplicaties Alle softwareapplicaties werken op dezelfde manier: gegevens worden ingevoerd Gegevens worden verwerkt Gegevens worden uitgevoerd De manier waarop de gegevens worden ingevoerd en verwerkt, is afhankelijk van het platform waarop uw applicatie draait. Hoe deze wordt uitgevoerd, is afhankelijk van de toepassing. Het verschil met webapplicaties is dat hun logica op een server draait, waarbij de data-IO via internet wordt doorgegeven (met name het HTTP-protocol). De complicatie van webapps is dat u de mogelijkheid nodig heeft om inkomende gegevens te accepteren en antwoorden terug te sturen. Dit wordt afgehandeld door een webserverprogramma (NGinx of Apache). Ik zal dit zo meteen uitleggen. hier Wanneer u een softwareapplicatie maakt, moet u rekening houden met de “stack” waarop deze webapplicatie maken draait. De “stack” is alle software die nodig is om de applicatie uit te voeren. In de wereld van desktopgames kan de “stack” bijvoorbeeld bekende merken DirectX of misschien een bepaald grafisch stuurprogramma bevatten. Het belangrijkste obstakel voor potentiële ontwikkelaars van webapplicaties is het begrijpen hoe de ‘web’-softwarestack werkt. Web werkt vrijwel hetzelfde als native applicaties, met uitzondering van één duidelijk verschil: staatloos. Het “internet” werkt volgens het HTTP-protocol. Van nature wordt dit een ‘staatloos’ protocol genoemd; elk verzoek dat u verzendt, wordt als onafhankelijk van het vorige beschouwd. In tegenstelling tot stateful protocollen (die de status behouden), moeten stateless protocollen de status van de applicatie elke keer opnieuw opbouwen. Hoewel dit voor de meeste mensen niets betekent, is het punt dat als je een webgebaseerde applicatie gaat maken, je een raamwerk of technologieset moet gebruiken die het staatloze karakter van HTTP zo geïntegreerd mogelijk maakt.