Overhead of WURFL vs responsive design in PHP

2019-05-11 02:28发布

问题:

I'm working on an in-house project management web based application that needs to support mobile devices as well as desktop.

It's built with Symfony2, jQuery, HTML5.

Are there any performance comparisons between using WURFL as opposed to responsive design, both on server and client side? Specifically I'm thinking about rendering times, HTTP calls (it's quite AJAX heavy).

回答1:

Performance-wise, responsive design places the entire load on the client so you should ensure that this works adequately well by testing on many devices. Not all smart phones are created equal—some have slow CPUs that make JavaScript code and media queries painfully slow. Overall, using server side code can result in a much lighter experience for the client, while also allowing you to exercise a finer level of control over the experience.

But before you think about the performance aspects of this you should consider if this approach will deliver an adequate mobile experience at all. There are two important aspects of a mobile version of a site that you should aspire to:

  • A contextually appropriate experience—it should be able to deliver an appropriate experience for someone using a mobile device. This may be quite different to an appropriate experience of the same service on a desktop. Note that use of a mobile device does not necessarily imply mobility—mobile device users are often physically immobile but users may nonetheless prefer to interact with your site or service in a different way when using a mobile device. The importance of a contextually appropriate experience is increasing dramatically as the number of ways that we interact with the web is increasing: a lean-forward experience that seems appropriate on a laptop may feel entirely incorrect on a television browser that you interact with from across a room.
  • A device-sensitive experience—it should be capable of delivering an experience that works well on the devices used by your website customers. This range of addressable devices is increasing all the time, and growing more diverse, from feature phones to televisions. Some are held close to the face, others are interacted with from across a room. It is next to impossible to deliver a satisfactory experience on such a wide range of devices, each with their own input/output restrictions and conventions, without tailoring the experience to the device. The major internet brands are keenly aware of this and doing much more of it than may be apparent—even the seemingly simple Google homepage masks vastly different code behind the scenes served to different devices used to achieve a useful experiences across the device landscape.

Used as a means to deliver both a desktop and mobile site, however, responsive design falls short on delivering both desired aspects of an ideal mobile site.

  • It cannot deliver a contextually appropriate experience because it delivers the same experience regardless of the device that people are using (this limitation may not be an issue for sites with restricted use cases)
  • It can deliver a device-sensitive experience only to to a limited range of devices, since the core technique limits the range of devices that can be targeted to smartphones and other high-end devices. The one-experience-fits-all issue and limited range of addressable devices may not be a problem for all websites—some sites don’t lend themselves well to mobile-specific experiences and equally some site owners may not have a desire to serve a wide range of devices.

It is worth noting that responsive design has an unknown impact on mobile SEO since it is not clear whether or not search engines will identify the content as being mobile-friendly and rank it accordingly in mobile searches.



回答2:

Any logic that can be determined and acted upon on the server side can reduce data transfer and client side overhead. Reducing the size of the content sent - e.g. relevant CSS, JavaScript, HTML and optimised images - will clearly put less of a burden on the client.

A RESS based solution (i.e. Responsive Design + Server Side Components - http://www.lukew.com/ff/entry.asp?1392) will always have the opportunity to be faster that a responsive design solution on its own. You will always need to consider significance of "faster", but when I'm seeing (perhaps poorly designed) responsive design sites out there delivering 1Mb+ of content to a mobile device the performance optimisations they could gain from a little bit of server side intelligence are immense. Good white paper on why performance of web site matters from gomez @ http://www.gomez.com/resources/whitepapers/why-web-performance-matters/ and why every second counts.

A few examples on how server side feature detection can help are listed at http://www.opendeviceknowledge.com/discovery including how responsive design and server side world can play together.



回答3:

WURFL inventor, here. Ronan Cremin appears to have addressed the question rather extensively. At the end of the day, is a question uf usability vs cost (both development and maintenance).

The only other thing I want to point out is that WURFL and Responsive Web Design need not be separate worlds. This and this posts have my viewpoint on the subject.

More interestingly, we recently launched a service that make some of WURFL also available to Javascript developers free of charge. I advise you check out http://wurfl.io/ site.

In a nutshell, if you import a tiny JS file:

<script type='text/javascript' src="//wurfl.io/wurfl.js"></script>

you will be left with a JSON object that looks like:

{
 "complete_device_name":"Google Nexus 7",
 "is_mobile":true,
 "form_factor":"Tablet"
}

(that's assuming you are using a Nexus 7, of course) and you will be able to do things like:

if(WURFL.form_factor == "Tablet"){
    //dostuff();
}

This is what you are looking for.

Thanks