A totally packed edition of WeeklyXamarin today. Sorry, it's a bit late, but so many great articles and resources to collect. The strength of the Xamarin Community constantly amazes me.
And if you think this week is packed, next week is the start of Xamarin UI July, so Buckle up, and have a great weekend
Xamarin Developer Summit
Don't forget the Xamrin Developer Summit is happening soon. Unfortunately, I am not able to make it, but if you are able to you should check out these posts about how awesome it's going to be:
- Xamarin Developer Summit by Dylan Berry
- Xamarin Developers Summit 2019 – 5 reasons why you have to be there! by Daniel Causer
You'll also find there are some good discounts and deals around the twittersphere.
Free Xamarin Training
Learn how to build cross-platform mobile applications with the new Xamarin.Forms content on Microsoft Learn. The new and completely free platform where you can earn points and badges, level up, and advance your skills.
Get Started with Free Xamarin Training on Microsoft Learn by Adam Patridge
System.Net.HttpClient Design Guidance
HttpClient is one of the most used and abused components. It is intended to be instantiated once and re-used throughout the life of an application. Instantiating an HttpClient class for every request will exhaust the number of sockets available under heavy loads. This will result in SocketException errors. Read more guidance on HttpClient.
On project dependencies
No matter what we do at some point in our careers as developers we all face the dilemma of introducing external dependencies to our projects. We are pretty sure that you, dear reader, have faced it too. If you did not, you will, we promise you, it’s as inevitable as the chickenpox.
Find, Fix, and Avoid Performance Problems in C# .NET: 10 Best Practices
This article will show 10 best practices on dealing with performance problems, starting with when you need to deal with them at all. You will see techniques to detect if a problem exists, find the specific cause, and fix it.
Find, Fix, and Avoid Performance Problems in C# .NET: 10 Best Practices by Michael Shpilt
Design for the Dark Theme
Although this article is kind of targetted at Dark Themes in Material Design, this makes great reading for anyone interested in theming and choosing great colours for your applications
Three App Center SDK Tricks
This post shares how you can best leverage and utilize client-side APIs supported in the App Center SDK to have control and flexibility on storing, prioritizing, and sending the Analytics data to App Center backend.
Three SDK Tips To Get More From Visual Studio App Center Analytics by Ela Malani
That one debugger trick!
Too many of you this might seem like common knowledge because that’s what I thought, I thought this would be in every Xamarin/.NET developer's bag of tricks. Apparently it is not. Let Michael show you how to get better exception information.
The Visual Studio debugging trick that EVERY Xamarin/.NET developer should know! by Michael
Visual Studio tips and tricks
Whether you are new or have been using Visual Studio for years, there are a bunch of tips and tricks that can make you more productive. We’ve been sharing tips on Twitter using the #vstip hashtag for a while, and this is a collection of the best ones so far.
Faster, stronger, leaner Xamarin.Android
One of our current focus areas in Xamarin.Android is build performance. The “inner dev loop” directly. Amazing things are being achieved with build times and sizes for Xamarin.Android, read more about them in this article.
Faster Xamarin.Android Builds & Smaller Dex Files by Jonathan Peppers
Code vs Markup - FIGHT!
Code vs. Markup is almost as divisive as Tabs vs. Spaces or Gif vs. Jiff. Ryan Davis recently did a great stream with David Ortinau about using coded UI and continues. I'm a solid XAML guy, and I was almost convinced to go code based after watching the stream. This is a writeup of the stream and a follow-up presentation at a Brisbane Meetup.
Declarative Code-Based Xamarin.Forms UI using CSharpForMarkup and Continuous by Ryan Davis
Xamarin.Forms Shell: Customizing the TabBar (Android)
Andrew has posted an interesting blog on how to customize the TabBar for Shell. This focuses on Android, but the same should be possible with iOS.
Xamarin.Forms Shell: Customizing the TabBar (Android) by Andrew Hoefling
This is a cool Xamarin.Forms custom control that uses SkiaSharp under the covers to allows you to show and hide Xamarin.Forms Views using a reveal animation. Pretty neat stuff!
Thiago writes about how to get started with Andrei Misiukevich's great TouchView controller which you can use as a kind of super GestureRecognizer.
Now that Xamarin supports a FontImageSource as a source for an Image, it’s time to create a simple custom Image control that uses it.
NUGET OF THE WEEK
This NuGet package allows you to get an approximation of a users location without permissions by using the IP Address of the device.
Note: Article is in French
There is also a sample over at GitHub which demonstrates how to use it: https://github.com/egbakou/TrackXamarinAppUser
Nuget package App.User.LocationInfo by Kodjo Laurent EGBAKOU
PODCASTS & VIDEOS
Toronto Mobile .NET Developers Meetup - 2019-06-18 - An Introduction to Shiny
Shiny is an exciting new framework for Xamarin & UWP that enables you to work easily with background services & device hardware. In this talk, we will be showing you how to get started with Shiny, how to setup some jobs, and work with some BLE device hardware. We'll also show how to integrate with other great front end frameworks like Xamarin Forms, ReactiveUI, and Prism.
Merge Conflict 155 - Hello iPadOS
Welcome to the world of iPadOS... iOS API enhancements for iPad! At WWDC Apple made several announcements to not only enable developers to enhance iPad apps, but also bring them to macOS. Frank gives us a full breakdown of what this means for developers and our applications going into this fall's iOS 13 update.
155: Hello iPadOS by James and Frank
Xamarin Essentials - Email
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 Email API to enable you to open the default e-mail application pre-filled with recipients, subject, body, and even attachments!
Email (Xamarin.Essentials API of the Week) by James Montemagno
App In The Cloud: Weird stories from 10 years as a mobile developer with Christopher MANUE
Christopher MANUE has worked as a mobile developer for over 10 years, he has for example worked with the MSN and Deezer apps. In this episode, he shares some of his experience and tells us some weird stories from developing high scale apps.
App In The Cloud: Weird stories from 10 years as a mobile developer with Christopher MANUE by dhindrik
4 Awesome Things In Xamarin.Forms 4.0
This week, James is joined yet again by friend of the show David Ortinau, Xamarin SDK & Xamarin.Forms Program Manager, tells us all about the latest features to love in Xamarin.Forms 4.0 including Shell, visual, accessibility improvements, image optimizations, and a lot more!
4 Awesome Things In Xamarin.Forms 4.0 | The Xamarin Show by James Montemagno
This week we are super-excited to introduce none other than Javier Suárez Ruiz a community influencer from Sevilla, Spain.
Tell us a bit about yourself?
Javier Suárez, Community Blogger, former Microsoft MVP, working at Microsoft. A Xamarin fan (even bigger Xamarin.Forms fan) since long time ago. Javier has been leading Xamarin projects years and delivered enterprise apps of the highest quality in the market. Javier has collaborated with the Xamarin.Forms team adding the GTK# backend (Linux) and has created some interesting libraries (Example: Xamanimation) and some nice UI Challenges for Xamarin.Forms. You can find him over at https://twitter.com/jsuarezruiz and https://github.com/jsuarezruiz
Tell us one thing we probably don't know about you?
I live in a city without beach, but I love the sea and scuba diving.
How did you first get into Xamarin development?
I had already developed for iOS in Objective-C, etc. and I enjoyed the mobile development with C# (Windows Phone). After this, that's when I started playing with Xamarin (I started to see articles, etc). Despite the licensing costs of those times, since then I have developed using it. I fell in love with Xamarin.Forms since his first announcement. Over time I was doing more and more projects with Forms. Until today.
What has been the most enjoyable project you have built using Xamarin?
I really enjoyed being able to participate in the development of a Xamarin.Forms backend from scratch with the GTK# backend (Linux). The possibility of knowing everything more thoroughly was amazing. On the other hand, I have a great memory about participating in Xamarin.Forms demos for the Microsoft Connect(); event (Bike Sharing, Smart Hotel, etc). Trying to create something spectacular in order to show the latest features is super fun.
What advice would you give someone looking at getting started with Xamarin development?
Well I would recommend several tips. The first one is through looking a lot of code. There are many samples on GitHub, many live code sessions on Twitch, etc. Take advantage of all that material and practice, practice and practice. Another good advice is to learn about architecture and good practices from the beginning (MVVM, etc.). It will avoid common mistakes in the future. And the latest one, participate with community. Follow some Xamarin devs on Twitter, some blogs (Planet Xamarin), newsletters (Weekly Xamarin), watch sessions, participate in Open Source projects. You will learn more than what you expect.
What are the MUST HAVE tools, resources and libraries that you use when building Xamarin apps?
MFractor and LiveXAML are great. Then, in projects I usually use FFImageLoading, Xamarin.Essentials, Refit, etc.
Where do you think mobile will be in 5 years?
I am not a great visionary (almost 5 years ago Xamarin.Forms did not exist and there are exciting things on the way), but I am excited to be along for the ride and hope to contribute in some other way.
Any other things you would like to share or promote?
I can only say that it is incredible to be part of the amazing Xamarin community, let's continue with it!
Make sure you keep up to date with the prolific work of Javier: