At the moment, Open RIA Services is 87% cross platform
Categories: Open RIA Services, General
Other articles by:ColinBlair Colin Blair
One of the main goals for Open RIA Services is to make it cross platform. You should be able to use the native client across any .NET platform. The development plan for accomplishing this is really complicated, sophisticated, and technical process. This process uses the following steps:
- Branch the code
- Manually convert projects to Portable Class Libraries
- Fix compilation errors where possible
- Repeat steps 3 and 4 as often as needed until code simple can't be made cross platform
- Strip code that isn't cross platform out and move it into platform specific support libraries
- Write new HttpClient based service layer to talk to Web API based DomainController
I know, that sounds as sophisticated as trying to fix my phone by hitting it with a rock until it works. What I didn't say is that I already know most of the code that is not going to compile. How? Xamarin told me.
What I find must astounding is that without doing anything we are 98% compatible with iOS. We apparently just need to strip out the CollectionViewSource code and we are ready to support the iPhone. I am sure that in practice the reality will be much more complicated, but having some hard numbers before we even have code is still reassuring.
The piece of RIA Services that actually communicates with the server, the System.ServiceModel.DomainService.Client.Web.dll in WCF RIA Services, is at 82% compatibility. We are replacing it completely with a new HttpClient based service layer so I didn't include it in the above analysis.
In case you are wondering (for purely academic curiosity of course), the server dlls of RIA Services are 67% cross platform, mostly hamstrung by Windows Phone and WIndows Store not supporting ASP.NET.