Happy Friday everyone!
Whilst Europe is going through a heatwave, here in Melbourne, Australia it's freezing cold. As such, I've been suffering from a dreaded "man-cold" but things are looking better just in time for the weekend.
Speaking of weekends, hope you all have an amazing one. Enjoy the issue.
Faster Startup Times With Startup Tracing On Android
One of the biggest pain points in Android is startup times. But in recently releases, the Android team has been doing amazing work improving performance all round. This post talks about using Startup Tracing to improve your applications startup times.
Faster Startup Times With Startup Tracing On Android by Jon Douglas
Introducing AndroidX for Xamarin
The Android Support Library has had a long history of over the last 7 years providing backwards compatibility to Android framework APIs. Over the years, this library has grown in adoption as the majority of Android apps in the Google Play Store use the Support Library in some fashion today. For me, it's often a source of frustration.
Long story short, to clear up this confusion, the Android team decided to refactor the Support Library into a new set of extension libraries known as AndroidX. And it's now available to us in Xamarin.
Lottie Animations in Xamarin Forms
One of the things that user wants in a Mobile App is an immersive experience and one thing that I can think of is adding some animations in the mobile application. The king of animation is Lottie! And Kirk is here to tell you how easy it is to implement.
Ficus IoT App
It's Luis Pujols's turn to wow us during #XamarinUIJuly and he has done exactly that with a UI Challenge to reproduce a timeline design for the Internet of Plants.
Thiago Bertuzzi, takes a look at a great set of Material controls available with the XF-Material-Library.
Note: Page is in Portuguese
O X do Xamarin Forms by Thiago Bertuzzi
Facebook login in Xamarin Forms
When developing a mobile application is very common to support authentication from social media networks such as Facebook, Instagram, Google, Twitter, Microsoft, LinkedIn to facilitate users onboarding process. Rendy has started a series of articles where he will cover how to do the client-side integration of each platform. First cab off the ranks is Facebook.
Social Media Authentication – Facebook login in Xamarin Forms by Rendy
Rotate everything with SkiaSharp
In this post, Valeriy explains object rotation from the mathematical point of view and demonstrate different methods to draw rotated objects in SkiaSharp. Dig out your old maths text books and dive into this article.
Rotate everything with SkiaSharp and Xamarin – Trailhead Technology Partners by Valeriy Kovalenko
Highlighting countries on a map in Xamarin.Forms
Even more XamarinUIJuly goodness! This post shows how you can highlight countries on a map in Xamarin.Forms. Whilst this sample talks about country highlighting, the same techniuqes could be utilized for many other purposes as well.
Highlighting countries on a map in Xamarin.Forms by Martin Zikmund
Biometric recognition technologies have many advantages for those who wish to protect their valuable data without having to remember a bunch of different passwords. This post shows how you can integrate the Fingerprint plugin into your Xamarin.Forms application.
Note: Page is in French
Xamarin.Forms FingerPrint by Kodjo Laurent EGBAKOU
Atomic Design, F# and Fabulous
Fabulous allows writing Xamarin Forms apps with F#in a functional style. Fabulous has been inspired by Elm, which proved that by using the Model View Update (MVU for short) pattern functional languages are great for writing UI code. In this post, Mark Allibone shows how you can create beautiful UIs that stay maintainable in the future.
Creating beautiful Xamarin Forms apps using Atomic Design, F# and Fabulous by Mark Allibone
NUGET OF THE WEEK
MVVM code generator tool for .NET.
Damien Aicheh has released a NuGet which allows you to generate your ViewModels with the Properties and Commands specified in an XML file. The code generated will depend on the Mvvm Frameworks you use.
This tool now supports these MVVM Frameworks: MvvmLightLibs, MvvmCross, Mvvmicro, FreshMvvm
MvvmCodeGenerator by Damien Aicheh
PODCASTS & VIDEOS
Xamarin.Forms 101: OnPlatform
Let's take a step back in a new mini-series that I like to call Xamarin.Forms 101. In each episode we will walk through a basic building block of Xamarin.Forms to help you build awesome cross-platform iOS, Android, and Windows applications in .NET.
Xamarin.Forms 101: OnPlatform (Adjusting UI Based on Operation System) by James Montemagno
Introduction to AndroidX for Xamarin
This week, James is joined by friend of the show Jon Dick aka Redth, Xamarin Components Development Lead, who helps explain exactly what AndroiX/JetPacks/Components are and how Xamarin developers can start migrating their apps today!
Introduction to AndroidX for Xamarin | The Xamarin Show by James Montemagno
Merge Conflict 159: Cut, Copy, Paste, Delete, Undo
The title says it all. Why can't we have unlimited undo and redo in our applications! What about cut/copy/paste? How about delete? How do we get this done in our app?
Introducing Steven Thewissen
It seems appropriate that heading towards the end of #XamarinUIJuly that this month's Xamarin Introduction is Steven Thewissen. The irony is that Steven is probably someone in the Xamarin community that needs no introduction, but here we are. ;-)
For those of you don't know Steven, he is a Xamarin developer and keen community contributor based in the Netherlands.
Tell us a bit about yourself?
Steven Thewissen; Microsoft MVP, wrote a book about Xamarin.Forms and like blogging about it as well. I've been a Xamarin developer for about 6 years now and besides building apps I also love tinkering with their UI and everything related to it. You can find me hanging out on Twitter quite often. Creator of the infamous PancakeView, DebugRainbows and EasyLoading NuGet packages.
Tell us one thing we probably don't know about you?
There's probably a lot you don't know. One of them is that I have 2 guitars and still have the ambition to one day be able to play them properly. Problem is that there's so many things fighting for my attention that I usually don't get around to it. Lame excuse, I know.
How did you first get into Xamarin development?
The company I worked for at the time was looking to expand into app development. Since that was a .NET-oriented company Xamarin quickly became the first choice. I started looking into it and slowly got more and more excited about it. When at some point along the way Xamarin.Forms came around I was hooked.
What has been the most enjoyable project you have built using Xamarin?
That's a tricky one. I usually have fun on most projects I do, but obviously they're also never 100% awesome. I did do a few projects that I'm proud of which are rolled out to a rather extensive user base. The fact that a lot of people can see your work adds additional pressure, but if you pull it off the satisfaction is equally great. One of the apps is a public app for a geographical region spanning around half a million potential users, the other an internal app that will be rolled out to markets across Europe. The latter one, about which I can't share too much, has multiple designers in the team, so I can really use my knack for UI to the fullest.
What advice would you give someone looking at getting started with Xamarin development?
There's a lot of information out there to get started. Sometimes maybe even too much. Sample apps, blogs etc. are all good starting points. Especially fully built apps like the BikeSharing sample or similar ones provided by Microsoft. I do think taking a look at Xamarin.iOS and Xamarin.Android first for starters is very important. Sure, Xamarin.Forms makes things easier, but getting the basics for each platform under your belt will help you a lot along the way.
What are the MUST HAVE tools, resources and libraries that you use when building Xamarin apps?
Truly must have are definitely MFractor and LiveXAML. For someone who tinkers with UI a hot-reload of some sort is such a time saver. MFractor also offers a lot of features and Matthew is always looking to improve it. NuGets that I tend to use a lot are FFImageLoading, FreshMVVM, Refit and obviously PancakeView (🥞 cheap plug).
Where do you think mobile will be in 5 years?
Oof, this is a tough one. I usually don't go full visionary (you never go full visionary) and just follow along with the flow of where Xamarin takes us. I definitely think the whole Xamarin.Forms abstraction layer will be expanded upon even further as time progresses. However, I also think at some point we will hit a limit with it. In 5 years Xamarin.Forms will be 10 years old. It may not even be around at that point and be replaced by a completely new way of working. Who knows? I'm curious to see where it all goes though.
Any other things you would like to share or promote?
I'd love to invite everyone to take a look at my NuGet packages (GitHub linked below or just lookup my last name on NuGet) to see if they can be of value to you. Also feel free to suggest improvements, I'm always open to taking a look at implementing new features. While I'm at it: https://www.snppts.dev is a platform we've recently relaunched where developers can publicly share cool user interfaces they've created. We accept any and all comers, so don't be afraid and contribute!
A big thanks to Steven for sharing a little bit about himself, and of course all the amazing packages he provides freely to the Xamarin community. Stay up to date with everything that Steven is working on (and that's a lot of things) at the following locations: