The majority of the examples within this book were created with Visual Studio 2012. It is recommended that you use Visual Studio 2012 Professional or higher to run the examples; however, most of the examples will also work as expected with F# Tools for Visual Studio Express 2012 for Web, which was announced September 12, 2012, on the F# team blog. You can download F# Tools for Visual Studio Express 2012 for Web via the Microsoft Web Platform Installer here. Depending on the platform or framework that is being targeted, installation of the following is required:
Additional installations and/or tools are referenced (when applicable) in the appropriate chapters.
How This Book Is Organized
This book provides everything you need to know to start building web, cloud, and mobile solutions with F#. In addition, it explores many of the latest technologies, platforms, and libraries such as Windows Azure, jQuery Mobile, SignalR, CouchDB, RavenDB, MongoDB, and more. The following provides a more detailed breakdown of what you will see in each chapter.
This chapter provides everything you need to get started building ASP.NET MVC 4 web applications with F# doing the majority of the server-side heavy lifting. Additionally, this chapter shows off several advanced techniques and F# language features that allow you to write more elegant code.
This chapter introduces the tools and concepts needed to create various types of web services including WCF SOAP and HTTP services, and approaches for interacting with a few of the available web micro-frameworks. The chapter also provides information on tools and techniques that are useful for unit-testing these services.
This chapter walks you through the creation of F# web applications and web services that run on Windows Azure. Additionally, it provides F# examples for interacting with several of the Azure APIs. Lastly, it talks about a few excellent examples of libraries and runtimes that have been built with F# to run on Azure.
This chapter goes into more detail on how to use F# with other technologies to create scalable solutions that allow reuse by mobile and web frontends. The chapter includes information and/or examples for building web sockets, using SignalR, storing data in various NoSQL databases, and more.
This chapter introduces LiveScript, Pit, and WebSharper, which are tools that, among other things, allow the creation of client-side code with a functional style. These tools make it possible to create end-to-end web stacks using functional concepts. A list of advantages, information on how to get started, and examples are provided for each option.
This book also features several appendixes that provide information that can help you on your journey toward developing cutting-edge web, cloud, and mobile solutions, but that do not fall directly into the scope of the main concepts covered in the core chapters.
This appendix lists and briefly describes several tools that can make your life easier as a web, cloud, and mobile solution developer.
This appendix provides a number of links to websites that offer information on F# as well as other tools and libraries that are mentioned in the book.
This appendix briefly explores a few technologies that complement F# web and mobile development.
Conventions Used in This Book
The following typographical conventions are used in this book:
ItalicIndicates new terms, URLs, email addresses, filenames, and file extensions.
Constant width
Used for program listings, as well as within paragraphs to refer to program elements such as variable or function names, databases, data types, environment variables, statements, and keywords.
Constant width bold
Shows commands or other text that should be typed literally by the user.
Constant width italic
Shows text that should be replaced with user-supplied values or by values determined by context.
Tip
This icon signifies a tip, suggestion, or general note.
Caution
This icon indicates a warning or caution.
Using Code Examples
This book is here to help you get your job done. In general, you may use the code in this book in your programs and documentation. You do not need to contact us for permission unless youre reproducing a significant portion of the code. For example, writing a program that uses several chunks of code from this book does not require permission. Selling or distributing a CD-ROM of examples from OReilly books does require permission. Answering a question by citing this book and quoting example code does not require permission. Incorporating a significant amount of example code from this book into your products documentation does require permission.