React Native vs Flutter. which is worth learning for beginner

Hello everyone. I’m deveen rathnayake aka buwa. I’m an undergraduate at the University of Moratuwa faculty of IT. This is my first medium article, I will try my best to give an idea about react native and flutter.

before diving into this topic first let see what are the type of mobile application development.(If your beginner to the mobile app dev. I suggest reading below para)

  1. Native development
  2. Hybrid development

Native development- when you are developing a mobile application to a specific os(android, ios) we can call it native development. I’m not going into technology stuffs here. Kotlin language for android, swift language for IOS.

Hybrid development - you can use a single framework to build mobile apps for both operating systems. you do not have to code both OS separately. you will think it easy. but this has some cons. Flutter and React Native belongs to this.

alright, let us see our main topic. first of all, I like to say these hybrid technologies are amazing. both are good and powerful. In this article, I'm talking about the overall idea of these technologies. so everyone can understand. For your understanding purpose, I'm dividing my topic into seven major criteria.

release date

These mobile frameworks were built and developed by Google and Facebook. flutter was built by Google. react-native was facebook. react-native came to market in 2015.flutter was released in 2017. react-native has a competitive advantage because it released first. you can also see flutter has some inspiration things coming from react-native.

compilation

flutter has the ability to control every pixel on the screen. but react-native does not. flutter does not compile to native UI elements but react-native compiles javascript code to native code which means ios or android element. Therefore if the coder wants to add shadow to the button if that button’s native code would not allow also react-native coder can not add it too. but flutter developers can paint on anything on the screen. It is mean he has more customization facilities than react native

Hot reload

Both frameworks have hot-reload functions. hot reload is an amazing feature every programmer would love. when code gets compiled if the programmer changes the code, the programmer doesn't have to wait again to compile they can use hot reload, all changes will appear in the app instantly. Just like web page reload. native developers miss this feature lot. Personally, i like this feature in flutter and it’s very responsive.

components

components are the major building blocks of the app. in react native they are few number components available. the coder can use third-party libraries(expo CLI) to build custom components. it is some kind of freestyle. In the flutter, they called components widgets. google team developed tons of widgets anyone can use. The material package is one of their widget packs.

language

flutter is used Dart as the programming language. React native is used javascript as the programming language. dart is a newly build programming language. javascript is one of the most popular programming languages. if you are coming from web development react native will be easy. dart is growing programming language day by day.

community

Without a doubt, react-native has a huge community Because it released earlier. we cannot say flutter does not have a community. Its community is developing day by day. Practically you can see it on the StackOverflow website there is a huge number of articles and solutions about flutter. but when you have a troublesome situation in react native you can find the solution quickly because it has grown community.

popularity

In the app market, many hybrid apps are written in react native. I think the reason is that react native is released earlier than flutter. I will attach a google trends report on flutter vs react native. (trend picture)

below you can see what are the apps written in react native and flutter.

React-Native

https://cdn.merixstudio.com/media/uploads/2019/12/12/react-native-use-cases-copy.png

Flutter

https://cdn.merixstudio.com/media/uploads/2019/12/12/flutter-use-cases.png

finally..

It is totally up to you to select a framework for your mobile app. In this article, I do not go deeper with Technologies kinds of stuff because this is an article that is new to hybrid app development. I discussed what is Flutter and what is React Native. I prefer you to look at both these Technologies and choose you like most and learn much harder that framework. I hope you will get anything from my article and I will connect with you in another one.

Thank you. stay safe

IT undergraduate, IT person