Nika

For which operating system is it better to build the mobile app first? (And why?)

I'm doing research on which OS is worth making an educational app for, and jotted down some pros/cons for both iOS and Android.

Android:

– It is known that there are more Android users, so you can potentially have a larger testing/user base.

– You don't pay any fee when publishing an app on the Play Store.

– The opposite is that Android is used by different devices, so optimisation can be difficult.

iOS:

– iOS users are more willing to pay (and I'm already used to iOS).

– The disadvantage is recurring payments in the App Store every year (about $100).

Several people have advised me, for example, the Ionic Framework or Flutter, which would allow for cross-platform development.

From your point of view, which platform is worth making an app for?

Do you know any good alternatives to Flutter and the Ionic Framework?

253 views

Add a comment

Replies

Best
Alberto Luengo
I use expo for cross-platform development. Still, iOS is way more troublesome, from native modules to UI peculiarities, to OS strictness about memory and rendering load, to build configurations, to App Store listing and review… unless you’re doing something very simple, Apple is inevitably gonna be more troublesome. For context our android review was automatic. No check, no nothing 😂 With iOS they really do login, test, request changes and back and forth. But you do have a fair share of work to do for Android, and for most cases it has a fee too (25$ / year) Regarding frameworks. I loved the idea of flutter but hated the actual experience, it is way less intuitive and useful than react / expo. Ionic too, both flutter and ionic feel overly complicated in developer experience and like a toy in what you can do with them. Expo is hands down the best right now.
Nika

@alberto_luengo What if I am a total newbie in programming? Is there any chance I can manage it with expo?

Alberto Luengo
@busmark_w_nika tbh I think expo is way more intuitive than flutter. In expo the code is more “readable”, you are programming functions and passing data through them to be transformed. Flutter is more object oriented with weird conceptual stuff they call widgets (not the ones in your lock screen), which are less obvious to understand. Also expo and react native have tons of libraries and ui components, as though they were templates. I don’t quite do that stuff, but I know people who literally use tailwind and shad cn for everything, and they even claim ai assistants handle it well. I don’t think for simple stuff it should be harder than other frameworks, quite the opposite.
Nika

@alberto_luengo so do you think it is possible to build a language learning app with Expo totally without struggles?

Alberto Luengo

@busmark_w_nika I don't see why not. Even if you were doing super custom stuff. Our app Rkive is as custom as it gets, and we managed to do it. But mind that expo (and the rest of frameworks) doesn't really simplify complex stuff for you, it simply lets you have a unified frontend code rather than separate apps for each platform. If you want to make a duolingo kinda thing, you're gonna have to deal with all the complexities involved it even if you have a unified cross-platform frontend.
That said, if you're making something simple, pretty doable and recommendable. Do not have platform-specific frontends if you can avoid it, there's no benefit to it.

Konrad S.

@alberto_luengo  @busmark_w_nika Programming is never without struggles ;)

But don't worry, otherwise it would be boring...

Konrad S.

If the app is successful you'll sure want to publish it for both platforms eventually. And cross-platform frameworks like Flutter can sure save much time here.

However, since you're new to programming and publishing apps, I'd concentrate on one OS first and develop the app natively, you have one "layer" less that way. Writing the same app in another language and for another platform later will be a good exercise and give you the opportunity to improve the architecture.

What kind of educational app are you planning?

Nika

@konrad_sx the thing is that I want to primarily focus on iOS, but do not wanna miss Android too (but I know that I would enjoy Android building less, so I want to cover both, but iOS is the goal, so I can use the predominantly for myself). Wanna try learning languages app (to start with a few languages, but for me, the most favoured will be German and Spanish) :)

Konrad S.

@busmark_w_nika Then just start with iOS! AI should be able to "translate" it to an Android app later: https://chatgpt.com/share/6914df63-6cd4-8003-9e2b-f078d66f0016

Are you missing specific features from other language learning apps?

Nika

@konrad_sx Is iOS easier than flutter?

Konrad S.

@busmark_w_nika I don't know, but I don't think it's much a difference.

But as said, with Flutter you'll have another "layer" to deal with, using Swift with Xcode is the direct and standard way to develop iOS apps.

Vitaliy Mokosiy

I would go for Flutter covering both user bases. Just because it is a significantly faster development and yet simple enough with Dart language.

It would be my number one choice for the first app and for any further apps that are not extremely demanding in terms of performance.

Nika

