Here are some common reasons to build a native desktop app:
Needs to work reliably when not on a network
Needs to offer reliable sync services
Familiar look & feel
Local CPU/GPU processing
You don't want to pay for all of the compute, data transfer and storage costs
You want to use better/faster graphics than WebGL
Local file system integration
Speed, ease-of-use, drag-and-drop, etc.
Local network access (for example, management of IoT devices on the local network)
Deploy to app stores to reach new customers... -or-
Make more money - app stores typically charge 30% of revenue. Build, sell and distribute your application directly to your customers.
Desktop Development Challenges
Unfortunately, building and deploying a native desktop application does come with a few challenges. For example, how large is the deployed application? In a world of frequent updates, how do you manage deployment of updates to users?
Zadt offers solutions for these challenges - automatic updates, crash reporting, analytics, and more. We also offer free, open source templates to help get developers started quickly.