Jump to ratings and reviews
Rate this book

Xamarin Crossplatform Application Development

Rate this book
Develop productionready applications for iOS and Android using Xamarin About This Book Write native iOS and Android applications with Xamarin Add native functionality to your apps such as push notifications, camera, and GPS location Learn various strategies for cross-platform development Who This Book Is For This book is for C# developers who are interested in mobile application development. If you have experience with desktop or web applications, this book will serve as a great tool to give you a head start with cross-platform development.

What You Will Learn Familiarize yourself with Apple's MVC design pattern Understand the Android activity lifecycle Share C# code across platforms Implement a web service with Azure Mobile Services Deploy and debug your application on mobile devices Call native Objective-C or Java libraries from C# Use Xamarin.Mobile for camera, contacts, and location Submit your app to the Apple App Store and Google Play In Detail Developing a mobile application for just one platform is becoming a thing of the past. Companies expect their apps to be supported on both iOS and Android, whilst leveraging the best native features of both. Xamarin's tools help solve this requirement by giving developers a single toolset to target both platforms.

"Xamarin Cross-platform Application Development" is a step-by-step guide for building professional applications for iOS and Android. The book walks you through building a chat application, complete with a backend web service and native features such as GPS location, camera, and push notifications.

This book begins with iOS and Android application fundamentals, then moves on to sharing code, and eventually digs deeper into native functionality. By the end of the book, readers will have successfully built a cross-platform application ready for submitting to app stores. You will gain an in-depth knowledge about the concepts of building cross platform applications.

"Xamarin Cross-platform Application Development" also covers native iOS and Android APIs, unit testing, building a real web service with Windows Azure, push notifications, interacting with the camera and GPS, leveraging Java and Objective-C libraries, and finally app store submission. Towards the end of the book you will feel confident in developing your own Xamarin applications.

"Xamarin Cross-platform Application Development" will teach you everything you need to know to develop an end-to-end, cross-platform solution with Xamarin.

264 pages, Kindle Edition

First published January 1, 2014

7 people are currently reading
82 people want to read

About the author

Ratings & Reviews

What do you think?
Rate this book

Friends & Following

Create a free account to discover what your friends think of this book!

Community Reviews

5 stars
10 (29%)
4 stars
15 (44%)
3 stars
5 (14%)
2 stars
1 (2%)
1 star
3 (8%)
Displaying 1 - 9 of 9 reviews
Profile Image for Anas Ag.
1 review1 follower
July 30, 2014
Etant un développeur d'application mobile sur la plateforme windows phone,
le C# est mon langage préféré, j'ai opté donc pour Xamarin comme solution multi-platforme
"Xamarin Cross-platform Application Development" est un très bon choix pour bien commencer,
bien structuré avec une approche pratique (développement et déploiement de XamChat)il vous permettra prendre en main le développement sur iOS et Android.

Ce qui est très intéressant dans ce livre c'est qu'il vous permet de comprendre la logique de la plateforme que vous visez (android ou iOS ), surtout si vous n'avez jamais fais
du développement native sur ces plateformes.
Il introduit aussi des aspect de développement Multi-plateformes comme la PCL (Portable class libraries), l'utilisation du pattern MVVM, et l'utilisation d'azure Mobile Services
Une fois votre application fini, ce livre vous guide étape par étape avec le processus du déploiement
sur AppStore et google play.

Le point manquant du livre, est le Xamarin Forms, et j’espère que la prochaine édition aura un chapitre dédier.

Pour finir, Si vous optez pour Xamarin, pour du développement mobile, et que vous venez juste de commencer avec, alors je vous recommande fortement ce livre.
Profile Image for Andy Flisher.
1 review1 follower
May 4, 2014
This book is openly marketed at existing, experienced C# developers so it's certainly not for beginners, and whilst I don't fall into this category the nature of projects I work in require mostly 'linear' development (Web, PHP, Perl, Python, VB etc over the years) so concepts like MVC, MVVM and in particular IOC (Inversion of Control) are newer and less clear. Thankfully this book has resolved that through it's excellent practical examples.

One area this book doesn't touch on hugely is the level of planning required for MVC applications, you can't just 'jump in and code', but that's potentially a book in itself, but what the book does very well for me, is explain the View, ViewModel, Model and Controller concepts in terms of the classes and data layers required. The book also introduces Interfaces (something I always saw as an unnecessary layer of complexity) which I now 'get' in terms of flexibility, and in particular to give the developer options in a cross platform environment.

The icing on the cake is 'Inversion of Control', whilst the book doesn't particularly explain this convention in huge detail, I think it is actually to it's credit, any more and the reader will be bogged down in unnecessary detail and complexity. It basically gives us the service layer that 'glues' the application together, allowing use to create and register our ViewModels as Services and thus make them available to use throughout the app with a single line of code. I'm sure that my description is not hugely more constructive than the words in the book themselves, but the working example of the XamChat application completes it.

