With the recent advance of mobile apps and web apps based on HTML5 and JavaScript, you might think that native desktop applications are no longer relevant. This couldn’t be further from the truth—the majority of business applications still run on the desktop. Many domains still require sophisticated user interfaces; they need to perform complex computations efficiently (benefiting from multiple CPUs) and display rich, interactive visualizations.
Two things are crucial for the development of rich desktop applications. First, you need a powerful framework that allows you to build the best user experience by taking full advantage of the capabilities of the underlying system. For Windows, Extensible Application Markup Language (XAML) based frameworks (Windows Presentation Foundation [WPF], Silverlight, and Windows Runtime) are the de facto choice. Second, you need a programming language that makes it easy to express the domain model and encode complex user interactions.
From a business perspective, the most important reason for adopting F# for desktop UI development is handling complexity. User interface development isn’t easy, and you need a language that lets you build the right abstractions. At the same time, the rich type system of F# gives you many correctness guarantees.