KYM PHILLPOTTS
Timezones
Hey Everyone,
Welcome back to Weekly Xamarin. This week I am writing this from Seattle, where I've been spending a week catching up with my team and visiting the Microsoft campus. When traveling from Australia, let me tell you: Jetlag is real! ;-)
So sorry for the slightly late post, I only just realized it's Friday in Australia ;-)
Have a great weekend everyone.
❤️ Kym
DESIGN
User-Centered Design · Jon Douglas
We have one main goal when creating mobile apps, and that is to create apps that don’t need to be explained. But how do we create apps that do not need to be explained? Usability is the degree to which an app is easy and efficient to use. Jon Douglas, discusses a user-centered design process.
User-Centered Design · Jon Douglas by Jon Douglas
PERFORMANCE
Optimizing Xamarin.Forms
Javier Suárez Ruiz has written a couple of great blogs about optimizing Xamarin.Forms.
First we have:
Improve performance when working with images
and another great one on optimizing startup times:
Improve performance at boot time
Note: Posts are in Spanish, but you'll want to hit that translate button because it's great information
TOOLS
Grial UI Kit
Grial UI Kit provides XAML templates, custom controls, helpers and resources that accelerate the creation of Xamarin.Forms apps. They have amazing looking templates, and now they have Grial Wb Admin site which allows you to scaffold up your application and get you on your way with beautiful layouts and themes.
Grial UI Kit: Building Beautiful Xamarin.Forms Apps, Faster by Leonardo Rodriguez
Optimizing with the Linker
The Xamarin linker is one of the most important pieces of technology when building mobile apps, that no one knows exists. It does all of the hard work for you, stripping out all unused code from libraries that you include in your apps.
Optimizing Xamarin Apps & Libraries with the Linker by James Montemagno
Xamarin Security Scanner
This looks interesting... Xamarin Security Scanner is a neat and simple way to do some basic security vulnerabilities checks for your Xamarin.Android apps. If you like tools like SonarQube to continuously check your code quality and you’re a Xamarin developer that wants to make sure their app is secure, you’ll love the Xamarin Security Scanner.
ANDROID
64-bit Android Apps
All Android apps that use native code as of August 1, 2019 will need to provide a 64-bit version. Because the apps made in Xamarin are native , this rule also applies. In this article Juliano demonstrates how you set up your Android apps made with Xamarin to offer a 64-bit version.
Note: Post is in Portuguese
Versão 64 bits para apps Android feitos com Xamarin by Juliano Custódio
IOS
WWDC 2019 - The Things You May Have Missed
Patrick has collected some of the announcements that may have been shadowed by the bigger announcements in a single and short post. Every item has an associated source or link where you can learn more about it.
WWDC 2019 - The Things You May Have Missed by Patrick Balestra
7 essential WWDC session videos for iOS developers
There’s been such an incredible amount of quality content from Apple this year — both in terms of announcements, new developer tools, updates to existing APIs, and of course — sessions.
7 essential WWDC session videos for iOS developers by John Sundell.
Scrollable UISegmentedControl for Xamarin.iOS
Christian shares a nuget component which provides scrolling tabs for iOS.
Scrollable UISegmentedControl for Xamarin.iOS by Christian Resma Helle
XAMARIN FORMS
Xamarin UI July
July is going to be an awesome month because Steven Thewissen is organizing a month of UI posts. There is going to be a post each day of July by various Xamarin authors and you can access it all via this post. There are still a few spots available if you want to join in the fun (I know I am).
Grid and Stack Layout
Grid and Stack Layout are the most commonly used containers in Xamarin Forms. Both have their own purpose and usage. Grids are used for creating complex user interfaces as compared to Stack Layout as it arranges views (controls) into rows and columns. If you are getting started with layout, you may find this blog useful.
Google Maps Styling
Rendy, has been writing some good articles about using Google Maps in Xamarin.Forms. This week he applies a bit of styling to make your maps look their best.
Google Maps Styling in Xamarin Forms by Rendy
Xamarin.Forms Visual meet Nuget!
Lachlan Gordon is continuing his discussions of customizing Visual. In this post, he discusses bottling up customizations in a Nuget that can be added to an app with only a few clicks.
Nugeting a Custom Visual In Xamarin Forms by Lachlan Gordon
Navigating Users with Xamarin.Essentials
A common scenario for mobile apps is to help their users get to a specific location. You can leverage the existing built-in map application of iOS, Android, and Windows to easily get our users there. This is great because these apps already have the map data, user preferences, and full GPS navigation built right in. Xamarin.Essentials, the cross-platform API library, enables any mobile app to easily launch the map to a specific location or start navigation to that location from the user’s current position using the Maps API.
Use Maps to Display and Navigate Users with Xamarin.Essentials by James Montemagno
Shiny, shiny Beacons
Allan Ritchie's Shiny library has a bunch of amazing stuff, including Beacons.
Beacons are low powered IoT devices that emit a signal over Bluetooth advertising that contains a specific (and very small piece of data) that is like an address. You attach that address to a "location" of some type. They are like an invisible light house. If you have a device that can "see" those signals, you can find out how close you are to it.
This blog post will get you started using beacons cross-platform using the Shiny library
Beacons - Shiny Style by Allan Ritchie
AZURE
Getting started with Data and Auth using Microsoft App Center
App Center has some new(ish) services with Data and Auth, which makes App Center a pretty comprehensive backend for your mobile applications. In this post, Mike James gets you started with these new services.
Getting started with Data and Auth using Microsoft App Center by Mike J
PODCASTS & VIDEOS
Prism Modules for Xamarin.Forms | The Xamarin Show
This week, James is joined by Dan Siegel, Microsoft MVP and Prism maintainer, who shows us a super cool feature of Prism for Xamarin.Forms to create modular apps.
Prism Modules for Xamarin.Forms | The Xamarin Show by James Montemagno
Merge Conflict 153 - Building Machine Learning Robots!
Frank takes us on the wonderful journey of understanding robots, how to build them, how to program them, and how to build machine learning algorithms to make them even better!
File System Helpers (Xamarin.Essentials API of the Week)
Xamarin.Essentials provides developers with cross-platform APIs for their mobile applications. On this week's Xamarin.Essential API of the week we take a look at the File System Helpers API which contains a series of helpers to find the application's cache and data directories and open files inside of the app package.
File System Helpers (Xamarin.Essentials API of the Week) by James Montemagno
Xamarin Introductions

