Building once and running everywhere is always a good practice. In a great Esri session Thursday, the presenters went over all of the languages that Esri Runtime supports for cross platform development. These include Java, Qt and .NET/Xamarin. Most of my experience with cross-platform development has been with .NET/Xamarin so it was a great session to see what the other two could offer. With Java you get consistent behavior, but it doesn’t run on mobile devices, desktops only.
Qt however, surprised me. What I’d previously seen of Qt, I wasn’t considering using it for any cross-platform development. Now, though, I would consider utilizing it in the future depending on what devices the application would need to target. Qt can target my devices than Xamarin with its C++ core architecture. Also, programming in Qt has two separate approaches. You can choose either the flexibility either a JSON / CSS like QML format or developing in the complicated but powerful C++ language. Qt feels more like an option created for quick iterative prototyping, but with heavy lifting when necessary. To add in an open source community and support for native device sensors, it does indeed seem to do it all.
Stay tuned for more updates on Esri #DevSummit2019 on www.gisinc.com/blog.