Ruby on Rails is a web application framework.
Rails may be the framework, Ruby may be the language.
Designed by David Heinemeier Hansson in 2005, it’s become well known within the Web startup world because of its adoption by a number of the leading “startups” of our time, including Stripe, Uber and Groupon.
You an overview of what to do if you want to learn to program in Ruby on Rails, this tutorial should give. I will not enter particulars because i simply desire to provide you with a concept as to the framework of a software. If you follow the things I propose, you ought to more fully understand exactly how these applications work.
All computer programs work in the same way -
Information is inputted
Data is processed
Data is outputted
Just how the info is processed and inputted is dependent on the platform the application runs on. How it really is outputted depends on the application.
The difference with web applications is that their logic runs on a server, with the information IO being passed through the web (particularly, the HTTP protocol).
The complication of internet apps is you might need the capacity to accept data that are inbound and get back reactions. This really is handled by a web server program (NGinx or Apache). We’ll explain this ina moment.
Computer Software Stack
You have to consider the “stack” on which it runs when you create a piece of software.
The “stack” is all the software needed to run your application. In the world of desktop games, for example, the “stack” can sometimes include the likes of DirectX or a particular images motorist.
The hold-back that is main would-be web application designers is understanding how the “web” software stack works. Online works similarly to native applications, with the exception of one difference that is distinct stateless.
The “Internet” runs beneath the HTTP protocol. By nature, this is known as a “stateless” protocol – each request you deliver is considered independent to your final. Unlike stateful protocols (which retain state), stateless protocols need to rebuild the applying’s state every time.
The point is that if you’re going to develop a web based application, you need to use a framework or technology set which makes the stateless nature of HTTP as integrated as possible whilst this means nothing to most people. Most pertinently, an authentication is needed by you system which rebuilds an individual’s session on every request (I’ll explain this in a second).
Ruby vs PHP
Ruby (the language) is similar to PHP – these are typically both procedural and both are employed greatly on the net.
The difference that is main Ruby and PHP is the fact that PHP is accessed entirely on the client-side, Ruby requires a proxy.
Applications such as for instance WordPress are made with PHP as it’s free, available source and may be operate on any LAMP (Linux Apache MySQL PHP) server (that will be fundamentally most of the shared enviroment in existence).
The purpose with Ruby is that it’s a LOT more temperamental than PHP – it requires running processes to greatly help it operate and will usually neglect to start if any problems arise.
To begin with, you will need three things:
An IDE (Incorporated Developing Environment)
A Ruby-Compatible Web Server (Heroku)
Ruby, Rails & GIT Installed In Your System