Roadmap to Android Development
Tags: beginners, reactnative, androidclub, webdev
Published: 2021-10-21 11:26:59

   Apps have become an integral part of our life and honestly I don't think I can spend a day without them. Being a 2nd year CSE student I decided to put my hands on a bit of Android development and see how it goes. 

   As a newbie in app development, I faced many difficulties during the beginning . Even after having a technical background , it was hard for me to start my journey as a developer.

After a lot of research and asking a few too many people <b>I realized React-Native would be the best way to proceed</b>. So, here I am to share my experience about how I started on this journey and hopefully it inspires a few of you out there. 

#### So the first question that comes to mind is what is React-native? 

   It is basically an open source software developed by Facebook, which uses React and JavaScript for developing mobile applications. It is a jack of all trades which means it works with the same functionality on different platforms like Android, iOS, Web etc. 

It can be easily maintained and provides a good developer community. You don’t need to study a difficult language like Java for Android development, since React-native majorly uses Javascript.

#### There are many reasons why I suggest React-native.

I’ll just list a few of them here. <b>React native is considered as one of the best software for app development</b>. The apps built in React-native are faster and have a much simpler code structure because of Javascript. 

Javascript has a library named ‘React native Web’ which provides the same functionality and performance in the app as well as in the website. The ‘one code base feature’ will allow you to write the code once and use it everywhere else i.e., use among different operating systems. 

One of the key trade-offs when using react-native is performance. Native development environment surely has better performance but it's almost unnoticeable if you are not building a highly dynamic app like pubg. In return, we get a more refined software development cycle with a highly manageable codebase. This is the very reason why companies like Airbnb are using react-native as the new normal.

   I don't know if you guys know this but even our favorite social media apps like Instagram, Facebook use react-native, And I for one was amused and decided to just follow the trend.
  ![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/b0nf21oy6o69dz02gtbx.jpeg)
   Anyway, apart from that Skype uses React-native to provide consistency between its Android and iOS apps; 
Uber eats uses it to build an elegant user interface and to design its app; 
Pinterest which increases its developer productivity by sharing code from one platform to another also uses React-native. 
I hope that now everyone will agree with me that React-native is better than other software. 

#### Why learn Web development?

   Now to practice actual coding in React-native, I would suggest you to start with web-development. 

Web development(it is also a very interesting topic to learn) is basically done using Javascript, HTML and CSS. React is a library of Javascript which helps build user interfaces for single page applications while React-native uses React and Javascript for app development. 
Why go the hard way when you can just kill two birds with the same stone? So, I prefer you to start from basic web development. After you’re done with it, you can start developing on React-native.

   I would suggest you pick something small and easy for your first project. The react native community is very big. So any doubts or errors you get, be assured you would find the solution too.
 
#### Enhance the performance of your apps

After creating your application on react-native, I would recommend you to increase the performance of your app. It can be something as tiny as  avoiding scroll view to render huge lists, scaling and resizing images, using cache images etc. You can choose your own ideas according to your own comfort to increase the performance by trying in React-native. And that’s it. 

   You have created your first app using React-Native. Cheers!!
You just need to keep repeating these steps and slowly scale up the size and complexity of your application.

   So, last but not least, practice more. It is not easy to become a developer in a single day or night. The more time you spend, the more interesting App development will be. So buckle up and get ready to take off on your journey as a React-native developer.
Hope this blog helps as a small stepping stone!!

<b>All the best!!!</b>