This Preview Edition ebook is about writing applications for Xamarin.Forms, the new mobile development platform for iOS, Android, and Windows Phone unveiled by Xamarin in May 2014. Xamarin.Forms lets you write shared user-interface code in C# and XAML (the eXtensible Application Markup Language) that maps to native controls on these three platforms.

This ebook is a Preview Edition because it's not complete. It has only six chapters. We anticipate that the final version of the book will have at least half a dozen additional chapters and that the chapters in this Preview Edition might be fleshed out, enhanced, or completely reconceived. The final edition of the book will probably be published in the spring of 2015.

Here’s an excerpt from the ebook’s Introduction, with greater detail:

Who should read this book

This ebook is for C# programmers who want to write applications for the three most popular mobile platforms: iOS, Android, and Windows Phone with a single code base. Xamarin.Forms also has applicability for those programmers who want eventually to use C# and the Xamarin.iOS and Xamarin.Android libraries to target the native application programming interfaces (APIs) of these platforms. Xamarin.Forms can be a big help in getting started with these platforms or in constructing a prototype or proof-of-concept application.

This ebook assumes that you know C# and have some familiarity with the use of the .NET Framework. However, when discussing some C# and .NET features that might be somewhat new to recent C# programmers, the ebook adopts a somewhat slower pace. In particular, the introduction of the async keyword and await operator in Chapter 3 follows a discussion that shows how to do asynchronous programming using traditional callback methods.

Organization of this book

This book is intended as a tutorial to learn Xamarin.Forms programming. It is not a replacement for the online API documentation, which can be found here under the heading Xamarin.Forms Framework on this page: http://api.xamarin.com/.

This Preview Edition's Chapter 1 discusses Xamarin.Forms in the larger context of mobile development and the Xamarin platform and also covers the hardware and software configurations you'll need. Chapter 2 explores some of the basics of Xamarin.Forms programming, including the use of Label, Button, and StackLayout.

In Chapters 3 and 4, however, I tried to do something a little different: These chapters show the progressive step-by-step development of a small Xamarin.Forms application. Despite the simplicity of this program, it is in many ways a "real" application, and requires essential real-app facilities such as file I/O and application lifecycle handling, both of which turned out to be somewhat more challenging than I originally anticipated. I'm curious to hear whether these two chapters "work" or not. See the section below on submitting feedback to us.

Chapters 5 and 6 return to more conventional API tutorials. My biggest regret is that I wasn't able to get some coverage of XAML into this Preview Edition. However, the Xamarin website has some additional resources for learning Xamarin.Forms including a six-part "XAML for Xamarin.Forms" document: http://developer.xamarin.com/guides/cross-platform/xamarin-forms/.


Charles Petzold

Charles Petzold wrote the classic Programming Windows, which is currently in its fifth edition and one of the best-known and widely used programming books of all time.
He was honored in 1994 with the Windows Pioneer Award, presented by Microsoft founder Bill Gates and Windows Magazine.
He has been programming with Windows since first obtaining a beta Windows 1.0 SDK in the spring of 1985, and he wrote the very first magazine article on Windows programming in 1986.
Charles is an MVP for Client Application Development and the author of several other books including Code: The Hidden Language of Computer Hardware and Software.