Xamarin officially announced PCL support and more...

|
It has been a little while since last update from me. Since then a lot of stuff has happened in the Xamarin world. They have teamed up with Microsoft and released official PCL support, while Microsoft has loosened up their licenses on Bcl and their HttpClient among others. This is really great news!

I have already heard about people releasing their libraries for Xamarin because of the PCL support, among them is Jon Skeet, which is working with his team on Noda Time. There was some questions about what is actually supported in the various profiles, and I have spent the day today to track that down and test various PCL's. For now I have only tested for async/await and Tasks support and which profile supports which targets and contains which subsets.

This can be seen in the table below or by visiting my Google Spreadsheet I have made with it.



From what I can see the best choice for a profile to pick in your project seems to be either profile 78 or 158. The former is reported to not have Timer and ThreadPool in it and if you need support for Silverlight 5, profile 158 seems to be the best choice overall.

Generating QR Code using Google Charts API in C#

|
We are playing with QR Codes at work and needed a quick and simple way to generate QR Codes. I discovered the Google Charts API has a hidden way to generate these. This lead me to make a quick small LinqPad script to generate these. Find it here or see below.


How to Implement "IntPtr Handle and Dispose" in Xamarin.Android

|
Now you might have come by some interfaces you want to implement and then all of the sudden they want you to implement a Handle property which is of the type IntPtr and a Dispose method. If you leave them be your code will most likely never get called. Then you scratch your head and wonder why this is, also you might ask yourself what this Handle is. The brief explanation is that the Handle provides an Android Callable Wrapper to Android. All native Android interfaces extend IJavaObject so they will expect that to be implemented. So the simple answer is that you do not implement Handle or Dispose yourself, however you inherit from Java.Lang.Object which does that for you. So your code will end up looking like this:


Given that IStuff extends IJavaObject. More on this topic can be read in the Xamarin documentation on Android Callable Wrappers

New Mobile podcast with a healthy emphasis on .NET and Xamarin

|
A wild podcast has appeared, this one is called Gone Mobile and made by some cool guys including Greg Shackles (@gshackles), Nic Wise (@fastchicken) and Jonathan Dick (@redth). The podcast as the title says is about Mobile stuff, including news, interviews with people in the industry and much more. The first episode has already aired, which I though was quite enjoyable and I will listen to it in the future.
If you have not given it a listen, I advise you to and see for yourself if it is interesting. The podcast is also available on iTunes if you are into that kind of stuff.

Apple Y U NO FIX Developer Center?!

|
Apple Y U NO FIX Developer Center?! I need a new provisioning certificate and I need to add an App!