Rails is still the perfect choice when learning programming in 2016
Rails has been in the top ranks of languages for over 12 years. And 12 years in the technology world are nearly the same as immortality, because the technology names also live for so many years are extremely small.
As everyone knows, the software industry changes at the speed of light, especially in the web, so for what reason can Rails last for so long? Is there any way we can still use Rails as a web framework? I mean, with this Concurrent then Functional always dominates headlines, what is a framework based on object-oriented language?
That's the question we will answer today. Rails is still worth learning.
Doctrine and Vision
Rails has a doctrine . Really there. Right here . I do not know about you, but whenever I see Doctrine such and such, I think of those guinea forced into slavery by a paranoid dictator somehow. Probably because I read the scary fantasy stories of the apocalypse too much. Rails Doctrine, however, runs well. Here are a few principles:
- Optimize for programmer happiness
- Convention over Configuration – Convention over Configuration
- The menu is omakase (it all depends on the 'chef') – The menu is omakase
- No one model – No one paradigm
- Enhancing the 'pretty' code – Exalt beautiful code
- Provide sharp knives – Provide sharp knives
- Value integrated systems – Value integrated systems
- Progress over stability – Progress over stability
- Push 'tent' – Push up a big tent
I'm not going to go through all these rules now, but I think you should look. You know they don't really say anything? "Make a website". The list is full of words like "happy", "beautiful", "progress", "value". This is for web framework .
These are good and worthwhile guidelines for any development work. They shape the direction of the framework and the surrounding community. While you may not agree with all of the above principles, at least you know what they are.
Any framework that invests so much effort in principles that govern them, it must be mature and intelligent. I really like these principles and I understand, these principles exist to help more people like me to use this tool more comfortably and easily.
There is a long-standing truth that everyone knows, Rails allows developers to 'speed up' from the first moments. If you want to develop something fast, such as when you want to "test theory", for example, you will find it difficult to find the right tool like Rails. Because of that, Rails has become the number one choice for many startups.
However, this is not just a startup tool. When you want to learn something new, it usually takes a long time for you to learn something. You must pass a certain level, such as
newbie, for example. It is very difficult to make a commitment like this when you have to constantly switch jobs or have other responsibilities on your shoulders. If you're new to the programming world, Rails will give you early success. Very early words are different. You do not have to learn a programming language, but just enough to jump into the market only. In fact, many people come to Ruby through Rails, so much so that Rail is mistaken for Ruby.
Learn Rails because you will be able to see the money immediately. And that progress will urge you to continue.
Learn how to do the web
Another aspect of Rails is the 'mantra, rhythmic' style, which is created by both the creator and the user "Convention Over Configuration". That means, basically, Rails has adopted the protocol (the way it works) assuming certain configurations. For example, you don't need to select a database when starting with Rails. Rails will use conventional SQLite if you don't configure another database. In addition to the proof of 'lightning success' we mentioned above, we can see how the web works .
Wait, what do I mean by that? Well, I mean most websites need to store data, so Rails has a convention for that too. The vast majority of web applications out there use standard verification by session, so Rails also has a convention for this. Once you know these conventions, you also know what web applications need. Here is an example to illustrate:
- RESTful endpoints
- Lỗi compress và tạo
- Database migrations
- Package and dependency management
There are many more, but you also get the idea. You can get back the original list and just re-tweak some configuration if necessary. You can also cancel, or replace these conventions with gems or your own code. When ready, you can dig deeper into each convention and find out why they exist. Through many times of deeper diving like this, you will learn many fundamental things about the process of developing and deploying web applications. Moreover, you can use convention until ready, study at the right speed and still produce good web applications.
Stand on the giant's shoulder
Rails has released many giants in the web development industry. Rails was born as a framework to build Basecamp , a very successful service with extremely high traffic at that time. This means that problems with websites with high data and high traffic like Basecamp have been solved, and we just reap the achievements.
For 12 years, Rails has been applied to many successful sites. Many participants in building these sites have produced many excellent source gems to solve the problems they encounter. One of the best examples is Devise , the de facto gem for verification in Rails. When using Devise (and other gems), you can allow users to verify in a variety of ways. Email / password, Twitter, Facebook, Github, JWT, … Devise is just one of thousands of examples out there.
Rails is built by giants and also developed by many other giants.
Which army and you?
When you start diving into Rails this community will also become your community, If you access Rubygems and search for "rails ". You will see results about … 160 gem pages. 160 pages !! And there's always a new gem coming out every week.
Moreover, many sources of Rails on the internet are numerous. With many forums like Sitepoint or Stackoverflow to ask questions. Then there's Slack group. In short, there is always a "500 brother company" to help you with all Rails issues.
In my opinion, one of the most compelling reasons to learn Rails is because of Ruby itself, this is a beautiful language.
In an article from the early days of Ruby, Yukihiro Matsumoto (father of Ruby) once wrote "… Ruby was designed to bring happiness to the programmer". And he did very well, keeping Ruby going with this mission.