The Future of Mobile Apps

What do you all think about the future of mobile apps with respect to Native, PWA’s, and web apps?

I’m about 50% of the way through an iOS course. I’m thinking about quitting because conceptually, it just seems inefficient that anybody should build both an iOS and an Android app. Also, I just don’t like a lot of things I’m seeing from Apple and (to a lesser extent) Google.

Originally, I signed up for an iOS course because I think that there are a lot of things you can do with React Native, but there’s a lot of uncertainty over the ability to access certain features such as Face ID, Cameras, and Microphones. Sure, Apple might allow access to the Microphone today, but maybe they shut it off to non-native apps on a Tuesday.

I really like the concept of PWA’s, but it doesn’t seem like the 2 big OS’s will fully embrace them for the foreseeable future for obvious reasons.

Does the uncertainty make it difficult for you to decide where to invest your time in learning new things?

  1. 8

    Android Native here, I think future is in the Flutter.
    Is gaining big popularity. It's super easy to build on both platforms (and also other - web, desktop...) and looks good too.

    1. 3

      If they keep Flutter going, it will be amazing. I've done a few small apps that work on macOS, iOS, Android and web and it's great!

    2. 1

      How often do you run into problems where iOS doesn’t let you access an API (like face ID or the camera) from apps that you built with Flutter?

      1. 4

        Flutter creates a "runner" app, that is basically an iOS app - so you can add native code. You give permissions the same way - in a plist.

      2. 3

        I haven't had many issues. Also, you can write native code and talk to it with flutter, so if you need additional functionality you can always do that. Downside is you'd have to write support for Android and iOS separately, though many things already exist in plugins you can download.

      3. 2

        Didn't need to do it yet

  2. 4

    I think that the future is Kotlin Multiplatform, associated with Jetpack Compose for Android and SwiftUI for iOS, or a tool that will allow you to write the UI only once and generate the code for both platforms.
    Actually, it's possible to use Multiplatform for code + Flutter for UI, or simply Multiplatform + native.

    I think that Netflix starting using Multiplatform is a good sign.

    1. 2

      I agree, as a native Android dev the experimentation I've done with Kotlin Multiplatform so far has completely shifted the way that I see app architectures moving forward.

      We've already writing all of this Presentation+Domain+Network code in mostly pure Kotlin for our Android app, so why not remove the few Android-related dependencies and gain the ability to compile for all platforms?

      Then you just need to connect a little bit of Jetpack Compose and SwiftUI and all of a sudden you have working Android, iOS, watchOS, and macOS apps. It's amazing.

  3. 3

    My full time job uses a mix of native and react native. We’re pushing towards full react but it’s important to remember you can use a bit of both if you need to.

  4. 3

    I can recommend React Native as well. I recently tried the Expo-Workflow and really enjoyed how easy it was to get an app to the Appstore.

    PWAs are not there yet unfortunately. What you can do though, is have a React Native app that opens the PWA in a Webview. That way you can at least send notifications etc.

    At the same time I don't think native app development will become obsolete in the near future (or at any time really). Especially new platform features can only be made use of immediately if you have a native app. But surely, for many products this will not justify the costs.

  5. 3

    I can speak to the iOS side. The iOS platform is undergoing a major shift with frameworks like SwiftUI. While these do have a learning curve, you code at a higher level of abstraction with Apple handling more of the details. The result is a more standard interface with lesser effort. It also allows more code reuse across other devices such as iPad, Mac, Watch,etc. Presumably, this will help with supporting newer platforms such as AR/VR.

    So you can expect lower effort with more addressable platforms with Apple's frameworks at the cost of (possibly) a steeper learning curve (depending on your background).

    What you use depends on the functionality of your app and how close you need to stick to native UX patterns.

  6. 3

    Tried PWA, and I just don’t feel that it’s a viable solution for most users (literacy-wise, like asking them to pin to desktop, doesn’t work in firefox, notification is so messy). Some users just prefer using a real mobile app and find your app on the store.
    Handling navigation (using the stack/switch etc) is so complicated on PWA, since you have to additionally think about the desktop version for the look and some behavior.

    I moved now to React Native and happy with that, since I can:

    • share code between mobile and web app (landing page with common components
    • release via AppCenter aka CodePush for when I don’t add any native codes, so that I don’t wait so long for the review process.
    • never code on native, but being able to just use VS code instead of of Xcode or Android Studio is just a much more pleasant experience.
    1. 1

      Tried PWA, and I just don’t feel that it’s a viable solution for most users

      I agree, but from a principal point of view, I just don’t like how Android and iOS purposely make it a 2nd class citizen. They will always obviously hide behind device security as a reason, but I don’t believe that is their primary motive.

      I think the world would be a better place if PWA was given a chance by the device manufacturers.

      Even Huawei, which has every motivation in the world to give more access to PWA’s, is building it’s own OS and app ecosystem instead embracing PWA’s.

  7. 1

    This comment was deleted 5 months ago.

Trending on Indie Hackers
Best Gumroad Day Ever 18 comments 4 of my biggest mistakes from 2 years of building 👎 16 comments Uncomfortable = Learning 12 comments "all that can be invented has been invented" syndrome, how do you deal with it? 11 comments From 13 followers to 1000 in less than 2 weeks 😱 9 comments My Newsletter Mention Brought More Traffic Than Product Hunt 3 comments