In my opinion, a mobile theme when built properly outperforms an RWD theme in terms of performance because it reduces the amount of unnecessary content presented to mobile users. The point of building a jQuery Mobile theme like Delia and I do is to put emphasis on performance first rather than like most of the popular RWD themes that add a lot of unnecessary files to accomplish unneeded functions. I’m referring to popular themes like those sold in themeforest.net. I have not downloaded any of the themes in the ZenCart plugins section therefore I’m not making an opinion based on those.
Whether a theme is built with either an RWD framework or jQuery Mobile, performance can always be improved by using some type of mobile detection in order to remove content that is either too large or not needed in mobile devices and/or desktops. The problem with most RWD themes is that the frameworks being utilized are designed to hide/display portions of the content based on the device being used. You can very easy overcome that by again, using mobile detection but why go through all of that. jQuery mobile is not designed to hide content but rather to enhance performance.
Invizix:
Most of the major brand retailers do not use a seperate "Mobile Template" these days either, the majority are definately utilizing the Responsive way of providing mobile content to their customer bases.
As you mentioned, most of this thread is a matter of opinion and yours is just that, another opinion. Let’s just see how valid your opinion may or may not be. According to an article titled “Top 5 Largest Online Retailers – Who Are These Companies And How Did They Make It To The Top?” the major retailing sites are:
-
Amazon.com Inc.
Online Sales: $48,080,000,000
2011 Growth: 40.60%
-
Staples Inc.
Online Sales: $10,600,000,000
2011 Growth: 3.90%
-
Apple Inc.
Online Sales: $6,660,000,000
2011 Growth: 27.40%
-
Walmart.com
Online sales: $4,900,000,000
2011 Growth: + 19.70%
-
Dell Inc.
Online sales: $4,609,728,000
2011 Growth: – 4%
Another major contender although not mentioned in this article is 1800flowers.com.
You mention that the majority of the major brand retailers are using responsive themes to load mobile content.
amazon.com Not responsive. Totally different theme on smartphones.
staples.com Not responsive. Totally different theme on smartphones. Not to mention a separate domain on smartphones. m.staples.com
apple.com Not responsive. Totally different theme on smartphones.
walmart.com Not responsive. Totally different theme on smartphones.
dell.com Responsive theme on desktops and smartphones.
1800flowers.com Not responsive. Totally different theme on smartphones.
Invizix:
The whole seperate "mobile template" way of doing things has been around for over a decade now and is a dying horse method to provide mobile users a decent customer experience.
This is not true. I think what you may be referring to is the separate domain issue. Websites with domains such as https://www.domain.com and https://www.m.domain.com as in the case of Staples mentioned above. Not necessarily a dead horse as you call it with that kind of revenue, wouldn't you agree?
Regardless, that is not the case for the mobile themes I offer on my website. I do not know how Delia’s themes work. I believe they “used to” install in a separate domain. I just looked at her site and it makes no reference to separate domains.
The mobile themes Delia and I offer do not interfere with the current desktop theme. If you visit my demo here Mobile Zen Cart on a desktop, you can see that the default theme is being used yet when visiting on a mobile device, the site defaults to a jQuery mobile theme.
Invizix:
You know the phrase, "Time is money"? Well that holds true to Responsive design as well, store owners don't need to spend extra time to muck around with a sperate template when a proper Responsive template does everything on the fly, all while keeping the familiarity customers have been accustom to on the desktop version.
In my opinion, building a very good responsive theme takes more time than a mobile theme. I have built themes with two of the most popular responsive frameworks, Bootstrap and Foundation. In fact, my ZenCart store is built with Bootstrap and I’m currently working on another theme using Foundation. Either one requires more time to build than a jQuery Mobile theme. The reason why is pretty obvious, a responsive theme is like building three themes into one. Once you study the documentation is easy to build but you still need to pay attention to all of the different grid classes in order to display the content properly.
jQuery Mobile is a pretty safe choice for reaching the most people with the smallest effort. jQuery Mobile has the broadest range of device support. This has always been part of their mission through their exceptional adherence to Progressive Enhancement (PE)*
jQM was designed from the ground up with mobile in mind, but with some judicious use of Responsive Web Design (RWD), a single jQM project can service mobile, tablet, and even desktop*
What we sell with our jQuery Mobile themes is performance. What is the use of loading all of the additional CSS and Javascript required for functions that will not even work or have any use in mobile devices. Take for example the ########## ZenCart Template. Very good looking and designed front end theme from a developer point of view. I’m making reference to this theme as an example because it is the best selling theme in themeforest.net. Shown below is the list of files that need to load as per the theme’s source code.
flexslider.css
mj-general.css
mj-layout.css
mj-template.css
mj-tab.css
mj-mobile.css
mj-ie.css
bootstrap.css
template.css
bootstrap-responsive.css
http://fonts.googleapis.com/css?family=PT+Sans
http://fonts.googleapis.com/css?family=Oswald'
ajax.googleapis.com/ajax/libs/jquery/1.9.0/jquery.min.js
bootstrap.js
jscript_jquery.cycle.all.min.js
css_browser_selector.js
jquery.flexslider.js
##########-script.js
jscript_jquery_1-4-4.js
cloud-zoom.1.0.3.js
stylesheet.css
jscript_1.7.1_jquery.js
jscript_jquery-1.4.2.min.js
jscript_jquery.cycle.all.min.js
jscript_jquery_1-4-4.js
That is a lot of files if you ask me. Each a separate http request not to mention the size of the file if not minified or optimized. Totally unnecessary to load several versions of jQuery and jQuery Cycle which by the way are large files to begin with. The reason all of these files are loaded is to add additional bells and whistles that due to the fact that they are not all updated, some need different versions of jQuery in addition to the jQuery no conflict script in order to perform the require function.
Look at the Best retailing websites I mentioned above. How often do you see extra animations for the sake of making a website look pretty? eCommerce websites are built with one purpose in mind and that is to get the user to what they want to purchase and through the checkout process. They should not be built for entertainment. The less the interruptions, the better. Why load scripts and CSS to animate the site when hovering over content for example if you can not hover over the content on mobile devices.
Now look at the files needed with my jQuery Mobile theme…
normalize.css
main.css
vendor/jquery.mobile-1.4.5.min.css
ionicons.min.css
lightGallery.css
swiper.3.0.4.min.css
mobizencart.css
theme.css
jquery-1.11.1.min.js
helper.js
main.js
plugins.js
swiper.3.0.4.min.js
In addition to being about half the amount of files, when using the minified option from the admin, it gets reduced to the code shown below. Incidentally, my new theme update has only four files.
<link rel="stylesheet" type="text/css" href="min/?f=/osprey/includes/templates/mobizencart/css/normalize.css,/osprey/includes/templates/mobizencart/css/main.css,/osprey/includes/templates/mobizencart/css/vendor/jquery.mobile-1.4.5.min.css,/osprey/includes/templates/mobizencart/css/ionicons.min.css,/osprey/includes/templates/mobizencart/css/lightGallery.css,/osprey/includes/templates/mobizencart/css/swiper.3.0.4.min.css,/osprey/includes/templates/mobizencart/css/mobizencart.css,/osprey/includes/templates/mobizencart/css/theme.css&1438207511" />
<script src="min/?f=/osprey/includes/templates/mobizencart/jscript/vendor/jquery-1.11.1.min.js,/osprey/includes/templates/mobizencart/jscript/helper.js,/osprey/includes/templates/mobizencart/jscript/main.js,/osprey/includes/templates/mobizencart/jscript/plugins.js,/osprey/includes/templates/mobizencart/jscript/swiper.3.0.4.min.js&1438207511”</script>
2 http requests
I don’t know how many files Delia’s theme has but I imagine is about as many as mine or less. A sign of performance-first built themes.
In addition to that. A very important portion of fast loading websites has to do with the images. Once again let’s look at the ########## Zen Cart template. Take a look at all of those images on the home page. Each being displayed at 100 x 70 pixels using CSS when the actual dimensions are sometimes in excess of 1000 x 698 pixels. See this image for example: http://mobilewebs.net/mojoomla/demo/zencart/##########/images/shutterstock_53353050.png
Why make the mobile user load such large images when he/she will only see a small image anyway. I designed my theme using mobile detection which allows to serve different content on different devices. The images you see on my themes whether they are seen on smartphones, tablets or desktops, although it may seem to be the same image they are however copies of the original images with different dimensions and more importantly different size that get created on the fly when a user sees the page. Small devices see small images etc…
And since I’m in the subject of mobile detection, I would like to also set the record straight.
rbarbour:
But the responsive templates offered here (not sure about the numinix template) include mobiledetect which allows you to load "device specific" modules, templates, define pages, banners, images, ect. so hiding elements when a user of a desktop shrinks it's browser, yes but if visited by a mobile device can prevent the loading on together.
When I mentioned in my article that Responsive frameworks hide content as opposed to not loading it at all, I said frameworks, not themes. Neither Bootstrap nor Foundation use “php mobile detection”.
To further explain, mobile frameworks load all of the content into whatever device the RWD site is being displayed regardless whether the content is going to be seen or not. Both of the most popular frameworks do so by using the following classes.
For Bootstrap, some of these classes are
.hidden-xs
.visible-sm-*
.visible-md-*
.visible-lg-* (with * being the number of grids across the page based on the 12 column grid)
Foundation goes even further…
show-for-small-only
show-for-medium-up
show-for-medium-only
show-for-large-up
show-for-large-only
show-for-xlarge-up
show-for-xlarge-only
show-for-xxlarge-up
hide-for-small-only
hide-for-medium-up
hide-for-medium-only
hide-for-large-up
hide-for-large-only
hide-for-xlarge-up
hide-for-xlarge-only
hide-for-xxlarge-up
Foundation does have some mobile detection however, this detection is in the form of Javascript. The only downside to this is the fact that the javascript has to load in order to serve the proper content. It is better to use php based mobile detection. The content intended for large screens will not load on small screens regardless of javascript being loaded or not.
So, if you ask me, jQuery Mobile outperforms RWD themes but like almost everything, this is just a matter of opinion.
*Matthews, Andy; Gliser, Shane (2015-02-27). Creating Mobile Apps with jQuery Mobile - Second Edition