The question is not really “what can you use?”, but what have you actually used and what’s your experience with that method or tool (Cordova, Ionic, etc)?

  • 23Ro@programming.dev
    link
    fedilink
    English
    arrow-up
    3
    ·
    1 year ago

    I saw that the question was from 14 days ago but maybe it helps:

    TL;DR:

    • Ask yourself if you aren’t better off rewriting it
    • Compare Runtime to Runtime before Framework to Runtime (sounds like you have a complete vue app already - maybe no need for Ionic and Capacitor is enough?)
    • How about Tauri Alpha (The new oxidized kid on the block)?
    • Would not use Cordova again if not forced to

    I’ve used PhoneGap a very long time ago, which, after the move to the Apache Foundation, became “Cordova”.

    It was not a great experience. But is also a loooong time ago and absolutely incomparable with todays toolchains. I’m not sure why you would want to use Cordova straight out of the box tho. Cordova and Ionic are also different things. Cordova is more of a runtime. I think the equivalent would be capacitor. Which is by default the runtime of the Ionic framework.

    Fast forward 10 years and I’ve had to make the decision, for a large team and large project, of whether we go native, or build the mobile app using cordova or ionics capacitor. It’s worth mentioning that we had parts of the apps already in a vuejs SPA. The toolchains are (nowadays lol) quite solid for both and are rather easy to use. The ionic framework comes with more bells and whistles. I’ve built POCs using both to get a better feeling - disclaimer: this is around two to three years ago.

    It also heavily depends on which APIs you need access to, it’s been three years since then, and I recon it’s better now. But there were quite some differences in what one was able to do on iOS between the runtimes. Android was rather fine tho.

    We ended up building everything in Kotlin, because the need for cross platform was gone due to business decisions. And if you don’t need to target two platforms, I’d do it again.

    But I’ve also built two big production applications in Flutter and the experience was pretty nice.

    I dabbled with Nativescript vue for a pet project, the DX was rather meh.

    Recently I’ve started deploying a windows, mac, and linux build of my companies SPA through tauri, they also have mobile which we are stoked to get started with in the nearby future.

    • Buddhist1961@programming.devOP
      link
      fedilink
      English
      arrow-up
      1
      ·
      1 year ago

      Whoa, that was really comprehensive, thanks a lot for your help. I have a couple of PWAs already done and I was looking to get them to the store without too much work, but I think to start developing the new ones with the mobile app already in mind is the better course for future projects. I’ve heard about Kotlin and maybe I should get into that. Thanks a lot for your answer!

      • 23Ro@programming.dev
        link
        fedilink
        English
        arrow-up
        1
        ·
        1 year ago

        Nice - glad to hear that it helped. If you just want to bring them “as is” into the appstores and target both platforms I’d honestly just try it with tauris alpha (if you can afford to experiment in prod) or just configure a build using capacitor. If you’ve built PWAs you are probably relying on indexedDB and such browser thingies? Not sure if you need to do something around the service workers to make it work but I’d guess with tauri that should be simpler. It works out of the box for desktop targets :)