🧑‍💻 If you’d start your own mobile app tomorrow, what technology would you pick? (+ what I’d pick after 11 years of app development)

I’ve been building mobile apps since 2015, and here’s how my answer changed over the years:

1. Native iOS
That’s what I started with, what I knew best. However, it made sense, because despite having fewer users than Android, iOS users were more willing to pay 💰 for premium features.

So, for a personal app aiming to bring some side income, iOS was the easy pick.

2. Flutter
I learned native Android after iOS, and I loved it, but building 2 separate apps would’ve taken almost 2x the work 🧑‍💻 so the natural upgrade was either Flutter or React Native.

After countless comparison videos and articles, I decided to learn Flutter. It was well documented, had better UI performance, and Dart + the Flutter APIs were more similar to Swift/Kotlin (native iOS/Android) than React Native.

3. Kotlin / Compose Multiplatform
This was the best route for native developers, especially Android devs 📲 Same language, environment, plus the possibility to build iOS UI in SwiftUI, for that native iOS experience. Not 100% code reusability, but still better than with separate apps.

In 2025, Compose Multiplatform became stable for iOS too, so we had the best of both worlds: shared logic, shared UI, and easy access to native features whenever needed. However, the iOS UI wasn’t exactly native anymore.

Now - Native apps again?!
Now I’m contemplating if it’s worth it again to make 2 separate native apps, since AI speeds up development so much 🤔

This removes the dependencies headaches and the interoperability problems, but we’re left again with 2 apps to build and maintain. This costs at least 2x the tokens + keeping them in sync all the time.

What do you think? What would you pick (or have you picked if you started already)?

#mobileappdevelopment #programming #ios #android #flutter
Post image
1.2K
📱How will Flutter handle iPhone Duo?

As a mobile / iOS developer, when I see Apple announcing new devices I can’t help but think at the technical aspects 😅

So, I did some research and prepared this summary, in case you’re curious too:

𝗧𝗵𝗲 𝗚𝗼𝗼𝗱:
On Android foldables, Flutter already provides MediaQuery.displayFeatures. It exposes feature type, posture state, and bounds for hinges/folds.

For a dialog or pop-up that should stay entirely in one pane, there’s DisplayFeatureSubScreen, which choses the closest sub-screen to an anchor point you’re giving it.

So, you can build the UI to look good for multiple sizes, and it will adapt according to the layout you’re using each time.

𝗧𝗵𝗲 𝗕𝗮𝗱:
The displayFeatures are documented as “Android only”. So, for iPhone Duo specifically, we need Flutter to bridge Apple’s new foldable-window APIs into the framework.

Besides the portrait/landscape and small screen / big screen switch, we have a new state to deal with: dual-pane layout 😬

This means we need to adapt the UI to more situations, and most likely to revisit navigation, create list/details flows, or deciding how to show modals, how to split the UI elements, and so on.

𝗧𝗵𝗲 𝗨𝗴𝗹𝘆:
In addition to the new layout, there’s also: handling state across resize and partial folds. You know, the laptop-like angle.

Do we handle it like a left/right? Like a full screen? Top/bottom? 😅 You’ve probably seen Apple’s videos, the native apps nicely show the main UI on the top, and controls on the bottom.

To leave you with some hope, in Flutter there’s DisplayFeatureState.postureHalfOpened for Android which reports this, so with some additional work, we can make our apps handle it nicely.

The next posts will be about how to work with this natively on iOS, with Swift, and maybe also with React Native if you’re curious. Stay tuned.

💬 What are your thoughts about the iPhone Duo and developing apps for it?

#flutter #iosdevelopment #mobileappdevelopment #programming #iphoneduo
Post image
1.2K
Sona ulaştın 🎉