The .NET ecosystem has incredible breadth—by enabling you to run .NET code on various platforms, like on your phone, the X-Box gaming system, or even on the Internet via Silverlight. It also has incredible depth—by providing a wealth of powerful libraries from visualization, to communications, to databases, and so on.
This appendix provides a quick overview of some existing .NET libraries that can help you transition from the sample applications in this book to real-world problem solving. The APIs covered are divided into three main areas: visualization, data processing, and storing data.
F# is a great tool for processing raw data, but visualizing that data doesn’t need to be constrained to just the command line.
There are two main visualization APIs available for .NET: Windows Forms (WinForms) and Windows Presentation Foundation (WPF). WinForms is the older of the two and is an object-oriented wrapper on top of core Windows APIs. With WinForms, it is easy to create a functioning UI with buttons and common controls, but it can be difficult to create a rich and dynamic interface. WPF, on the other hand, is a much more design-centric library that allows for sophisticated interfaces at the cost of added complexity and a steeper learning curve.
F# doesn’t support code generation, so you cannot use the WYSIWYG editors of Visual Studio. The examples you see in this chapter build UIs programmatically; however, it is recommended that ...