All depends on how polished your UI needs to be. Anything too polished and you're better off going straight Xamarin or pure native.
Also note that my experience with this is building an extremely simple business-y app for internal users.
1. Its moving fast so documentation is lacking and the "right" way to do something, posted 6 months ago, is wrong\deprecated\wonky
2. The tooling leaves a lot to be desired. Although this has greatly improved, there are still tons of steps to publish (https://developer.xamarin.com/guides/android/deployment,_tes...).
3. Updates constantly breaking things. To be fair, this is also improving
4. There may still be instances where you have to drop into native code or split code based on platform. This means you sometimes will need to know: c#, xamarin.forms oddities, java\android stuff AND objective c\iOS. This may not be an issue for simple apps
5. UI builder is limited. The apps will be native looking but you won't be winning any design awards. Some things also seem impossible so it helps if the customer\designer\stakeholder is really flexible. If someone asks for an app to collect and display data, you will probably be ok. If they give you pixel dimensions and other minutiae run.
If it's more about the technical details, such as general issues regarding cross platform UI frameworks, I think we're way past that point considering HTML5/Js :)
Or the lack of integration with native animation frameworks, widgets, behaviours and system APIs, even with HTML 5.
Or hacks like Service Worker with in browser database, to be able to write offline apps, something that just works out of the box in native apps.
I get now why people use Electron. It's 2017, Qt has been around forever, and they still haven't figured out the fricking deployment issue! You still have to cobble together a bunch of scripts and otherwise crappy solutions to get something that runs on Linux/Mac/Windows in any shape or form that approaches "out of the box" and "continuous integration".
If you want extra layers of pain, try to use any of the Python bindings for Qt on mobile :D
On the other hand, Xamarin.Forms had an announcement recently, an announcement that Hacker News missed. I submitted the news a few days ago but it didn't reach the first page:
https://news.ycombinator.com/item?id=14383467 ->
https://blog.xamarin.com/glimpse-future-xamarin-forms-3-0/
TL;DR:
Xamarin.Forms will support desktop environments:
- Windows (WPF)
- MacOS (Cocoa)
- Linux (GTK#)
This is on top of the mobile bits: iOS, Android, UWP.
As an added bonus, they've added Xamarin.Forms embedding into native interfaces.
It's actually major news since Xamarin.Forms would become the first cross platform UI toolkit that:
1. supports both desktop and mobiles
2. is backed by a major vendor
3. is truly usable from a memory managed language as part of the core offering