How best to implement support for multiple devices

2019-08-24 18:39发布

问题:

My client would like a business application to support 'every possible device'. The application in question is essentially a web application and 'every possible device', I believe encompasses mobile phones, netbooks, ipad, other browser supporting devices, etc. The application is somewhat complex w.r.t. the data it captures and other functions it performs (reporting).

If I continue to honor increasing complexity in the application, I guess there are more chances of it not working on other devices. I'd like to know how web applications support multiple devices conventionally? Are there multiple versions of presentation layer (like many times I find m.website.com dedicated for mobile devices)? Further, if my application is to take advantage of Java Script, RIA (Flash, SilverLight) then what are the consequences and workarounds?

Mine is a .Net based application and the stack also contains Ext JS Java Script library. While I would like to use it for sure, considering that I would be doing a lot of work in Java Script rather than HTML, this could be a problem.

The answer to the above could be descriptive. If there is something already prescribed out there, please share the link(s). Thanks.

回答1:

You are using the MVC paradigm right? if so you just create a view for mobile devices, ipads etc. If you don't have your business logic cleanly separated from presentation, you will have a much harder bug-ridden time.

If you plan on supporting mobile devices fully. don't rely on "fancy" ajax heavy javascript as your primary UI methodology. Your PC view can have some of this for convenience, but most mobile phones are going to choke.

It will be eaiser all around if you make the site simple, and degradable. I.E. your site should still work if javascript is turned off, and they are using LYNX to view it. This will also decrease the amount of device specific code you have to write.



回答2:

Kabeer.

When a client says "every possible device", that's a great opportunity to push back and define what "every" device means. I would suggest something like the following hierarchy for him to pick from:

1) Level 1: Last 3 years of devices with default or major alternative browsers

OS/Browser: Vista/Win7: IE 7 & 8, Firefox 3.0+
Mac OSX: Safari
Vista/Win7: Chrome

Smartphones:
iPhone/Mobile safari (all)
Android: Chrome (all)
RIM Blackberry (last 3 years) series

Tablet: iPad

2) Level 2: Last 5 years of devices + 2nd order browsers

Add Windows XP/IE6
Add Windows + Opera
Add Palm Pre/Treos etc.
Add Firefox 2.0
Add iPod Touches (easy enough)
Add Nokia Symbian - default browser

3) "Every possible device"

iPod Touches
Add feature phones with WAP browsers for mobile (good luck with that!)