Book Image

Mastering F#

By : Alfonso García-Caro Núñez, Suhaib Fahad
Book Image

Mastering F#

By: Alfonso García-Caro Núñez, Suhaib Fahad

Overview of this book

F# is a multi-paradigm programming language that encompasses object-oriented, imperative, and functional programming language properties. Now adopted in a wide range of application areas and is supported both by industry-leading companies who provide professional tools and by an active open community, F# is rapidly gaining popularity as it emerges in digital music advertising, creating music-focused ads for Spotify, Pandora, Shazam, and anywhere on the web. This book will guide you through the basics and will then help you master F#. The book starts by explaining how to use F# with Visual Studio, file ordering, and the differences between F# and C# in terms of usage. It moves on to explain the functional core of F# such as data types, type declarations, immutability, strong type interference, pattern matching, records, F# data structures, sequence expressions, and lazy evaluation. Next, the book takes you through imperative and asynchronous programming, F# type providers, applications, and testing in F#. Finally, we look into using F# with distributed programming and using F# as a suitable language for data science. In short, this book will help you learn F# for real-world applications and increase your productivity with functional programming.
Table of Contents (16 chapters)

Summary


In this chapter, you learned how to create cross-platform desktop applications in F# using Fable and GitHub Electron. Moreover, you can recycle your knowledge of web technologies when building applications with Electron, making it much easier to share code between different versions of your app.

Although we could not cover them here, there are also many more possibilities to write applications in F#. With Fable, it is also possible to use React Native to create mobile apps that use native components, and using the open source Xamarin tools, you can write a single code base that has access to the full .NET framework and compiles to native code both on iOS and Android. And obviously, it is possible to create desktop applications for Windows using the well-known Windows.Forms and Windows Presentation Foundation (WPF) framework, with support for native universal apps that can run on multiple Windows platforms coming soon, such as Windows 10, Xbox, and so on.

In the next chapter, you will...