Hey Xamarin Peeps!
This issue we have more links than you can poke a stick at! (I think that's an Australian term). Very exciting! Thank you so much Xamarin Community.
Speaking of community, we are introducing a new section into the newsletter called "Xamarin Introductions" where we get to find out more about the amazing members of the Xamarin community. The idea is each week we will have a "interview" with a Xamarin hero, so we can learn more about them and the tools they love. Hope you like it.
Have a great weekend everyone, and thanks for reading
Xamarin.Forms 4.0 Launched!
So much excitement at the release of Xamarin.Forms 4.0.
Watch the Xamarin team unveil all of the new features in Xamarin.Forms 4.0. Also make sure you check out the blog post on the release
Xamarin.Forms 4.0 Live Stream Launch Event by James Montemagno
Welcome to the Shell Era: Xamarin.Forms 4.0 Released by David Ortinau
Xamarin Forms Roadmap
A great bunch of resources for learning Xamarin.Forms!
C# Regex Examples
I suck at Regex queries, but then again, who doesn't? Well, maybe not you after you check out some recipes for Regex in C#.
C# Regex Examples by C# Curator
Factory Method and Abstract Factory
Learn about the SOLID principles and Patterns with this series of blog posts. In this issue Carmel discusses Factory methods.
Design patterns in C# – Factory Method and Abstract Factory by Carmel Eve
Free Animation Handbook
This is a free ebook by Ryan McLeod a winner of the prestigious Apple Design Awards as a developer of the iOS app Blackbox. Lots of great insights, you can download the PDF or read it on the web.
When it comes to software design, animation is a limitless way to make digital products feel more real by replacing “telling” with “showing.” Learn how you can use animation to demonstrate abstract concepts, make products feel more life-like, and instill more emotion into digital experiences.
Animation Handbook by Ryan McLeod
UI Testing with Xamarin.UITest
Testing your apps must be a go-to if you plan to ship quality applications. You can unit-test your code for flaws in the logic side of the solution. That kind of tests are extended, and there is plenty of frameworks you can use. In essence, unit tests are more coupled to the language, but UI Tests are platform independent.
Some scenarios you can find mobile UI tests useful:
- Verify bug regressions
- Prove that a bug has been resolved
- Check app UI behaviour in different screen sizes / OS versions
- Automate app navigation for screenshots
- Check for validations
Check out this blog post for some practical tips and tools.
Automate the UI testing of your app with Xamarin.UITest for Xamarin.Forms – A practical implementation by Plain Concepts
SQLite Performance Tuning In A Nutshell
SQLite is used in wide variance of use cases. As small application repositories, as a file store for data exchange or even as a full fledged database with huge amount of data and complex queries. Learn how to tune your SQLite queries.
One of the most frustrating things as a frontend developer working with a third party (or even sometimes your own) backend is when you seem to be getting incorrect or missing data – you don’t know whether it’s your application or the services that are doing something weird. Fiddler can help, and Nick can help you get started.
Debugging Http/Https Traffic using Fiddler for Xamarin iOS, Android and Windows (UWP) Applications by Nick
Postman 7.1: Create APIs directly within the Postman App
Postman 7.1, available now, includes the ability to create APIs directly within the app. This addition places the API itself at the center of the Postman user experience as a first-class element in the development workflow.
Postman 7.1: Create APIs directly within the Postman App by stacee
Introducing Push to User for Visual Studio App Center
We made some recent changes to Visual Studio App Center that enable our customers to associate app users with their data in App Center. App Center customers can use this user association to send push notifications to specific users through App Center Push.
Introducing Push to User for Visual Studio App Center by John Wargo
Managing HTTP & Cleartext Traffic on Android with Network Security Configuration
Did you know that starting with Android 9 (API level 28) cleartext(non-HTTPS) support is disabled by default? It is always recommended to make connections over HTTPS to ensure that any web communication is secure.
Managing HTTP & Cleartext Traffic on Android with Network Security Configuration by James Montemagno
The basics when developing a map tracking UI is showing the driver route and car position on the map. The car should move according to its current position in the route In this article, Rendy will show you how to achieve just that by using Xamarin Forms and Google Maps.
Shell - The New Navigation Paradigm in Xamarin Forms
Learn more about the new Shell system in Xamarin.Forms 4. In this follow up post Eduardo takes a closer look at this new navigation paradigm so you can start using it freely to create the apps that you need.
May 21 Structure of Shell - The New Navigation Paradigm in Xamarin Forms by Eduardo Rosas Osorno
Xaml and BindingContext
Learn a little about XAML Binding context and some tricks with this Xamarin Rocket.
Note: Post is in Portuguese
Xamarin Rocket #10 — Um Relógio, Xaml e BindingContext by Thiago Bertuzzi
Input Masks in Xamarin Forms
When we develop an Application, it’s important to take into consideration every feature possible to ease the user’s experience. Our brain behaves based on patterns, therefore, has the ability to understand certain information faster according to its presentation, and that is where Input Masks come in.
Generally when we create a settings screen in Xamarin.Forms, we use the TableView Layout , which makes it easy for us to create the lines with the controls we need. However there is a sensational package, which makes our life even easier by inserting many more options ready for the controls, this is the AiForms.SettingsView and today we will see how to implement it!
Note: Post is in Portuguese
O X do Xamarin Forms — Criando uma tela de Configuração com Custom SettingsView by Thiago Bertuzzi
The F# development home on GitHub is now dotnet/fsharp
TL;DR We’ve moved the F# GitHub repository from microsoft/visualfsharp to dotnet/fsharp, as specified in the corresponding RFC. F# has a somewhat strange history in its name and brand. If we roll back the clocks to the year 2015, F# sort of had two identities.
The F# development home on GitHub is now dotnet/fsharp by Phillip Carter
NUGET OF THE WEEK
So much NuGet goodness
Recently Steven Thewissen has been pushing out NuGet packages with components that he uses in his every day Xamarin work. This blog post is meant to give you a little overview of these packages and how they can help you in your daily mobile development flow. So much goodness you never knew you needed. ;-)
A quick explainer: recent NuGet packages by Steven Thewissen
Geofencing with a Pinch of Notifications - Shiny Style
GPS & Geofencing is a common need for mobile and IoT platforms alike. However, mobile platforms with backgrounding in this area are always painful and that is being nice. We've tried several plugins over the years, but they have all some sort of pain point. Shiny aims to solve all of these as it provides a lot of base infrastructure to make things... shiny ;)
Geofencing with a Pinch of Notifications - Shiny Style by Allan Ritchie
Finding a Career Horse to Ride
Solid career advice from Steve Smith. Find a horse and ride it!
Time management for Software Development
Most of us struggle with time management (I know I do). The Pomodoro technique is something that I find very useful. But does it work for developers who require time to ramp up and are (normally) easily distracted? This blog post proposes a developer focused Pomodoro technique.
The 50-10 Time Box - Revising Pomodoro for Software Development by Charles L Flatt
PODCASTS & VIDEOS
Merge Conflict 150: We Have Lift Off
The lighting talk topics tradition is alive! We are answering your questions and commenting on your topics! 8 of them in total including how to keep up with Android, how we met, UI testing, figuring out if dependency injection really is hype, and how to land a job without a CS degree.
150: We Have Lift Off by James and Frank
Xamarin.Forms 101: Dynamic Resources
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.
Pretty XAML With XAML Styler
I love XAML Styler to keep my XAML formatted nicely.
This week, James is joined by friend of the show & Microsoft MVP Nico Vermeir shows off a Visual Studio extension that will change our life.... XAML Styler. It is the ultimate styling tool to help you make your XAML for Xamarin.Forms super pretty!
Xamarin Introductions - Ryan Davis
We are excited to have the first of the Xamarin Introductions series with Ryan Davis, who is a developer based in Brisbane, Australia. You may have seen some of his amazing UI works highlighted in the recent Community Challenges run by the Xamarin.Forms team and featured during the //Build 2019 conference. Let's learn a little about Ryan.
Tell us a bit about yourself?
A hobbyist-turned-professional developer with a penchant for .NET and mobile 📱
Tell us one thing we probably don't know about you?
Nintendo over Sony, iOS over Android, Azure over AWS, code over XAML, and tabs over spaces (not sorry)
How did you first get into Xamarin development?
I started out in mobile writing silly apps for iOS back when (after having been a staunch Apple holdout) - I got my first iPhone, a 3Gs. I used to alternate between writing objective C and googling things like "How to write iOS apps in Windows" or "How to write iOS apps using C#".. and here we are. I like to say I came to Xamarin for the C# and stayed for the community, which is what helped me take things from 'dabbling in mobile for fun' to doing it professionally.
What has been the most enjoyable project you have built using Xamarin?
I'd have to go with AR Bound - the demo app I use for my Introduction to ARKit talk: https://github.com/rdavisau/ar-bound. I decided to theme it after one of my favourite old video games - EarthBound - so in addition to playing with all the cool AR bits that ARKit offers, it gave me the opportunity to learn about how various game-related effects can be implemented - things like audio, progressive/typewriter text display, and my favourite - the crazy EarthBound battle background animations.
What advice would you give someone looking at getting started with Xamarin development?
My personal suggestion would be tap into the Xamarin community - that might mean following people on Twitter and Planet Xamarin in the first instance, which will give you an idea of what some of "the pros" are thinking, saying and doing. If you want to become more involved, participating in the various Xamarin challenges is a great way to dip your toes in and the community is very welcoming to newcomers. Getting along to a local meetup can a good option too.
From a learning perspective, the docs experience is first class, there's a bunch of quality content on Microsoft Learn and a growing number of Xamarin streamers on Twitch - spoiled for choice! I also have a (relatively opinionated) talk, "Starting out Right with Xamarin", that you might take tips from: https://ryandavis.io/starting-out-right-with-xamarin-2018-edition/
What are the MUST HAVE tools, resources and libraries that you use when building Xamarin apps?
There's a great newsletter I really like - 'The Weekly Xamarin', you should definitely check that out. Twitter, community blog posts and the docs serve me for resources.
For tools, I just use the basics - VS4Mac for apps, VS for the backends, and Parallels/VMWare to go MacOS->Windows and Windows->MacOS respectively.
For packages - Akavache for storage, DryIoC for DI, Essentials for the essentials (and of course, the interfaces 😇) are all staples.
And of course I am still quietly sitting here using @praeclarum's Continuous. It's the only package that truly ends up in every one of my projects, big or small.
Where do you think mobile will be in 5 years?
I won't claim to be a visionary, but I am excited to be along for the ride!
Thanks Ryan for sharing a little about yourself. You can find out more about what Ryan get's up to at: