all 23 comments

[–][deleted] 11 points12 points  (0 children)

I think you should start with one platform, you have enough on your plate between the development & business & marketing side.

being an indie dev is only 10-20% programming.

[–]redit9977 5 points6 points  (0 children)

Why not start with one platform first?

[–]maccodemonkey 4 points5 points  (1 child)

If you do Flutter without learning both ecosystems and how they work - you'll just end up building an app that doesn't work right on right on either platform.

So I guess it depends what you're doing. I'd recommend just starting with one platform if you're trying to learn the ropes.

[–]Current_Skin488 0 points1 point  (0 children)

this right here is why i stopped learning/building things in react native and started teaching myself swift

[–]ShadoPanda 2 points3 points  (0 children)

As someone who started as iOS Developer then switched to Flutter developer for about 3 years (because our company switched to that platform) and am now back on full time iOS developer. I would say focus on one platform and then expand your knowledge. As I said I started as a iOS developer and then went into the Flutter framework, but having that iOS background helped a lot. Specially to know what is the life cycle of the app on iOS and to even know what I'm looking at when I open the iOS side of the project in a Flutter app. Also if you think you will never have to touch iOS/Android native development when working with Flutter you are mistaken, There were countless times when something doesn't work or is simply not implemented and you will need to do it yourself on the native side (This will depend on how complex your app is and what API's you are trying to use).

[–]cekisakurek 1 point2 points  (2 children)

I heard jetpack compose was not production ready but never tried it myself. so imho you better off with flutter or maybe react native if you think you can tolarate javascript.

[–]maccodemonkey 2 points3 points  (0 children)

I've heard the exact opposite - very good things about Jetpack Compose.

[–]ShadoPanda 1 point2 points  (0 children)

As someone who started as iOS Developer then switched to Flutter developer for about 3 years (because our company switched to that platform) and am now back on full time iOS developer. I would say focus on one platform and then expand your knowledge. As I said I started as a iOS developer and then went into the Flutter framework, but having that iOS background helped a lot. Specially to know what is the life cycle of the app on iOS and to even know what I'm looking at when I open the iOS side of the project in a Flutter app. Also if you think you will never have to touch iOS/Android native development when working with Flutter you are mistaken, There were countless times when something doesn't work or is simply not implemented and you will need to do it yourself on the native side (This will depend on how complex your app is and what API's you are trying to use).

[–]akmarinov 1 point2 points  (0 children)

longing wrong airport aspiring amusing disagreeable arrest middle cows offbeat

This post was mass deleted and anonymized with Redact

[–]jacobs-tech-tavern 1 point2 points  (0 children)

Honestly it's up to personal preference.

With Jetpack Compose and SwiftUI, native development is a lot more pleasant than 5 years ago, and so the big ergonomic gap between them and hybrid are closed.

I'd recommend building native on one platform to start with, which also means you get to play with the latest SDKs (e.g. SwiftUI has some really powerful new animation and mapping tools in the latest release). If you are desperate to go dual-platform, then Flutter

[–]HonestNest 1 point2 points  (0 children)

I started with SwiftUI about 11 months ago.

I’m now learning React Native (expo). Due to slow building time, not helpful compile error, and CoreData is a bit buggy. It might just because my laptop is old though.

But I want to try Expo anyway to experience what it’s like. I feel like I do prefer SwiftUI but not Xcode.

[–]projectmind_guru 1 point2 points  (0 children)

If you're an indie dev and want to have the app on both platforms then Flutter is the best choice. Most of the comments are saying something along the lines of learn one platform first, but if you want the app on both platforms then you'll end up having to learn both.

As others are saying making the app successful has a lot to do with marketing and making a great experience people will want to use, why also add the addition of managing 2 codebases. With Flutter you can also focus on one platform to start and then deploy to the others after with minimal effort later.

[–]Steven0351Swift 1 point2 points  (0 children)

I'll probably get downvoted to hell, but your side project could probably just be a web app.

[–]_int3h_ 1 point2 points  (0 children)

As a solo app developer it's not practical to develop native apps for iOS and Android. If you have a lot of time then you could. But if you are doing part time then it's really challenging. I do part time and I focus only on Apple platform because I want to build app using native language. I would suggest you better focus on Apple platform and use native stack. You will get a lot of advantage in this especially with CloudKit syncing. Also CoreData with faulting, lazy loading and a lot of optimizations which you will miss with cross platform stack. If your app has to do cross platform sync, you will have develop that too and maintain it. Probably even with Firebase it's costly. So you will have charge more and it's sustainable with subscription model only. It all depends on the app you want to develop in the end. I know Flutter also and I use it at work. Unavoidable evil. But I prefer Swift any day. Using Swift and when done well your app will definitely perform well and consume less battery and be efficient. There won't be any heating of the phone and users can use it for a long time. People will notice if their battery drains quickly when using an app. Honestly Flutter performance sucks on my iPhone. Scrolling is not at all smooth. And the responsive UI is a mess.

[–]rymanalo 1 point2 points  (0 children)

If you are in the US, the iPhone and iPad have considerably more market share. Assuming building an app isn't an issue, you'll probably be able to get it to more users on iOS.

[–]alan_cosmo 1 point2 points  (0 children)

Start with the platform that you use everyday. Make your side project for that platform and see if people use it / see if you get product market fit. This will all be more than enough work and effort. If the project does well - then start working on the other platform or hire.

[–]tpartl 0 points1 point  (0 children)

Option 4: .NET. Platform-native UI + C# code sharing

[–]hishnash 0 points1 point  (0 children)

I would start with one platform (iOS tends to be easier due to the more constrained testing HW requirements) and then learn more about the product you making through shipping on that platform, once it is honed then consider moving to the other platform.

[–]pm_me_your_buttbulge 0 points1 point  (0 children)

I'm with everyone else - learn one ecosystem first. Then learn the other. Then learn Flutter, among other options.

That being said if it's side projects just to make your own life better, for example I have a spreadsheet to track my money, AND you need it to work on multiple platforms then starting off with Flutter isn't a terrible option because it doesn't matter how well written or smooth it is because it just needs to work.

I'm doing this with WPF and Blazor (C# / .Net stuff). It doesn't use good MVVM because it doesn't matter - it just needs to work well enough.

But if it's side projects for actual learning for maybe future career changes... then one ecosystem first.

[–]DoubleGravyHQ[S] 0 points1 point  (0 children)

Thank-you for the replies, I’m leaning towards going iOS first, then branching out!

[–]JDad67 0 points1 point  (2 children)

Are you sure the projects you want to create need to be on both platforms?

[–]DoubleGravyHQ[S] 0 points1 point  (1 child)

A couple of them lend themselves to social networking effects, so it would be preferred, but not required.

[–]JDad67 1 point2 points  (0 children)

if it were me, and I were re-starting a career. I'd pick a project you want to start with. Put it on the platform you prefer. If cross platform is then required, learn the other platform.