James Montemagno
James Montemagno

Live, Love, Bike, and Code.

Tags


James Montemagno

Xamarin

Setting Android Status Bar Background & Icon Colors

Over the past few months, I have been attempting to figure out the best ways to implement a light theme and dark theme in my Hanselman.Forms app. Working closely with my friend Kym Phillpotts we came up with a very nice theme changer for Xamarin.Forms, that allowed us to change all of the colors dynamically. The result is a very nice looking application that allows the users to pick their theme or use system defaults. One thing that bugged me in the original implementation for Android, was th…

James Montemagno James Montemagno

Investing Time in the Xamarin Linker for Smaller App Sizes

When developing an app, 99% of our time goes into writing the code, testing the functionality, and making small UI tweaks to please our end users. Most of this is done in debug mode which optimizes compilation and app size for speed, which makes sense. When we flip that flag to Release with the default settings, we often pay very little attention as to what is happening to our app. We get a nice APK or IPA and ship it up to the app store and we are done. However, if we just spent a little time f…

James Montemagno James Montemagno

Azure DevOps Settings for Xamarin iOS 13 and Android 10 Apps

Settings up continuous integration can be tricky when there are new versions coming out. Recently Visual Studio 2019 updated to support Xcode 11, iOS 13, Android 10, .NET Core 3, and C# 8. What a whirlwind of new updates that CI servers got all around the same time! This means that as you were updating your apps your hosted machines also got updated and probably broke your builds :(. My good friend Jonathan Peppers wrote an amazing tool called Boots that allows you to manually install dependenci…

James Montemagno James Montemagno

Is the MacBook Pro 16-inch the Ultimate Developer Laptop?

It seems as though Apple has finally fixed the keyboard on the latest MacBook 16-inch and as a bonus, brought back the escape key! This seems to be what everyone is talking about, but what is really important is the return to PRO for the MacBook Pro. What I mean by this is that finally we can fully spec out a MacBook Pro with as much RAM and SSD space that we could ever want and at a decent price. If you head over to the configuration page you will be able to spec out your MacBook Pro with up to…

James Montemagno James Montemagno

Use C# 8 In Any .NET Project Today

C# 8 was officially released in September at .NET Conf along side .NET Core 3 & Visual Studio 16.3 (8.3 on Mac). It is packed with tons of amazing new features that truly everyone should be using. However, there is a lot of confusing as to if you can actually use C# 8 if you aren't using .NET Core 3 or .NET Standard 2.1. Short answer: YES! You can use it today. Long answer: YES! You just have to turn it on and perhaps add a NuGet package or two for certain features. When you create a new ap…

James Montemagno James Montemagno

Free C# and Xamarin for Beginners Videos Series

Last week Hanselman announced all of the great new videos that are available at dot.net/videos. However, he forgot to mention that there is an entire new getting started series for iOS & Android development with Xamarin! The lovely developer advocate's and friends Matt Soucoup and Brandon Minnick just released the 11 part series! If you are new to C# then don't worry as there is a full C# 101 series. It has never beena better time to get started learning C# and building mobile apps with Xam…

James Montemagno James Montemagno

James on Tour - October 2019 Europe Edition!

I can't believe it is October already! What an amazing year with so many amazing announcements for Xamarin developers. Between Build, Xamarin Developer Summit, and .NET Conf there truly has been something for everyone. Now, I want to take this Xamarin goodness on the road for a two week Europe roadshow! I worked closely with user group leaders all over Europe to set up a great schedule where I am literally traveling just about every day! Oct 22nd - 23rd - DevReach - Sofia, Bulgaria To kick thin…

James Montemagno James Montemagno

Optimizing Xamarin Apps & Libraries with the Linker

The Xamarin linker is one of the most important pieces of technology when building mobile apps, that no one knows exists. It does all of the hard work for you, stripping out all unused code from libraries that you include in your apps. It should only be used in release mode as it takes extra time to compile your app, but means that your app will be smaller: The linker has specific implementations for both iOS and Android and is completely customizable. Linking for App Developers Before I get…

James Montemagno James Montemagno

I crush code and share it, publish NuGet packages, speak at conferences, upload videos, pretend I am good at playing video games, tweet up a storm, drink gallons of coffee, and ride my bike. Checkout my monthly newsletter that you should subscribe to!