I work as internal software developer. We used Silverlight to build our application, but we have been asked to start considering their replacement.
Currently our set-up is:
- Silverlight application for client side.
- Asp.Net soap web service. Deployed in two servers with a load balancer.
- MS SQL server 2008. Also Deployed in two servers with a load balancer.
Our application as as a sort of suite, performing several different functions, included but not restricted to:
- Reporting.
- Data analysis.
- Front-end for several database tables that are used both for other processes in the application, and for other applications in the company.
Our constraints:
Limited development resources: We are a small team, a dozen or so developers, and while we have already hired more people to be able to cope with a increasing work load, getting more reinforcements is unlikely. Time also is constrained, as new projects, bug fixes,requests for new features in existing application and changes in the business logic are quite frequent.
Slow technology update: Our company changed from Windows XP to Windows 7 last year, and only because the support ended. We started considering to upgrade database servers to SQL server 2010 recently. Official browser is Internet Explorer 9 and Chrome. New Servers,licenses and tools can be requested, but they often take time.
Big, slow data: Some of our data come from tables big, clunky tables with million of rows and many columns, with only the bare minimum indexing, because they are updated frequently. We have little control over those specific big tables because they are feeds from other systems and requesting changes in those feeds is possible, but, as before, it takes time.
User mentality: The managers appreciate the fancy interfaces and dashboards to show in meetings. All users appreciate responsiveness and general UI smoothness. Also, many of our users come from a Excel background, which means that they are accustomed to take big chunks of data and filter them, perform analysis, make statistics, generate charts, etc, and they expect to be able to do it in the application too.
Our own experience: Most of our developers have backgrounds related to .net, asp.net, Windows Forms and Silverlight. Only a few of us have Java experience (non android). Only a few of us have experience with web applications besides some small projects.
Our past: The first iteration of our application was a windows forms application who suffered an acute case of installer bloating. Some of the IT heads decided that this could be solved by turning it into a web application. Since this was before HTML5 and we were still using IE6 as our official browser, we decided to go with Silverlight as it offered us the best compromise.
Our advantages:
Homogenized hardware: Most users use exactly the same type of laptop with the same specifications. Available screen size range is not very wide, so we should not have to struggle with different resolutions.
Intranet: We work in a controlled environment.
Reasonable budget: Most request for Servers,licenses and the like will be approved if a sufficiently good reason is given.
Recently, the higher ups has started to fear that Silverlight support may end abruptly. And they have suggested that we update the application to a more stable technology, hinting that HTML5 would be a good idea. They have asked us how feasible would be, and how much time it would take. We have next to 0 experience in this type of projects, so we are researching a bit to be able to give them an answer. This is my question:
Given this situation and set-up, would be feasible to port this kind of application to a web application with HTML5 and asp.net while keeping most of its functionality?
If not, why? Which of the above would need to be changed in order to make it possible?.