DEV Community

Pranav singh chandel
Pranav singh chandel

Posted on

Need Advice: Choosing the Right Path for Mobile App Development

Hi everyone,

Currently, I am learning backend development. I have knowledge of:

  • React
  • Node.js
  • Express.js
  • MongoDB basics

I am currently exploring MongoDB beyond CRUD operations.

Recently, I developed a strong interest in mobile app development, but I am confused about which technology stack I should choose.

The options I am considering are:

  1. React Native
  2. Flutter
  3. Native Android Development using Kotlin

I already know Core Java, so I was thinking about learning native Android development as well.

I searched online and most recommendations suggest learning React Native, especially because I already know React. But I have a doubt:

If I build an application that requires access to Android-specific APIs like:

  • Bluetooth
  • Sensors
  • Camera features
  • Device hardware integrations

will React Native be enough, or will I eventually need native Android development anyway?

If native development becomes necessary for advanced features, would it be better to directly invest my time in learning Kotlin and Android development instead of learning React Native first?

I am currently confused about which path would be a better long-term investment.

Considering my current skills (React + Node.js + Express + MongoDB + Core Java), what would you recommend?

Would love to hear advice from experienced developers.

Thank you!

Top comments (1)

Collapse
 
saqrelfirgany profile image
Ahmed ElFirgany

Your doubt is the right one and the answer is yes. You will touch native code either way. Bluetooth, sensors and the deeper camera work end up as a small platform channel in Flutter or a native module in React Native. The difference is that it is a few percent of the app instead of all of it.

So the real question is not which one saves you from Kotlin. It is which one you want for the other ninety five percent.

Two things from five years of shipping Flutter apps. Learn one platform natively but only shallow. Enough to read a Kotlin file, open Android Studio, and understand a manifest and a permission. That is what turns plugin problems from scary into solvable. And check pub.dev before you assume you have to write native at all, because Bluetooth and camera already have mature packages and you usually only drop down when a package stops short of what you need.

You already know React, so React Native is the shorter ramp and Flutter is the more consistent result across both platforms. Neither is a wrong answer. Picking one and shipping something real beats another month of comparing them.