xamarin

apizr2

14 Jan: Apizr – Part 2: Resilient core features

This article is part of a series called Apizr: Apizr – Part 1: A Refit based web api client, but resilient Apizr – Part 2: Resilient core features (this one) Apizr – Part 3: More advanced features Apizr – Part 4: Requesting with Mediator pattern Apizr – Part 5: Requesting with Optional pattern In Part 1, we’ve seen basic requesting features offered by Apizr. Some classic and well known request designs if you get some Refit skills, plus some built-in CRUD exclusive apis. In this Part 2, we’ll go through what exactly Apizr has to offer beyond its requesting main features, to reach our goal of something easily resilient. Here are some of its core features: Connectivity checking Authenticating Policing Prioritizing Caching Mapping Logging OPTIONSBUILDER While initializing, Apizr provides a fluent way to configure many things with something called OptionsBuilder. Each initialization approach comes with its OptionsBuilder optional parameter, no…

apizr1_full

17 Dec: Apizr – Part 1: A Refit based web api client, but resilient

This article is part of a series called Apizr: Apizr – Part 1: A Refit based web api client, but resilient (this one) Apizr – Part 2: Resilient core features Apizr – Part 3: More advanced features Apizr – Part 4: Requesting with Mediator pattern Apizr – Part 5: Requesting with Optional pattern Into this Apizr blog post series, I’ll try to demonstrate all features offered by the Apizr library, starting from core and going further with integration packages. Apizr project was motivated by this 2015 famous blog post about resilient networking with Xamarin. You should read it if you didn’t yet, because it’s old but still valid. My focus with Apizr was to address at least everything explained into this old article, witch mean: Easy access to restful services Work offline with cache management Handle errors with retry pattern and global catching Handle request priority Check connectivity Fast development…

Playground3

14 Dec: Playground – Part 3: Catch it, trace it, log it and upload it

This article is part of a series called Playground: Playground – Part 1: A Xamarin.Forms Microsoft.Extended journey Playground – Part 2: Settings with Options pattern Playground – Part 3: Catch it, trace it, log it and upload it (this one) In the previous article, we implemented our settings layer. In this one, we’ll add some logging capabilities to our Playground. As Shiny comes with its own logging system built in, I was wondering if official Microsoft.Extensions.Logging packages could add some more value or not. Actually, not so much as it adds a lot more package dependencies for almost the same job offered by Shiny.Core’s logging system. Also, if Shiny’s ILogger interface offers the opportunity to save some more key/value parameters while tracking events and exceptions, it’s not available into the extension one AFAIK. So, if we’ll use a built-in feature, why this article? Because I want more 🙂 First of…

Playground2

10 Dec: Playground – Part 2: Settings with Options pattern

This article is part of a series called Playground: Playground – Part 1: A Xamarin.Forms Microsoft.Extended journey Playground – Part 2: Settings with Options pattern (this one) Playground – Part 3: Catch it, trace it, log it and upload it In the previous article, I created an empty project with Xamarin.Forms, Prism, Shiny and ReactiveUI all wired together. Now, one of the first thing we do need is managing settings. As we get access to IServiceCollection in our Xamarin.Forms app thanks to Prism and Shiny, the door is wide open to use any extensions available for it. One of those are Microsoft.Extensions.Options and Microsoft.Extensions.Configuration. We’ll try to find out how it could be useful for settings management.

Illus-JBP-2

07 Dec: Playground – Part 1: A Xamarin.Forms Microsoft.Extended journey

This article is part of a series called Playground: Playground – Part 1: A Xamarin.Forms Microsoft.Extended journey (this one) Playground – Part 2: Settings with Options pattern Playground – Part 3: Catch it, trace it, log it and upload it Into this Playground blog post series, I’ll try to experiment some concepts, frameworks and plugins, to find out how it could be useful to build a base project. A project that could be a good starting point for further customer specific mobile developments. You know we are talking here about this famous templating project we probably all try to create, reshape, and trash and again and again like almost every year. So this one should be the one? Well it’s not the point actually. I just like to play with all exiting stuff coming from the open source community like Xamarin.Forms, Prism or Shiny, and my base target is to…