Is WPF XAML Browser Application (XBAP) works on Android and Windows Phone browsers? What are the alternatives?

Yoda picture Yoda · Jun 7, 2014 · Viewed 7.3k times · Source

I want to create simple CRM website for my small company. Thanks to people on stackoverflow I assume that I can use WPF XAML Browser Application (XBAP):

Does WPF XAML Browser Application (XBAP) work on Android and Windows Phone browsers? Is it suppose to be deployed on a server/cloud and then it does not matter what device, internet browser, operating system you use?

This is the technology I am talking about: http://msdn.microsoft.com/en-us/library/aa970060%28v=vs.110%29.aspx

If not, do I have any alternatives involving .NET?


EDIT Xamaring seems tempting but I am afraid that it is too hard for me.

  1. Is it possible to write one applciation in Xamarin and run it on Windows and Android without any changes?
  2. If we are talking about ASP .NET is the website written in ASP ,BET will have full functionallity(buttons, textfields) on Android phone?

Answer

Federico Berasategui picture Federico Berasategui · Jun 7, 2014

Does WPF XAML Browser Application (XBAP) work on Android and Windows Phone browsers?

No.

XBAP is really a HACK to make WPF applications "seem" like they're "web apps" by running them inside Internet Explorer. It does NOT support any other browsers (Chrome, Mozilla, etc) and it does NOT run in mobile devices. It requires the full .Net Framework installed in the target machine and thus it is only runnable in devices which support the full .Net Framework (Windows PC, Notebooks and Tablets with the full version of Windows (NOT RT).

A Web application consists of a Web Server that processes Web Requests and delivers Web Content (consisting of HTML [and optionally CSS and JavaScript]) to Web Clients (HTML-enabled devices and applications such as PCs, NoteBooks, Tablets, SmartPhones).

Anything that does not deliver Web Content (consisting of HTML) is NOT a Web technology and should NOT be used to build Web Applications.

What are the alternatives?

If you need to build a Web Application, then use standard Web technologies, such as ASP.Net.

If you need specialized capabilities in different devices, you can build a Web-Service based API and then create specific clients for each platform. Xamarin is a technology that allows you to do this using C# and a common code base for different mobile targets, which can also be shared in the form of PCLs with Windows Applications (WPF).