Html – Replacing desktop WPF Applications with HTML5

asp.nethtmlwpf

Our little department has been working with WPF for a number of years now, there are only two of us, a designer and a programmer (me). We produce business applications for our company such as shipment tracking and the like.

We've recently began looking into a redesign of our company website and part of this has been a long running discussion on moving our desktop applications into web applications via the website, there are numerous reasons for this I wont go into.

Now the problem I'm having is actually wrapping my head around what HTML5 is and isn't I've spent long hours googling and finding mainly arguments for an against this and that, but i still lack a fundamental understanding of a few points, which I'm hoping to get cleared up.

1. Does HTML5 still need back-end code, such as PHP or ASP.NET?

This is a sticking point for me, our needs are pretty standard. We need to produce an application that can collect and display data from a database, it will need to do some data manipulation but nothing to heavy. Can HTML5 actually do this standalone? or is it still pretty much just the UI front-end?

2. HTML5 Applications – are they actually applications?

This is one that seems to give us the most confusion, different sources say different things on this subject, is HTML5 able of producing an actual application? or is it still just a website with an "app like" UI, much like what is achieved currently with JavaScript.

Best Answer

I'll answer the first point. HTML5 is just a markup language, it has nothing to do with getting data from database. If you want to create a dynamic html website, then you need to have some server engine to exchange data with UI. With ASP.NET server engine you can go different directions.

  • Have just pure HTML pages inside ASP.NET project (e.g. MVC, WebForms), and use services (like Web API/ServiceStack) to provide data. Typically you would use jQuery to get/post data to server and back.
  • Use ASP.NET MVC to create a html5 compliant page and exchange data with the server using controllers.
  • Use ASP.NET WebForms type of project. Here you would create aspx pages, which would contain only html markup (no server controls). In order to pass data from server to the view, you can use hidden fields here.