From Python Django Framework to learning Ruby on Rails

Joshua Chipile
4 min readOct 19, 2021

--

Dev.to Rails courtesy

The transition working from Python Django Framework (Web Framework) to Ruby on Rails (Web Framework) was one that I found fun ,quick and interesting.

The process It took in understanding Ruby on Rails, is quite essential to my own story of how I learnt.I will firstly explain what it is so as to give everybody an understanding(We do not want to leave anyone out right at the beginning :) ). Rails is “An extremely productive web-application framework”. Ruby On Rails M-V-C Architecture. Getting started with Rails or tutorial on Rails.

In my opinion,I see Rails Frame work as simpler version than Django Framework which is also a super fast Web Framework.

Since I have given a basis and understanding of the question “what is Ruby” and “Why Ruby on Rails ?” ,I will proceed with telling you about a situation I was in.Hopefully it will be as interesting to you as it was to me.

I had a job interview which required me to learn Rails (It was Rails with an at-most focus on API). I built a simple Web Application in Rails and was also required, as I would see it ,to “Move Fast and Break things” in the process.

Move Fast And Break Things — courtesy of Facebook

It is important to note that within Rails (Rails 6) Framework , there are different alternatives to Test Driven Development(TDD). Rails uses RSpec for Test Driven Development(TDD) of which I myself are guilty of using more often than not.

The interview preparation as well as the days leading to taught me quite a lot. I recall at one moment during the interview, I was asked questions on Rails of which I expected but I did not anticipate some of the questions that came to that of Test Driven Development(TDD) in Rails which I must add were quite a number .That moment made me realize how it is important to be well versed in all aspects of a certain topic and how preparation is important.

Many at times,the applications we build are without proper Structure, Test Driven Development (TDD) and Behavior Driven Development(BDD) and this was highlighted to me as I was going through my learning process with Ruby on Rails.I have since realized the importance of TDD in what we build as it helps with better understanding for you as well as others and with bettering the performance of whatever we build.Ruby on Rails

Learning one language as compared to the other was challenging at the beginning (or could be that I was just being stubborn to learning a new programming language). In my learning process, I noticed that Rails is faster and quicker than Django Framework. As mentioned earlier, Rails is a simpler version than Django Framework which made it easier to migrate to Rails.The learning process was fun (and do take my word for it). I sure did learn a lot.

With Python Django Framework I had a great experience too. I could create New Django projects whether it had to do with Django Start project and Start app it . I found it easier to create projects because I familiarized myself with the framework which made creating projects fun and easy.During that period I also learnt a lot from Mwiza Simbeye both on Django and Rails.

Rails is “an extremely productive web-application framework”

Learning Curves

Rails is “an extremely productive web-application framework”

I know we can do the same in PHP, Django or in Web app Framework, but Rails makes creating and writing code simple and fun(Hello World or Todo list app are some examples of what can be built on Ruby on Rails).

I encourage any developer or aspiring developer to get into the habit of learning a new programming language.

With Rails, you can build a lot of Web Apps (Web applications) in a quick and fun way.

A quick guide on creating Rails Web App. Create Rails Application (Ensure Ruby and Rails is installed and database — MySQL, SQLite,PostgreSQL,setup correctly).

It is an MVC (Model,View and Controller) Framework and application which has some models and views already created.

The MVC in Rails

I encourage any developer learn new programming language

My take home from this whole experience is to constantly familiarize yourself and be open to learning new languages.Events such as that of the interview are part of the process it took me to learn a new language.That interview especially opened my eyes on Rails with a focus on TDD as a Software Developer/Engineer.

One Step Closer

--

--

Joshua Chipile

Software Developers Advocate||Software Engineer /Software Developer|| Technical Write || Trainer || OSCA- Lusaka - Lead