Book Image

Xamarin 4.x Cross-Platform Application Development - Third Edition

By : Jonathan Peppers
Book Image

Xamarin 4.x Cross-Platform Application Development - Third Edition

By: Jonathan Peppers

Overview of this book

Xamarin is a leading cross-platform application development tool used by top companies such as Coca-Cola, Honeywell, and Alaska Airlines to build apps. Version 4 features significant updates to the platform including the release of Xamarin.Forms 2.0 and improvements have been made to the iOS and Android designers. Xamarin was acquired by Microsoft so it is now a part of the Visual Studio family. This book will show you how to build applications for iOS, Android, and Windows. You will be walked through the process of creating an application that comes complete with a back-end web service and native features such as GPS location, camera, push notifications, and other core features. Additionally, you’ll learn how to use external libraries with Xamarin and Xamarin.Forms to create user interfaces. This book also provides instructions for Visual Studio and Windows. This edition has been updated with new screenshots and detailed steps to provide you with a holistic overview of the new features in Xamarin 4.
Table of Contents (19 chapters)
Xamarin 4.x Cross-Platform Application Development - Third Edition
Credits
About the Author
About the Reviewer
www.PacktPub.com
Customer Feedback
Preface

Chapter 3. Code Sharing Between iOS and Android

Xamarin's tools promise to share a good portion of your code between iOS and Android while taking advantage of the native APIs on each platform where possible. Doing so is an exercise in software engineering more than a programming skill or having the knowledge of each platform. To architect a Xamarin application for enabling code sharing, it is a must to separate your application into distinct layers. We'll cover the basics as well as specific options to consider certain situations.

In this chapter, we will cover:

  • The MVVM design pattern for code sharing

  • Project and solution organization strategies

  • Portable Class Libraries (PCLs)

  • Preprocessor statements for platform-specific code

  • Dependency Injection (DI) simplified

  • Inversion of Control (IoC)