Book Image

Xamarin Cross-Platform Development Cookbook

By : George Taskos
Book Image

Xamarin Cross-Platform Development Cookbook

By: George Taskos

Overview of this book

<p>You can create native mobile applications using the Xamarin Forms platform for the three major platforms iOS, Android, and Windows Phone. The advantage of this is sharing as much code as you can, such as the UI, business logic, data models, SQLite data access, HTTP data access, and file storage across the three major platforms.</p> <p>This book provide recipes on how to create an architecture that will be maintainable, extendable, use Xamarin Forms plugins to boost productivity, customize your views per platforms, and use platform-specific implementations at runtime.</p> <p>We start with a simple creation of a Xamarin Forms solution with the three major platforms. We will then jump to XAML recipes and you will learn how to create a tabbed application page, and customize the style and behavior of views for each platform. Moving on, you will acquire more advanced knowledge and techniques while implementing views and pages for each platform and also calling native UI screens such as the native camera page.</p> <p>Further on, we demonstrate the power of architecting a cross-platform solution and how to share code between platforms, create abstractions, and inject platform-specific implementations. Next, you will utilize and access hardware features that vary from platform to platform with cross-platform techniques. Well then show you the power of databinding offered by Xamarin Forms and how you can create bindable models and use them in XAML. You will learn how to handle user interactions with the device and take actions in particular events.</p> <p>With all the work done and your application ready, you will master the steps of getting the app ready and publishing it in the app store.</p>
Table of Contents (18 chapters)
Xamarin Cross-Platform Development Cookbook
Credits
About the Author
About the Reviewer
www.PacktPub.com
Preface
Index

Adding a third-party Dependency Injection Container


Dependency Injection is one of the solutions when it comes to resolving dependencies in runtime. Let's look at the Wikipedia description:

Note

Dependency Injection is a software design pattern that implements Inversion of Control (IoC) for resolving dependencies.

Working with a Dependency Injection Container, you will see that it isn't only an IoC container but a set of software design patterns and principles that solves the problem of tight coupling.

Loosely coupled code enables us to write extensible code; testing becomes much easier with mocking the Subject Under Testing component dependencies; dynamic construction in runtime with injected dependencies; and of course maintainability, code that is easy to navigate in different modules, fix bugs, and add new features.

There are different patterns to inject dependencies to modules:

  • Constructor Injection

  • Property Injection

  • Method Injection

  • Service Locator

  • Others

Which one you choose depends on your...