@vitaliy_mokosiy1 How difficult is it for a total newbie in coding and programming :D (ok I have some basics in HTML, CSS and saw some things in Python and JS)... but I am not working with that.

Vitaliy Mokosiy

@busmark_w_nika It really depends on the app complexity in the first place. If the app is simple and can be vibe coded with Lovable or v0.dev, Flutter is a good way to go. However, you will need to be diligent in learning from the generated code and adding/changing small pieces of code yourself. If the app is complex, it requires breaking it down into many learning steps. It's better to start with something simple and build on it to learn coding skills.

Nika

@mokosiy I think it will be complex, but I want to have it like a project I can learn from.

Tetiana

According to these statistics with Android allows you to reach a larger user base: https://gs.statcounter.com/os-market-share/mobile/worldwide
It also appears to be more cost-effective. I’d probably start with Android and run initial tests on that audience.

Nika

@tetiana_hryshmanovska I have heard that Kotlin is more difficult than Swift tho :D

Jaga Deep

I am currently developing an app for both platforms using expo. but I am currently only publishing in android just to test the market. Once I feel the Idea is worth it, I am planning to move to IOS.

Nika

@jaga_deep This? Can it be used for creating a learning app? https://expo.dev/

Jaga Deep

@busmark_w_nika yes, it can be used to create basically whatever you want for mobile devices. Ofcourse it is not exact replacement for native development but still lot of production apps use expo. A learning app can easily be created with this.

Nika

@jaga_deep Even a newbie like me can understand it? Are there enough tutorials on YouTube?

Jaga Deep

@busmark_w_nika that depends on how much you know coding. One of my latest app. I created using expo with vibe coding in 2 weeks. I used traycer.ai and github copilot.but I still had to touch the code to get the UI I want. You need to know reactJs and JavaScript and css for that. The functionalities were easily done with just prompts.if your ui is not too much of design u can vibe code your app easily peasy. My current app is 99% coded by AI and 1% by myself for UI enhancements.

Abdul Rehman

I’d start with iOS first if your app has strong monetization potential. Fewer devices, smoother UX, more paying users.

Nika

@abod_rehman but I would like to cover both systems, but without the need to do coding/programming twice (iOS and then Android)... so that's the reason why I want to solve it only via flutter.

Priyanka Gosai

Love your breakdown, Nika! 🙌

From my experience, it really depends on your early goals, if it’s testing product-market fit quickly, Android can be great because of the larger user base and easier publishing. iOS, on the other hand, can be better if you want to validate monetization potential early, since users are more willing to pay.

I’ve also seen teams use React Native successfully for cross-platform apps keeps development efficient while still giving a native feel.

Curious what’s your top priority: testing adoption or monetization first?

Nika

@priyanka_gosai1 I want to predominantly create something functional (so need feedback and user base) – then monetise. But predominantly, I wanna learn a language. Because after 3 years of learning in Duolingo, I am soo poor in languages :D

Irish Blaze

I think it depends on what you value more. iOS is cleaner to build for and users tend to spend more, but the yearly fee is a downside. Android gives you a wider audience and cheaper publishing, though testing across devices can take extra time. If you want both without doubling the work, Flutter or React Native are still the strongest choices for getting cross platform results with one codebase.

Nika

@irish_blaze Is it easy to learn?

Elizaveta Lukianova

I'd agree with most of the comments and suggest going with cross-platform (I personally prefer Flutter). I think the biggest difference is that IOS requires more manual settings (permissions etc) then Android. On the other hand, the release itself is easier (and faster!) for IOS - that's what I've been feeling lately. So my advice is to go with cross-platform and try to release both apps - IOS can be released faster and you will be able to gather feedback from IOS users (and beta AOS users) before rolling out the release AOS version!

Nika

@elizaveta_lukianova1 TY! Probably will try Flutter :)

Nick Zaytsev

If I were starting a new mobile app today, I’d choose Flutter without hesitation. It lets you build fast, ship to both platforms, and still keep near-native performance.

Nika

@nick_zaitsev1 Do you have experience with Flutter? Is it suitable for a total newbie in coding?

Nick Zaytsev

@busmark_w_nika Yes, and Yes) Maybe start with this book https://www.amazon.com/Beginning-App-Development-Flutter-Cross-Platform/dp/1484251806. If you have any questions or need further advice in your study, reach out.

Nika

@nick_zaitsev1 Thank you, I always appreciate good literature! :)

12
Next
Last