Overall, Xamarin.Forms has many extensibility points for various scenarios. Nevertheless, we, as developers, should be careful about using these extensibility points sensibly in order to create robust, simple, yet sophisticated user interfaces. In this chapter, in order to understand the customization options, we identified the implementation domains/quadrants of our Xamarin.Forms application and went over different customization options for each quadrant. Finally, we created a custom control to demonstrate the complete implementation of a user control in both shared and native domains.
This chapter finalizes the Xamarin side of the development effort of our project. In the next few chapters, we will continue developing a cloud infrastructure using .NET Core for our mobile application.