I Want an App for That — Building Your Company’s First App

Ramanath Suthakar
4 min readOct 7, 2022
Lala Azizli
Photo by Lala Azizli on Unsplash

If you’re considering building your company’s first app there are a few questions you need to ask yourself before you decide what skillset to hire for and whether to go native or multiplatform.

  • Who is the target audience for your app — are you bought into one of the main app ecosystems (Apple’s or Google’s)?
  • How much are you willing to invest into building you app?
  • How important is feature parity between Apple and Google devices for you?

Those three questions should be the ones you should be primarily focusing on because there are two primary ways of building an app. You could choose to build a native app for each platform or build an app using React Native (or one of the other multi-platform solutions).

Each approach has its own advantages and disadvantages, but to begin with you should know that building a native app will be significantly more expensive, so if budget is your main consideration you should go with React Native.

Comparing the two approaches

What does it actually mean to build a native app? Both Apple and Google provide what are called software development kits (SDKs) for their platform which are designed to help app builders create apps that work on their respective operating systems (iOS and Android). These are built for their respective OS, so Apple will help you build the best iOS app you can but you will not be able to release this app on the Play Store nor would you be able to build an Android app using Apple’s tools.

What’s more the platforms use different programming languages, Apple uses Swift and Google uses Kotlin, which means that you would either need developers who are comfortable building apps in both, which would be hard to find, or, more likely need to hire two different development teams to build each app. This need to have different development teams is the main reason why building native apps is significantly more expensive.

Photo by Jason Dent on Unsplash

When You Should Go React Native

React native is a framework developed by Facebook on top of their very popular web-framework called React. React is what’s used to build Facebook’s own website and is actively maintained by them for this purpose.

React native allows developers who are familiar with JavaScript to also build apps whose logic is written using Javascript instead of Kotlin or Swift. But that doesn’t mean your apps will look like websites. One of the main advantages React Native has is that it can use native UI (user interface) components — meaning your app will look like a native iOS or Android App even though it’s not native.

Another big win for React is the availability of skilled web developers who are familiar with React and React Native. If your web development team is comfortable with the requirements of building an app (from an user experience and publishing point of view) you could even have the team that builds your website also build you app.

Another advantage is the fact that React native is multi-platform by default. Meaning your developers can code the platform logic once and then just build different UIs for iOS and Android.

When You Should Go Native

While React Native is appealing, you should remember that it provides a native-like experience but it’s not perfect. Generally speaking the more your app needs to work flawlessly with the paradigms of each operating system — iOS or Android the more likely it is that you will have to go native. Each OS has quarks and “ways to do things” that are inherently different from the other. If you are considering React native you should talk about your requirements with your team and they will be able to point at which, if any, won’t work in a native way in your app and then you’ll have to decide how important that is for you.

Performance will not be an issue for most apps as smartphones today are powerful enough to run both native and React Native apps with similar levels of performance. So your only real consideration should be the importance of every native feature to work exactly the way the platform developer meant it to work.

Choosing to go native or React Native is not trivial and has long term implications for you app, as there will be little reusability if you change your mind later, however thinking about what your app needs to do long term and considering if you can make a long term investment in maintaining two different apps with two different teams should you make the right decision.

--

--

Ramanath Suthakar

I’m an Author, Ambitious Tech Founder (Codeexceptional Ltd,), Developer, Stock & Crypto Investor, YouTuber. 🇬🇧 MyBlog: www.personalfinanceandinvestment.com