Viewing applications on mobile devices might sound like a small problem statement, but the actual solution requirement is much broader than just resolution adjustment. Some of the major challenges involved in the solution architecture are:
1) Single codebase for the model and controller layer, and using the same for creating different view layers for different devices and platforms.
2) Whether to create a webapp optimized for devices or whether to create a native application that calls webservices / displays web content.
3) HTML5 is supported in different capacities by different browsers, and most of the microsoft frameworks do not emit HTML5 by default. In fact features like local storage is not supported below IE8+. Also its quite heavier to use as the data exchange format for devices, compared to JSON.
4) Whichever framework is used, cross-browser compatibility is always an implicit / explicit business mandate.
5) Using same navigation design, for different sized devices like iPhone, iPad, Tablets and Desktops, would not be admired by users from a usability and user experience perspective.
6) REST based services are more faster and lighter to use compared to WCF based webservices. But WCF has got a very wide support, features and integration with .NET.
Below are some pointers that can be kept in mind while designing the solution / technology architecture:
1) HTML5 is supported by most modern browsers used on different devices. Creating a web application with HTML5, CSS3 and JavaScript is the most advisable step if you are completely inexperienced in mobile application development.
2) Web-based frameworks like jQueryMobile, Sencha, and Dojo can leverage the existing web based SDKs / codebase to build more sharper mobile applications in faster, easier and efficient manner. These frameworks have built-in libraries to use REST and JSON too for client-server communication. Even if web application is converted native application in the future, http/rest/json based communication protocol is supported by platforms like android, iOS and others.
3) To take your web application development framework to the next level, use frameworks like appMobi, Appcelerator, PhoneGap, ApplicationCraft and others to build native applications using JavaScript.
4) More about how to build iOS application from scratch can be read from here.
I have implemented architectures, where we create .NET user controls that makes programmatic calls to SSRS webservice for reports execution. The HTML output returned by SSRS report is collected and rendered in the control. These controls are hosted in .NET pages, which are hosted on Sharepoint. Finally when server leaves control, entire web content gets transmitted as HTML. By introducing HTML5 conversion wrappers at different layers depending upon the design of the solution, not only SSRS reports but any web application can be optimized for mobile devices.
There is lot more to consider like performance, navigation design, user experience, local data storage and others such points. Feel free to share your thoughts and experiences by commenting on this post.
3 comments:
With SQL Server 2012 SPI, you can view and interact with SSRS reports on Apple iOS devices with the Apple Safari browser (such as iPad).
http://msdn.microsoft.com/en-us/library/jj659023.aspx
With SQL 2012 you can view reports on IOS but Report Manager does not work and there is still no HTML5 control from MSFT.
I used to run the SSRS team at Microsoft and I have developed a solution for all of my customers out there who are looking for a modern, mobile, responsive solution for SSRS reports. If you are interested please take a look at forerunnersw.com
Hey I am a SSRS Report developer. Mostly I am being work in Windows Platform. Now requirement came to me to develop in IPad. I don't have any Idea about IPad SSRS.
What is the basic requirement needed to me to develop the APP and Report in iOS Environment. How to integreate both. Where we have to deploy the report. How to call the report in Mobile App.
Please share any article if you have
Post a Comment