Which is my main point, am sure many people work differently, but for me working examples of code are what makes it stick in my mind, it helps it all make sense. Throughout this book you will be building bit buy bit a working chat application, firstly in Xamarin.iOS (but using the all important cross platform and code sharing concepts learnt at the beginning of the book), and then re-implementing the same application logic in Xamarin.Android. The nice touch, which some may see as lazy, was that with the Android example you are taken to a certain point and then left to finish off using the examples you already have. A real, and practical exercise which I think will do the reader good. It wouldn't be a huge leap further to recreate in Windows Phone, for the ultimate practical extension.

The Xamchat application is then extended through the Windows Azure platform to use their backend for data storage (a good example of how the same Interface can be re-used to store on different platforms), and to implement cross platform push notifications.

Lastly there are chapters on using Xamarin Components (including Xamarin.Mobile for Contacts, Camera and Location functionality), and actual App Store submission and their different processes, processes that even the most experienced developer can struggle with (Apple Certificates and Profile expiry anyone!).

In summary, this is an excellent book for any would be cross platform mobile application developer, yes you need a good understanding of C#, MVC and similar concepts, and the individual mobile platforms and general development processes themselves, and those things don't come over night, but this book binds it all together with real world examples, working code (a novelty for some books) and actual code and methods you can take away and use in the real world.

Buy it, read it, and take as much as you can from it. More details can be found via the Publishers site
Profile Image for Pete Davis.
1 review
June 4, 2014
If you’re getting started in cross-platform (particularly iOS and Android) Xamarin programming, Jonathan Peppers’ “Xamarin Cross-platform Application Development” might be the book for you.
Structure-wise, the first two chapters provide the basics of the tools and, of course, the obligatory “Hello …” sample app: In this case, “Hello Platform”.
The next 5 chapters focus largely on the development and deployment of a cross-platform “XamChat” application. There are individual chapters focusing on the iOS and Android aspects as well as a chapter on creating the cross-platform aspects.
The last few chapters cover various topics common to Xamarin/mobile development (3rd party components, binding to native libraries, GPS, Camera, Contacts and app stores).
One of the key benefits of Xamarin development is the opportunity for code-sharing between mobile apps (iOS, Android and Windows Phone). As Xamarin is primarily focused at Android and iOS, both Xamarin’s web site and this book, provide only passing mention of WP8 development. That said, many of the techniques discussed in the book on cross-platform development, would carry over to a Windows phone app.
This book has a number of strong points; It covers many of the major areas that mobile developers and Xamarin developers will run into. It covers the basics of the software needed for each platform. It covers the tools and how to use them. It discusses some of the platform-specific controls and techniques. It discusses how to use the basic facilities that most apps use (camera, GPS, etc). And it covers a lot of the details of getting your app into the iOS App Store and Google Play.
What this book won’t provide is a lot of detail about Android development and iOS development; which is to say, if you’re doing a moderately complex app, you’re bound to get into areas not covered by this book. Android and iOS are both very rich platforms and to cover either in great detail would require separate books, so it would be unreasonable to expect this book to cover both platforms in great detail. So if you’re unfamiliar with these platforms, you’ll need additional resources.
The book seems to assume the reader is going to go with the MVVM (Model-View-ViewModel) design pattern. In fact, MVVM Cross is probably the most popular development framework for Xamarin and so, this is probably not a bad assumption. But readers should be aware that other patterns can be used as well.
Xamarin provides Xamarin Studio (a cross-platform IDE for Xamarin apps) as well as Visual Studio integration. This book only looks at Xamarin Studio, so if you’re using the Visual Studio integration, some aspects of project management will be different.
Bottom line: If you’re getting started with Xamarin programming, this book is a really good introduction. It covers the basics of Xamarin and general mobile development; certainly enough to get anyone up and running and writing basic applications. This book would be of limited value to someone who’s already done some Xamarin development and it would be of limited value as a long-term reference.
1 review5 followers
July 24, 2014
Reading this book was very pleasant, in a general way, I can define it as a ideal guide to someone who is interested to learn Xamarin but is also familiar with C#. The book follows an interesting approach mixing practice and theory as the concepts are being explained.

In the first chapter, the book shows how we can configure our environment with the minimum required to develop cross-platform applications, in this moment, we install the IDEs (Xcode and Xamarin Studio), the simulators for each platform and we create the accounts on iOS Developer Program and on Google Play.

In the second chapter, is presented a quick overview about how each platform works and which basic concepts we need to know through a “Hello Word” project. This initial project is also used to check if the development environment is working properly.

In the third chapter, the book talks about code sharing, one of the things that I most like in Xamarin applications, in this chapter we can have a overview about strategies that we can use to share code between platforms, strategies like ViewModels, Inversion of Control, File Sharing and Portable Class Libraries are discussed and get their advantages and disadvantages well explained.

The next chapters show how we can create a real application using the already explained concepts. The chosen application is the XamChat, an application very similar to WhatsApp. The development proceeds step by step from the creation of the Core (code that will be shared by both platforms) as well as a chapter for the specific code for each platform.

The chapter 8 talks about an interesting point when we are developing a mobile application that is server-side communication. In this chapter, is presented the Azure Mobile Services, a Microsoft Service that enable us to easily develop a backend for our apps and also to send push notifications to our users.