Oh Hai, Michael Ridland
This week we have a Xamarin Introduction for Michael Ridland from Sydney, Australia. He is the author of many great libraries, including the very popular FreshMvvM. Let's learn a little more about Michael.
Tell us a bit about yourself?
Michael Ridland, Xamarin MVP, Community Blogger and the founder of XAM Consulting. A Xamarin fan since the monotouch days and a even bigger Xamarin.Forms fan since it's release. Michael has been leading Xamarin projects years and delivered enterprise apps of the highest quality in the market. Michael (and his team) are the creators of a few Xamarin.Forms components including the FreshMvvm Framework, SlideOverKit and FreshEssentials. You can find him over at michaelridland.com and twitter.com/rid00z.
Tell us one thing we probably don't know about you?
I have a big secret, I'm an Australian that lives next to the beach but... I cannot surf! - Australian passport revoked ;-)
How did you first get into Xamarin development?
My first Xamarin project was for a large ERP product, we initially attempted to build the app in Cordova but we soon realised that html5 and cordova sucked, sorry I meant wouldn't allow us to build a app that met our requirements. A fellow team mate found Xamarin and I didn't believe him that it was possible to build a app in c#, I thought it was BS and wouldn't work but 4 hours after he started with Xamarin he had a pretty awesome looking start on the app. Ever since then Xamarin has been the go-to platform for Mobile.
What has been the most enjoyable project you have built using Xamarin?
I've built many apps with Xamarin, to say probably some of the most enjoyable times aren't on specific projects but my experience building open source tools like FreshMvvm and FreshEssentials.
What advice would you give someone looking at getting started with Xamarin development?
One of the best ways to learn Xamarin is through looking at what other people have built, spend as much time as you can on github looking at code. If your doing a serious commercial project that you will want in production I highly recommend looking into a Mvvm Framework like FreshMvvm, especially if it's one of your first apps as it will give you a good structure to work to and force you to have a better architecture avoid you making mistakes.
What are the MUST HAVE tools, resources and libraries that you use when building Xamarin apps?
FreshMvvm and Refit
Where do you think mobile will be in 5 years?
At the moment Cross-Platform is only a little way into enterprises, in 5 years time nobody will be doing native at all, cross-platform will be the normal and Xamarin will be one of the biggest frameworks used.
Any other things you would like to share or promote? If you need help with a Xamarin project please get in touch, I would love to help out.
Thanks Michael for sharing some information about yourself and If you want to stay up to date with what Michael is up to, check out these links:
Blog: www.michaelridland.com
Twitter: rid00z
Github: rid00z