Xamarin.Forms – Which tools do you use?

If you’re developing cross-platform applications using Xamarin.Forms then you’re likely to be using either Visual Studio or Visual Studio for Mac (as an aside, if you’re new to Xamarin.Forms you can get the tools you need for free, so don’t feel you need to go out and purchase the professional version of Visual Studio!). The … Continue reading “Xamarin.Forms – Which tools do you use?”

If you’re developing cross-platform applications using Xamarin.Forms then you’re likely to be using either Visual Studio or Visual Studio for Mac (as an aside, if you’re new to Xamarin.Forms you can get the tools you need for free, so don’t feel you need to go out and purchase the professional version of Visual Studio!). The question is, what other tools should you be using that can assist you and hopefully improve the quality of your code and the architecture of you application. In this post I wanted to just point out a couple of tools that are worth taking a look at.

Resharper

I think if you’re a .NET/C# developer you’d be remiss if you hadn’t used Resharper at one time or another. For me this is one of the first extensions I add when I’m setting up a new machine. However, it’s also one of the first I disable if Visual Studio is playing up – from time to time different versions of Visual Studio and Resharper just don’t play nicely together.

Also worthy of a note, and also from Jetbrains who make Resharper, is a full IDE called Rider that some developers have taken a liking to.

MFractor

Announced literally days ago – MFractor for Windows is now available. For Visual Studio for Mac users, MFractor has been an essential for Xamarin.Forms developers.

It’s early days for MFractor but the team have been hard at work and I think this will be a tool that every developer should take the time to download and give it a shot.

XamRight

Another tool that can help with coding and refactoring XAML in your Xamarin.Forms is XamRight.

XamlStyler

For keeping your XAML coding in check, XAMLStyler is a simple solution for enforcing consistent layout for your XAML.

It’s great to see all these tools appearing to support Xamarin.Forms developers. Feel free to leave a comment for tools that you use to improve your productivity.

Decompilers for .NET and Windows (UWP) Apps

I think I’ve been living under a rock as I’ve only just come across dnSpy, a decompiler for .net! I’ve been building apps and services with .NET for a long time, so a Twitter thread talking about decompilers amused me. David Kean’s comment pretty accurately reflects my sentiment regarding Reflector. You can pry ildasm from … Continue reading “Decompilers for .NET and Windows (UWP) Apps”

I think I’ve been living under a rock as I’ve only just come across dnSpy, a decompiler for .net!

I’ve been building apps and services with .NET for a long time, so a Twitter thread talking about decompilers amused me. David Kean’s comment pretty accurately reflects my sentiment regarding Reflector.

Reflector was such a simple tool and it just worked. That was until Red Gate took over and I can’t even remember what happened to it. Does it still exist?

The thread started with Jared commenting that developers should be using ilSpy instead of hacking with ildasm. I’ve rocked ilSpy in my toolkit for a while now and it’s always served me well. In fact I go so far as to set it as the default file handler for .dll files. After all, what other program are you going to want to launch when you double-click on a .dll file.

dnSpy: A Decompiler for .NET

What really knocked my socks off was that someone mentioned dnSpy which I’d never heard of. Thinking it was something similar to ilspy I didn’t think much of it but figured I would download it and take a look.

Next thing I knew it was like I had opened an entire development environment. The layout was familiar, all the way down to the Debug menu that allows me to attach to process.

What? come again? Attach to Process? Yes, that’s right you can attach to a running process, set breakpoints and intercept exceptions (and I’m sure a whole bunch more things. Ironically whilst I was attempting to modify an image of dnspy running, Paint.NET crashed on me. Whilst Paint.NET was hung, I was able to attach to the process using dnspy and see that it was stuck waiting for a print dialog to return.

dnSpy: a Decompiler for .NET

If you’re using ilspy, you should check out dnspy

For anyone still using ildasm, you should check out ilspy and dnspy

Developers not using a decompiler, what have you been doing? Get yourself a decompiler for .NET, and use either ilspy or dnspy.


Nick Randolph @thenickrandolph
If you need help debugging your application, contact Built to Roam


Where’s the Latest Android Emulator?

Where’s the Latest Android Emulator?

I’ve been struggling to get the Android emulator to perform at a level where debugging was possible. After upgrading to VS15.8 I was able to switch over to use the new Windows Hypervisor support (note that “Windows Hypervisor Platform” is different from the Hyper-V feature in the Windows Features dialog). However, I found that the performance of the emulator was so bad that debugging was barely possible – infinitely worse than when I was using the HAXM support.

After spending a bit of time searching online I came across references to versions of the Android emulator that were higher than what I was using. I double-checked the Android SDK Manager just in case there were updates available but there were none.

Eventually I realised that by selecting the cog in the lower right corner of the SDK Manager I was able to switch from the Microsoft repository across to the Google repository.

image

After switching to the Google repository there was indeed an update to the tools, which included the new emulator version.

Did this fix the performance issue? Not entirely. Performance was better in the Android P emulator but still nowhere near as good as a real device (even an old one).

If all else fails, go to the source. I reached out to Miguel and asked if this was a known issue.

image

Looks like we need to wait for a Windows update in order to get this performance fix.