Thursday, November 14, 2013

Profiles in the new Portable World

There was lots of great news yesterday - including Microsoft shipping lots of their PCL libraries under a new permissive license and Xamarin working with Microsoft and shipping working PCL support to stable




For those of you who are already ahead of the curve and working with PCLs across all the modern platforms, then this is all really great news. It really reaffirms the direction MvvmCross has been following for the last 18 months.


However, there are some teething problem right now and I'm afraid solid information about what has shipped and how it works is a bit thin on the ground right now.


Right now, if you want to carry on working with PCLs and MvvmCross, then I think some of the steps you may need to take are:

  • If you want to build on Mac, then you may need to change the profile of your PCL from 104 to something newer - with many people currently seeming to choose profile 158. To do this is as simple as editing the csproj file. However, please be aware that doing this will remove support for Windows Phone 7.5 - profile 158 only supports Windows Phone 8 and higher
  • If building Droid projects outside of Visual Studio, you may also need to remove the assembly references to the MvvmCross System.Windows.dll and System.Net.dll - and you may instead need to use the assemblies of the same names that now ship from Xamarin
  • If using nuget, then you may need to update to the latest release (2.7.2) and you may need to use the latest prerelease 3.0.14-beta3 packages from MvvmCross - these are available if you select "include prereleases" inside nuget


Obviously these instructions are "a little sketchy" right now. Sorry - we're doing are best to work with the information that's available. It's not yet really clear what the current state is - how stable the released things are. Hopefully, we'll all learn a lot in the coming days :)


It does seem like Microsoft have forced the retirement of WP7.x development - so it does look likely that we will retire WP7.x support from MvvmCross


It may also be that the future of MvvmCross (v3.1?) lies in one of the 4.5 profiles - like profile 78 - rather than in the 4.0 profiles like 104 or 158. However, this depends a bit on how well the new open Bcl packages can work with Xamarin - and it depends on how we find a way to continue our Silverlight and Unity3D support.


I'll be back with more definitive news real soon :)


The future is portable... and it's now? :)

No comments:

Post a Comment