The chapter 9 and 10 talk again about productivity increase and code sharing, in them, are presented the Xamarin Component Store, a kind of Nuget for Xamarin components, and the Xamarin Mobile, an cross-platform abstraction for some native APIs like Location, Contacts and Camera.

At the end of the book I could reach my goal that was to deepen my Xamarin knowledge as well to acquire a foundation that I can use to start new projects in the right way and aiming to reuse as much code I can.
1 review
March 31, 2014
Many of the development books I read contain some contrived example applications that are supposed to help reinforce the learning process but because of their very nature I seldom bother typing these in and rely in the text to glean the information that I need. They all cover basic database access and maybe a little bit of webservice integration but never seem to get into the 'meaty' aspects that you will run into in the real world.

This book was very different in that its example application, an instant messenger, was actually something I wanted to see working - sending messages from an iPhone to an Android phone and back again in "real-time". It detailed many aspects that you will be hard pushed to find such in-depth explanations for, e.g. configuring push/pull on Azure, Apple and Google infrastructure. It may not cover database access or webservice integration but that sort of information is littered all over the internet and you should have no problems finding it. That's not to say that the book skimps on the foundations of what you need to know to develop for the mobile platform (or general development) - it guides you through the configuration of your development environment and creates the obligatory 'Hello World' applications on both Android and iOS to make sure everything it setup properly before you start. From there it introduces code sharing patterns and how to structure your projects for cross platform development before getting into some 'real' coding.

There is also detailed, step by step, walkthroughs on how to deploy applications to actual devices (Android and iOS) and release them to the respective "App Stores".

There were a number of minor errors in the printed code (but then most books of this type suffer from this) but nothing a reasonably experienced Developer wouldn't be able to resolve one way or the other. There is some good errata on the publishers website where there is also sample code which can be downloaded if required.

All in all a worthwhile addition to my collection and something I will be referring to numerous times in the future.
Profile Image for Arun Sethumadhavan.
1 review
July 27, 2014
Jonathan Peppers is a Xamarin MVP and the lead developer.

Jonathan Peppers primarily covered Android (Xamarin.Android) and iOS (Xamarin.iOS) development in this book.

Who should read this book?
If you are a C# or windows phone developer with a desire to develop iOS and Android application and become a cross platform developer.

Prerequisite:
You need a Mac computer (OS X 10.8)
C# knowledge
Of course motivation and desire to become a cross platform developer

What this book covers?
Environment setup for cross platform development
Basic concepts of each platform
Process to submit your app to stores
iOS and android development concepts
Code sharing technique and unit test
Xamarin component store and leverage native Java & Objective-C libraries
XamChat an instant messenger, using Azure Mobile Services for data storage and cross platform push notifications.

Few things I like most that have been covered in this book are design pattern (MVVM, DI and IoC) used for mobile applications development with example and different code sharing techniques with advantage and disadvantage.

What this book won’t provide?
Windows phone development
Details of iOS and Android development
Visual studio integration

In short this book gives a quick start for any one who wants to learn about Xamarin and become a Xamarin developer.
Profile Image for Sam Larko.
14 reviews3 followers
July 27, 2014
I received a preview copy of this book to review. I've been a SharePoint developer for 8 years, but am looking into changing focus to something new. Mobile is hot and probably isn't cooling off soon.

While I didn't dig into the examples, I did read through the chapters. The example that they use throughout the book is easy to follow and allows for utilizing the basics of Xamarin development for both an iOS and Android app. PCLs are covered as are push notifications (Apple Push and Azure Mobile Services), submitting to the app stores, and using other device resources (camera, contacts, GPS).

There's 2 things that I'd like to see covered that aren't. First, the examples are all done on a Mac so it doesn't show connecting to a Mac when developing on Windows. Second, it doesn't cover the new Xamarin.Forms feature. However, that was announced just recently and this book was published well before that.

If you're needing something to get you started, this is a great option for that.
Profile Image for Walter Sierra.
1 review6 followers
May 19, 2014
I am mobile architect, and I had always imagined the techniques crossplatform very tedious. By reading this book, this showed me how easy it can be a development using tools Xamarin, no matter the level of knowledge you have, it is very easy to understand takes you from scratch to use best pratices, this book is very good starting point .

I really liked this book because it covers topics from the installation of the necessary tools; MVVM design pattern; creating a sample project (chat); native access; deployment and store submission. It is the best and most complete book of Xamarin in the market.

I recommend it to all the people who will barely Getting Started in cross platform development to those who already have knowledge but want to go beyond.

I give it 5 stars because I've already read 3 books on the same topic and this is by far the best.
Profile Image for Steve Ditmer.
1 review1 follower
March 31, 2014
If you're a C# developer, you'll want to read this book about cross platform mobile development (iOS / Android) using the Xamarin framework.

Peppers does a great job of introducing users to cross-platform development and offers several hints that will make cross-platform development more productive. This book is a good read!
Displaying 1 - 9 of 9 reviews

Can't find what you're looking for?

Get help and learn more about the design.