To be able to create something usable on every platform, I choose Cordova. Cordova is also great because we use HTML/CSS.
I created a few application (mostly for android), and here is what I can tell about Cordova.
I created an aplication that allow me to browse images sites (like deviantart or artstation) in one single place. Cordova was my choice in the beginning, because of its popularity and because I would be able to create a desktop application with minimum effort (now we can do it directly in Cordova, before we had to make some changes to make it Electron).
It's great to work with html/CSS, but unfortunatly, everything doesn't go as smooth as we would like to. The gestures are not well handled, and it's very difficult to find something that works on every plateforms. Yes, we have to do different code for the plaforms running on Chrome desktop (windows/electron), Chrome mobile (android), or Safari (iOS). So finally I worked only with Chrome mobile. The problems here are the problems encoutered when developping a website, of course.
But anyway, I managed to make what I want almost from scratch, since a lot of library were just overkill or simply didn't do what I wanted. But to make it work, I had, of course, to use a single-page mechanism (like View.js). Because Cordova is like that. With that, we can make a lot of pages without worrying.
I found a lot of problems when I used Cordova, but that was not that bad. In fact, with Cordova, it's pretty easy to be started and create something without knowing much about Java/Swift/whatever. And also afterhand I was able to run my application on my web browser, and on electron, wich is quite awsome.
I don't know if I'll use Cordova again. If I use it again, I think it would be because I know how to use it. But if I want to create an android application, I think it would be much easier to create one with Java in android studio. It can still be great to create multi-platform application though.