James Montemagno
James Montemagno

Live, Love, Bike, and Code.

Tags


James Montemagno

cedar_format_image

Why I Choose Xamarin to Build Cross-Platform Apps

It has been a little over 7 years since I left my day job at Canon crafting wonderful printer workflow management software, to dive into the world of mobile development. At the time it was an extremely tough decision because I had been only working on desktop Windows Forms and WPF applications, and this change meant entering a whole new unknown world of platforms that I didn't know much about. This move was not only changing my main day job, but also the city that I lived in with a fresh sta…

James Montemagno James Montemagno

Real Time Communication for Mobile with SignalR (Core)

Real Time Communication or RTC as the cool kids call it has always been a hot topic, especially for mobile. In normal mobile development when we wanted to get updates of data we would make a web request to a server, pull down data, and update our user interface. If you wanted to get bits of data on demand and in real time you would have to integrate WebSockets or some sort of push notifications to receive data as it is happening. However, it doesn't have to be anymore with the latest version…

James Montemagno James Montemagno

Upgrading to Xamarin.Essentials from Plugins

Xamarin.Essentials [https://docs.microsoft.com/en-us/xamarin/essentials/] is a new official library from Microsoft (that I worked on) that provides developers with over 30 cross-platform APIs for their mobile apps to tap into to access native features. Yes, this may sound similar to Plugins for Xamarin, but it is an evolution that is super optimized for each plaform, provides a consistent API, and is super crazy well documented. And of course it is completely open source on GitHub [https://githu…

James Montemagno James Montemagno

Optimizing C# Struct Equality with IEquatable and ValueTuples

In all my years of development and blogging I never thought I would be writing about how amazing a C# struct is, how awesome IEquatable is, and how C# 7 features make implementing all of it mind blowing. In Xamarin.Essentials we use the C# struct [https://docs.microsoft.com/en-us/dotnet/csharp/language-reference/keywords/struct] all over the place to encapsulate "small groups of related variables" for our event handlers. They are groups of data that don't need to be created by t…

James Montemagno James Montemagno

Resolving Android Support Library NuGet Installation Issues

Xamarin.Essentials [https://docs.microsoft.com/xamarin/essentials/] has to be my favorite project that I have worked on at Xamarin so far. Bringing together over 30 native platform specific APIs into a single API that creates a linker safe and optimized library that so far has really delighted developers. I did some surveys last week and everyone could not stop saying positive things about the library, which is awesome! One thing stood out though that seems to be causing issues, which is how NuG…

James Montemagno James Montemagno

Welcome to Montemagno.com Version 2.0 & Newsletter!

Nearly a year ago I re-launched montemagno.com [https://montemagno.com/welcome/] with the goal of creating a website rich of developer content, powered by Ghost [http://ghost.org] a great CMS system, and with beautiful branding [http://cinderdesign.co/] and theming that was mobile responsive. Monthly Newsletter Something I have always wanted to have was a newsletter that would allow me to have a closer relationship with my readers than just back and forth on Twitter [http://twitter.com/jamesmon…

James Montemagno James Montemagno

Xamarin.Forms: Official Bottom Navigation/Bottom Tabs on Android

Bottom tabs on Android... Love them... Hate them... it doesn't matter because Google seems to be all in on them. Top tabs were really designed to sort differerent types of data, while bottom tabs make a lot of sense when you want to use them for your entire application's navigation. It also has the perk that it synchronizes your application design and navigation with the iOS counterpart. Since Xamarin.Forms maps to the native controls, when you create a Tabbed Page you get the tabs exa…

James Montemagno James Montemagno

Xamarin.Forms: Drop Shadows on Android Navigation Toolbar

One thing that always bothered me when developing Xamarin.Forms applications for Android is that for some reason the toolbar area looked flat... well because it was flat: See how it just melds together with the rest of the applicaton. Where is that lovely drop shadow that we know and love?!?!?! Well, it is a bit complicated as that elevation drop shadow comes from the Toolbar and Xamarin.Forms applications only have 1 today that you don't really have access to. I have asked to extend the…

James Montemagno James Montemagno