Select to view content in your preferred language

React Js or Flutter?

879
4
06-13-2024 11:40 PM
John398
Emerging Contributor

Hi folks,

 

I am planning to pursue software development languages. I have lot of mobile development technologies.

As a result, I was searching to find which technology has good future and found this Flutter vs React Native articles where I found good differences between both technologies but not really sure about which technology offers good jobs and high salaries.

 

I am kindly requesting you to share advice on this. Your valuable suggestions will shape my career in right direction. Thanks in advance.

Tags (1)
0 Kudos
4 Replies
TimWestern
Frequent Contributor

My understanding, is that React Native, is an extension on top of React that enables you to target both mobile apps and other platforms at the same time.  The transition from React to native may be smaller compared to between react and flutter.  I've not used flutter so i can't give you advice on the developer experience.  However, if you are looking at growing your software experience, you should be clear on whether you are learning other languages, or tools in a language you already know.

From a quick look, I don't see a ton of difference between them (I know there are, but after seeing so many different frameworks and libraries in just the Javascript echosystem in 20 years, you start to wonder why people keep reinventing things.  ArcGIS Experience Builder is currently built on top of React, so if are doing GIS work and want to learn something that could give you other options while improving your GIS skills as well, I would think React would be the logical choice.

However, you might want to try a non interpreted language (Anything that's transpiled or interpreted by the browser at runtime) because you learn new things when you use different languages.

The top ones I recommend would be: C#, Python, and there is a lot of talk about Lua and Rust right now.

Which way you go may depend on what platform you think will be your focus in the next few years.  If its just the web, then learning a technology geared mainly to mobile apps on iOS or Android, might not give you as much breadth as you think.  There's no reason you can't dabble and try out many things though, don't be afraid to check out some tutorials either way.

John398
Emerging Contributor
Thank you so much
0 Kudos
JeffreyThompson2
MVP Regular Contributor

Since you are posting on the Experience Builder boards, I will start by saying Experience Builder is based on React, not React Native. They are two different things. Additionally, most of the people in the Experience Builder community have little or no coding experience. I suggest taking your question over to the Young Professionals Network for a more rounded perspective.

Your question is about which framework to study, but if you don't already have a programming background, asking about frameworks is several steps ahead of what you should be thinking about. Your first priority should be getting a good fundamental understanding of the concept of programming. You can start in any language, once you have learned one it is pretty easy to pick up another. Depending on how you want to count (competency and what is a language), I know 2 to 10 languages and that's probably a pretty low number for a professional programmer. As for which language to start with, I recommend JavaScript or Python. JavaScript is the only language browsers know, so it is essential for anything on the web. Python is the prefered language of GIS and data science, so it is also important for anyone pursuing a job in those fields.

Circling back to what is a framework. A framework is a collection of pre-made code that goes on top of a language to make a programmer's job easier. If you want to make pasta, you can buy dried pasta and bottled sauce or you make it all from scratch. Making it from scratch will take longer and, depending on your time and talent, may come out worse than just buying the stuff from the store. Using a framework is like buying some of your ingredients instead of making them yourself. It will definitely save time and usually make a better end-product than trying to do it all yourself. Frameworks tend to come in and out of fashion very quickly, so trying to pick a framework without first getting down the fundamentals is a poor strategy. Focusing hard on a popular framework can be a good short-term strategy, as long as, you have the skills and flexibility to switch to the next big thing when your favorite framework becomes passe.

Finally, to your specific question. React Native is probably the most popular framework for mobile app development today. It is built on JavaScript, the most important programming language in the world. Flutter is a thing I have never heard of before. It is built on Dart, a language I have never heard of before. 

GIS Developer
City of Arlington, Texas
John398
Emerging Contributor

Thanks a lot

0 Kudos