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.

ArcGIS Runtime SDK for Qt

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.

Unit Testing for Esri Developers

I also attended a session on Unit Testing Thurday. Test Driven Development is a great method of development which is easy to get out of practice with. However, the tools that are available now with JavaScript are bridging the gap though between too much effort to stick with and too much of a benefit to keep passing up. The low cost and time effort pay off when considering the high cost of bugs at the end of the project. We saw some great examples using Intern and SinonJS as well as how to integrate the tests with Esri’s JS API. Mocking and spying on the calls helps keeps tests simple and effective at testing just what is needed to test. Also, some good Web AppBuilder widget practices were discussed. We’ve already started down the path of writing some of our widgets for the WAB into their own JavaScript projects and then the actual WAB widget is just a wrapper for that JavaScript project, but hearing that appears to be a best practice from Esri is always positive reinforcement.

Stay tuned for more updates on Esri #DevSummit2019 on www.gisinc.com/blog.