I have been working as a Hybrid app developer for almost a year now. Prior to this, I was working as a Front End developer and my scope and skills were limited to HTML CSS and some amount of jQuery. I never tried or dwelled into learning javascript as it always looked hard to me in the first attempt.

Human being has a tendency to be in a comfort zone, a zone which is basically a concept of mind and it’s limits. They themselves set up a boundary and are henceforth constrained to live within it due to the mentality which has now developed and anything beyond this boundary looks beyond imagination and even sometimes impossible.

Transition to the world of JavaScript

After my first confrontation with JavaScript, I knew I had to take things into my own hands. The first thing I did was to start reading different bits of tutorials. After spending two weeks, I found it was not what I was looking for. I had learned many things, but something was still missing. Then I realized that I had to make a plan.

I decided to move with practicing what I have learned and started building some small projects based on what I have learned and soon Google Chrome developer console was a world I loved to be in. I had no idea there is so much to learn and explore there. Soon I developed the taste for it and console.log was my favorite to test out if anything works or not. Just to add the fun, the statements in my console are always humorous.

Learning React Native

I had been working in web development for so long and was restricted to Web-only until I came across React Native. Just a simple fact that you can build mobile apps using JavaScript made me opt for React Native and soon I was building simple apps and started enjoying it. React Native came easily to me because of the following:

I had the idea of both HTML and CSS so structuring the app came easily to me. ES6 and JSX eased out the long JavaScript code. I learned to develop wireframes, logic and even sometimes concept which I never thought I could do. React Native provides you with the concept of Components which enhances the code reusability.

Only negative point I came across was it needs Mac to run Xcode for iOS development and I didn’t had that. :-)

The fact that React Native can provide both Android and iOS app at the same time was not enough to get the clients to come your way as most of the clients are either OS-centric or are afraid to use new technology. It was almost like a drought in the starting and continued to be like that until I had a major project which was related to location tracking and attendance management. It was fun. This gave me the confidence to build some small projects. All was going good but lack of regular projects lead me to learn another Framework i.e Ionic.

Moving towards Ionic

Ionic is the only mobile app stack that enables web developers to build apps for all major app stores and the mobile web with a single code base. And with Ionic’s Platform Continuity, your app looks and feels at home on every device.

Advantages of learning ionic:

Free & Open Source — 100% source code on Github

Fully Cross-Platform — IOS, Android, Windows, Web, Desktop, PWA

Premier Native Plugins — Camera, Bluetooth, Push Notifications

First-class Documentation — Clear and Consistent

Learning ionic came easy It took me back to my web development days with the same freedom to style and code. Pre-developed components increased the speed and even the API or third-party support is simple to integrate and implement at the same time.

The major restriction or you can say the bottleneck in learning Ionic is that you have to learn Angular JS along with web components. To escape this, I brushed through some of the majorly used components in Angular and web component came easy due to my past experience with polymer. :-)

Conclusion:

I guess you have read the whole article now and must be in a dilemma to choose between these two or which framework is better and easy to learn. Let me have the pleasure to make that ease that for you. If you are good with JS and want to learn something new and unique go for React Native as it is not dependent on any other framework and is purely JS based. But if your main goal is to develop web apps along with mobile apps, then choose Ionic as Ionic is the only framework which will make this accessible and easy for you.

Some Random Words of Motivation:

So basically never underestimate yourself and keep on trying new technologies and learn about them and STAY UPDATED. Projects mainly differ on the basis of complexity, deadlines, and even skills sometimes. So you can be doing anything developing websites, creating mobile apps just do with dedication and some time plan. Avoid procrastination and soon you will start enjoying what you do and that’s all we need isn’t it. Stay in Touch through my website.