ASP.Net Framework for mobile websites
Using ASP.Net for mobile development brings numerous advantages, including custom controls and a flexible, adaptive architecture. Juned Ahmed Ghanchi introduces us to the common approaches, the architecture and the web server controls.
ASP.Net web development for browsers in mobile devices is similar to a great extent similar to developing pages for browsers on desktop. This has been said just to explain the ease that this environment provides for both types of web development, whether for desktops and mobile devices. Particularly for mobile development the environment provides a System.Web.Mobile namespace. This allows you to create a mobile web page from the MobilePage base class and further optimize the page by adding controls from the aforementioned namespace. The mobile specific namespace within the ASP.Net development environment offers an array of web server adapters and controls useful for creating web based feature rich applications.
ASP.Net development for mobile web pages is unique in many respects. It provides custom controls and adaptive architecture allowing creation of different types of device adapters to meet the requirement of web server controls. This flexibility and versatility in using adaptive architecture for a variety of controls is a unique attribute of ASP.Net development for mobile websites. In both desktop browsers and mobile devices ASP.Net development follows a typical event driven model allowing the web based app respond in intuitive and user friendly way to commands and user requests.
Approaches taken while developing mobile web applications
Mobile devices are known for their small screen sizes that offer immense constraints as far as displaying a web page is concerned as compared to display on a desktop screen. Naturally, designing a user interface with easy accessibility from mobile devices is a challenging aspect for developers.
Secondly, the browsers on mobile devices mobile may be inept to support all the features known in desktop browsers. This means that a mobile browser may not work in the same fashion as in a desktop browser with all the features. These are the challenging aspects of mobile web development and ASP.Net with an adaptive architecture offers all the answers to these challenges. But before that, let us consider some common approaches to solve these challenges.
A separate web app for mobile devices
You can create two different versions of the web app respectively for desktops and mobile devices with device specific controls and manoeuvres in both of them. If you have rigorous mobile focus this approach can be useful enough.
A responsive website dealing with both mobile and desktops
This approach is the most popular one since the developer can address all device specific issues through a single website. This is also the most challenging development approach since it needs to address a wide array of attributes in different devices. According to this approach the web pages having been requested from a device just determines whether the device in question is a desktop or a mobile device and as per the finding the layout, navigation and other user interface elements are changed for a better device specific display, navigation and activities.
Both the above mentioned development approaches have their specific advantages and disadvantages. In the former approach of separate mobile specific development one needs to maintain two distinct versions of the same web app or website. That means changing a single feature or any element in the desktop version you need to incorporate that instantly to mobile version as well. Maintaining this separate focus can be time consuming, more involving and prone to errors. On the other hand, the responsive development offers the ease of addressing different devices with the same codebase and makes it easier to manage and optimize a web app for diverse range of devices. Lastly, one must agree that both the mobile specific and responsive approaches have their own set of advantages and drawbacks.
Mobile application architecture
ASP.Net as a development environment offers most adaptive and user-friendly attributes both for creating web pages and mobile apps. The web pages created for desktops in most times do not offer the same fluidity and responsive display on mobile devices if the development process does not consider mobile display and usability aspects from the beginning. ASP.Net is already a proven environment to address this requirement and limitation.
For instance, while creating a web page with ASP.Net both the desktop and mobile versions of the web page will have ample scrollable space and visibility if you design the page with a site header and navigation bar at the top of the page. While there are great many mobile browsers that does not allow this versatility and adaptive visibility, developing with ASP.Net you can make it happen. Mobile devices have smaller screen area and to address that constraint mobile application architecture of ASP.Net can be the right web development solution.
In regard to presentation logic also mobile development need to address a few constraints. When filling a Web form through a desktop browser generally a bevy of controls can be seen at once over the screen. Then as soon as the form gets validated on the server the errors concerning validation errors are displayed beside the controls. Now from the perspective of mobile device there is an array of challenges regarding the display of form input and validation in a usable and mobile friendly format. Moreover, just because mobile devices are less friendly for typing the web page should offer user friendly shortcuts to fill in information automatically.
Web server controls in ASP.Net
As for web server controls ASP.Net provides a really manageable unified adapter architecture which signifies that all the web server controls can actually function according o the requesting user device in question. A custom adapter that appropriately set the behaviour to deal with that device offers variety of web server controls for different devices.
The adapter in the ASP.Net development process is called upon in various stages to set appropriate custom behaviour for variety of devices to optimize the device specific view, device specific controls, logic and all other idiosyncrasies specific to various mobile devices. Besides a whole range of adapters being provided as part of ASP.Net mobile controls, the developer further can create custom adapters for a wide range of devices and browsers.