Building an Android and iOS app in 2023
Published: 2023-09-06 15:10:05


“Ideas are cheap, execution is expensive!” 


I’m sure you must have heard this quote in some or the other form. A billion dollar ideas requires millions in investments before it turns profitable. The road to profitability is a tough one as we have seen in the recent few years with companies adapting all the means to save every buck. 


So, the question is should you also spend millions and then start saving thousands to become profitable? I leave this question to be answered by you.


In the past few months I have met at least 10 founders (or wanna be founders) who have this startup or business idea that they think is amazing, has potential to disrupt the market and in turn  make them rich. Of course, this was all in their heads and they were trying hard to pitch the idea and find a co founder who can help them build the product or service. And one common question they had was how expensive is it to build a product or service? Mind you all these people didn’t have a technical background and the only thing according to them that was stopping them was tech. The wild wild world of app development.


My goal through this article is to help you make right technological decisions to test your ideas. That’s right! Testing an idea is the first stage of any **billion dollar** company in making. You need to bet enough resources and time to validate your _product idea_, _find early adopters_ and then do some serious analytics. Most of the founders make a mistake here, they go all in on the product development and marketing without even proper development and business plan. There are many steps involved before committing to full on development. (Maybe I’ll cover those in some other blog.)


> 💡 **TIP 1: Save money by building something trivial but functional first that can help you validate the idea. It does not have to be an app or a website. It could be a simple spreadsheet also.**


Most of the time they end up losing money and sometimes reputation too. You certainly don’t have to sell your house to validate your product idea.


Returning to the original question how much does it cost to build an MVP (minimal viable product)?


Well, the answer varies on the requirements of your MVP. Let’s assume you need an android or iOS app or both for your MVP or initial version. The effort in building any native mobile app from scratch is significantly high when compared to web apps. It takes around 100 hrs just to write basic building blocks of an native app and time increases based on complexity of business rules.


You can easily save time and effort by choosing a cross-platform technology like [**React Native**](https://reactnative.dev/). This helps you in jumpstarting the native app development with little knowledge on native languages like Java/Kotlin (used to build native android apps), Objective C/Swift (used to build native iOS apps).


> 💡 **TIP 2: If you need an app for your idea, choose a cross platform technology to build it. This will help you build it faster, iterate over features quickly and roll out to users in shortest amount of time without burning a hole in your pocket.**


Honestly, [**React native**](https://reactnative.dev/) has become pretty good in 2023 and [**expo team**](https://expo.dev/about) has made it even easier for any javascript developer to build cross platform mobile apps. No matter what stage you are at as a company you should almost always bet on react native because it’s very stable and rapid to develop. If you’re just starting out or you are already at startup level you should save costs on technology by leveraging [expo](https://expo.dev/) and react native ecosystem. If you google how to build a mobile app for android and iOS you will find tons of frameworks and technology to do it. But, broadly speaking there are two type of app development native and cross-platform, cross-platform being the quickest of the two.


> 💡 **TIP 3: In 2023, you can use** [**React native**](https://reactnative.dev/)**/Expo to build prototype apps as well as high traffic  professional quality apps**.


Let’s discuss a development plan where you want an app (android/ios) that users can use to find their morning ride to office. **A social carpooling app**. Now, before making this into a flow blown app something like the Uber and then launching it to your customers, what you should do first is to figure out if the users actually want to carpool with strangers in their area?  Just ask around, interview people. Once, you are sure then you should test it by giving them an app.


For, this you can start with simple website that lists all the available cars from region A to region B in that city. Mobile devices are more common for such services so let’s focus on building the iOS and android app. Breaking down the requirements looks something like :

- people signup into your app,
- they share some identity like driver’s license and other relevant information,
- they can view available car pools for today,
- they can send a request to join a certain car pool,
- and they have the an option to host a car themselves and approve new requests.

What I just did is to write down a high level overview of what app should do and this should be enough to validate our idea. As you can already see we need at least 5 screens already for our app. Imagine building these same screens separately on iOS and android & this will also need a backend. 😱 Thus, by using a cross platform framework like React Native or [flutter](https://flutter.dev/) we can save time and cost on app and maybe spend that time on building a robust server. Because at the end data is what matters in this century.  So I’m picking expo for few simple reasons,

- it’s open source & it’s based on Typescript and React,
- it complies down to actual native code for both android and iOS unlike flutter,
- it has relatively less steep learning curve, it’s easy to find devs or train React devs,
- it has good support/libraries for camera, location, bluetooth etc, all the common native functionalities,
- it is extensible meaning you can write custom native plugins if existing components or libraries are not suitable enough.

> 💡 _Also, why not Flutter? will be answered in an separate post._


My next post will be on setting up a React Native app with expo. Stay tuned and follow me on whichever platform you are reading this.


> PS: I provide free consultation on MVP Planning. I do a 1 on 1 session where we figure out the viability of your idea and how to bring it to life in most appropriate and quickest manner possible. If you are struggling with making right technological choice for your Product feel free to reach out. You can book free consultation [here](https://calendly.com/niraj-mukta123/introductory-call?month=2023-09).


This article was publish on _medium_, _devto_ and _hasnode_ using [buzpen](https://buzpen.com/).