Connect With Us

Switching to React Native from Ruby on Rails

By Kamal Pandey on Aug, 29, 2018

Most of us programmers and software engineers are indeed always trying to learn more programming languages , pick up new tools etc. That is the way I came across ruby as well. Prior to it I was a happy java guy.

After few months working full time on ruby and ruby on rails building awesome stuffs with it. I finally realized why ruby was known as a language developed for programmers happiness.

Some of the noticeable advantages of Ruby on Rails I realized immediately were

  • The speed of development.
  • Best development practices like Representational State Transfer(REST) concepts, Don’t Repeat Yourself(DRY) concepts, Convention Over Configuration(COC) concepts, Model View Controller(MVC) concepts,
  • Plenty of  fully tested ruby Gems already being used in thousands of rails powered websites
  • Testing tools inbuilt with frameworks other popular available testing gems like RSpec, Factory, Capybara, Database Cleaner,
  • Easy websockets integration through Actioncable to incorporate real time features,
  • CSRF protection by default,
  • SQL injection protection in bundled ActiveRecord by default,
  • Database Migration functionality
  • Integration of Email, Jobs, Internationalization support
  • Easy way to create API for application using --api flag
  • Awesome guides and huge community

There is no doubt that Ruby on rails is most popular framework there are some things I want to see improved on Ruby on rails.

  • RoR code tends to do too much "magic."
  • Maintainability is not a great strength of the framework and the very weak typing of the language also makes the code increasingly difficult to maintain over time.
  • Shortage of flexibility: As RoR being opinionated framework what I struggle with most of the time was  need to adjust RoR based on product’s needs as RoR comes with hard dependencies and modules.
  • Rails development is not as easy in windows environment as it is on linux and Mac.
  • Rails callbacks are good but I struggle with must of the time understanding and debugging as it makes things unexpected violating SRP.

Late integration of the webpacks with the latest version of rails shed some lights about on the  javascript got me interested to learn more about ES6  officially, called ECMAScript2015 Fascinated by the new way of writing javascript I became familiar with some of the prominent features of ES6 like Template Literals, Multi-line Strings, destructuring assignment, enhanced object literals, arrow function, promises, block-scoped constructs Let and Const, class, modules. It is a declarative, efficient, and flexible JavaScript library for building user interfaces.

Having been familiar with the Es6 was a good start to try the new taste of React.js and  I started learning React and some fundamental concepts like components, states and props and how component communicates with each other through props and what benefit do one get using redux and other state management framework in large applications. Learning React was the turning point for me to learn React native as React native uses the same concepts, same lifecycle methods as React and focus on better UI using predefined Components.

So if you are moving to react native I suggest one to learn React although it is not necessary. Some of my suggestions for getting better at React native are:

  • Learning the flexbox layout as react native uses flexbox layout.
  • Learning the react navigation to handle the navigation
  • Learning how to make HTTP request or  XMLHttpRequests.

If you are looking for a good team to help build a mobile app. Do get in touch with our team here

Some further References:

Share This:

Latest Posts


Integrating Afterpay Payment in a Rails Project By Umesh P Kafle on Sep, 07, 2018

Switching to React Native from Ruby on Rails By Kamal Pandey on Aug, 29, 2018

Jyaasa in IT Career Fair 2018 By Sonika Thapa on Jun, 12, 2018

Encrypted secrets in Ruby on Rails By Rasna Shakya on Apr, 20, 2018

Rails Payment Integration with zipPay (Buy Now and Pay Later) By Nelson Suwal on Mar, 23, 2018