Andrew Hoefling

Speaker | Mentor | Coder | Leader

C# developers experienced with WPF, UWP, Xamarin.Forms, Uno Platform and anything that involes the ICommand interface are familiar with async void. A quick trick to call Task based asynchronous methods that interact with some type of User Interface interaction. We all know this is bad, but still implement code this way because it doesn't cause immediate problems.

STOP IT! async void is bad

Xamarin.Forms provides a great set of controls for building cross-platform apps including Flyout Menus. Often the default controls don't meet your design needs and you need to build something custom. Xamarin.Forms provides rich APIs for styling and animating just about anything you can imagine. Let's build a fancy animating Flyout Menu!

Dependency Injection is a great technique to leveraging native code in the context of your shared code. In Xamarin.Forms you typically create a custom renderer which gives you native access. If you need to run some native code from the shared context you can easily do this with the built-in Dependency Injection tooling.

Mastering Xamarin.Forms the Third Edition is a great book for both seasoned Xamarin developers and beginners just starting a Xamarin.Forms project. It is a great resource for many techniques needed to solve the complex problems of Xamarin.Forms application development. 

FontImageSource is a new way to use web fonts to render common images such as action buttons in your app. Before this was added into the platform in version Xamarin.Forms 3.6 you would have to create resources for each platfrom and treat it as an image. Now in Xamarin.Forms version 4.2 there is a brand new Markup Extension to simplify your XAML

Xamarin.Forms 4.0 brings new enhancements to the platform that has Xamarin Developers excited. My favorite new feature is Xamarin Shell which creates simple APIs for building powerful apps that include Tab Bars, Flyout Menus and more! The tooling builds an Application Shell and let's the developer focus on buidling their application.

Xamain.Forms contain many Animations API that is accessible in the shared code. Most animation sequences can be leveraged in the shared code reducing the need to implement any platform specific code to handle animations. Scaling animations can add a lot of context to your sequences that provide context to your animations.

Expandable Menus are an easy way to add different modes or context to a screen without taking up very little screen space. An expandable menu places a small icon or the screen as an overlay and when the user taps on it the menu expands to show many options. An easy way to include a complex set of modes without cluttering up the entire page. This is common when the user interacts with the page differently depending on the mode.

Xamarin.Forms provides a simple control for adding tabs to any application but the standard implementation has some limitations. With a little knowledge of how iOS and Android work you can start creating beautiful Tabs in your Xamarin.Forms applications that support custom colors and custom text.