Hi! And Welcome to the course on Ruby on Rails!
In this video, we will look at what is ruby? and what is rails.
Ruby is a purist object oriented programming language.
And by purist, I mean that everything in ruby is an object with regard to OOPS concepts which refer to the class-object structure.
It was designed by Matz, but formally known as Yukihiro Matsumoto with a careful selection of features from perl, smalltalk and lisp.
It is majorly used to build web applications on top of the rails framework which we will see next.
Rails is a web application development framework written in ruby
One handy thing which rails does is.. it makes certain assumptions about what the developers need to know to get started.. and spares us the details and hence makes programming easier
With this sort of a setup, you can write less code while accomplishing more than any other language or frameworks in certain use cases
and also makes web dev more fun
MVC - In this architecture, a web application has three interconnected layers. The model houses codes that work on the application data. The controller communicates with models and views. It receives a request from the browser, works with models to process it, and instructs the view on how to display the result to the user correctly.
Libraries - There's a gem (3rd party module) for just about anything you can think of. They are all publicly available and searchable through https://rubygems.org/.
Cost Effective - The Ruby on Rails framework is 100% free and runs on Linux, which is an open-source framework. It’s also easy to work with from a developer’s perspective. It’s easy to create and maintain the website without spending more money ensuring greater quality, performance, or scalability of your site.
Secure - Some security measures are built within the framework and enabled by default. Rails community actively works to spot and patch new vulnerabilities and the framework is well documented both officially and unofficially.
Productivity - Ruby is an eloquent language, which when combined with the plethora of 3rd party libraries, enables you to development features incredibly fast. This ensures that you can develop feautures quickly and keep moving to the next task at hand without much delay.
Next Gen - Ruby on Rails seems to be the language of choice for a number of the popular online code schools, such as Makers Academy, Steer and CodeCademy. This should mean an increase in talented programmers joining the Ruby community over the coming years.
Runtime speed - The most cited argument against Ruby on Rails is that it's "slow". We would agree, certainly when compared to the runtime speed of NodeJS or GoLang. Though in reality, the performance of a Ruby application is incredibly unlikely to be a bottleneck for a business. In 99% of cases, the bottleneck is going to be elsewhere, such as within the engineering team, IO, database or server architecture etc. When you get to a significant enough scale to have to worry about Rails runtime speed, then you're likely to have a incredibly successful application (think Twitter volume) and will have many scaling issues to deal with.