
Ask HN: Framework to build cross-platform apps for both mobile and desktop? - SZJX
I&#x27;m building an app which needs to leverage functionalities native to the target platforms (e.g. menu bar on MacOS, widget&#x2F;notifications on mobile), therefore a purely web-based frontend wouldn&#x27;t suffice. Since this is a solo project for now, it would be much more realistic for me to use a framework which allows me to reuse as much code as possible across different target platforms.<p>I found some Ask HN posts on this, but many of them are 3 or 4 years old. Since this landscape is apparently evolving very rapidly, I thought it would make sense to ask it again. What would you recommend based on your experience?<p>Some of my more specific questions based on a preliminary research (feel free to skip them):<p>- Seems that the current frameworks are mainly divided into two camps: Xamarin.Forms vs. JS-based solutions. I am curious about how bug-free Xamarin.Forms is. There is even a project[1] that facilitates using F# with Xamarin.Forms, which sounds great since I want to write as much functional code as possible. But I heard some concerns over Xamarin.Forms&#x27; development speed and reliability on different platforms.<p>- There are several JS-based solutions, e.g. Ionic, Quasar, Framework7. But it&#x27;s really hard to tell the difference between them at first glance. Apparently they all offer desktop support by eventually leveraging Electron, but how different are they in terms of development experience, features and support, especially for a solo developer?<p>- Flutter seems to have generated a lot of attention, but it doesn&#x27;t seem to fully support Windows&#x2F;Linux yet, though that&#x27;s on the roadmap. Should I skip it because of this, or can I count on the support (at least for Windows) being available soon?<p>- The above question sort of applies to React Native as well, which does have Windows support by MS but doesn&#x27;t seem to have reliable Mac support yet (Maybe I&#x27;m wrong).<p>Thanks!<p>[1] https:&#x2F;&#x2F;github.com&#x2F;fsprojects&#x2F;Fabulous
======
csymlstd
I don't have any experience with .NET or F#, mainly JS. Out of all the JS
frameworks of current and past like PhoneGap, Ionic is the current Lexus of
web based app frameworks. I found that they also broke it all down into a core
project called Capacitor that is essentially just an event bridge between your
web app and any OS api available. It supports iOS and Android, and seems to
have some gateway into Electron for desktop support. But either way, if you
have a front end that uses webpack, you could spinup a cross-platform and
cross-device app relatively quickly using Capacitor and Electron. It would
also take figuring out a little bit of XCode/Swift and Android Studio to write
the notification integration.

[https://capacitor.ionicframework.com/docs/apis/push-
notifica...](https://capacitor.ionicframework.com/docs/apis/push-
notifications)

