However, in coming next section today we are going to take a look over one such library i.e. Zepto.
The Challenge With Mixing Mobile Devices and Desktop Libraries
In current era, we migrated from stable websites to web applications and then to mean time, hyper responsive applications of today. One notorious thing which has snuck the past most radars results in the landing of mobile devices. However, many among us use smartphones and employ this for internet browsing constantly. Thus, influx of such devices is good as a means of exposure.
Rather than of opining such devices in context of confounded display as consumer experience, as a developer you are required to think in terms of bandwidth and resources. However, most of the users don’t sport a Ghz CPU or masses of memory. A large section of browsing population is still facing such infernal limitations in respect of mobile internet connection. In this mobile era large and brisk libraries such as jQuery literally hold a place over. So, I opined that there must be a place for something which is more slender.
All the Code to Make a Library Work Across Browsers Adds Up
One another major limitation that should be mentioned here is about contemporary libraries which results in various cross browser stuff. Verily, a big crayon of jQuery, at beginning how it was asunder among various cross browser quirkiness which tends to many front end developers to work around. However, still jQuery perform heavy lifting underneath the hood to ensure regarding nothing abolished in distinct browsers.
If you are a developer and wish to cater contemporary devices only, you are supposed to say no as through eliminating the unnecessary code you can enhanced the site performance as well as opt to reduce file size that will contributed to mobile devices with constrained bandwidth. Take a look over this snippet code of jQuery’s source:
isPlainObject: function( obj )
// Must be an Object.
// Because of IE, we also have to check the presence of the constructor property.
// Make sure that DOM nodes and window objects don't pass through, as well
if ( !obj || jQuery.type(obj) !== "object" || obj.nodeType || jQuery.isWindow( obj ) )
Or something more cryptic:
// Perform a simple check to determine if the browser is capable of
// converting a NodeList to an array using builtin methods.
// Also verifies that the returned array holds DOM nodes
// (which is not the case in the Blackberry browser)
Array.prototype.slice.call( document.documentElement.childNodes, 0 ).nodeType;
// Provide a fallback method if it does not work
catch( e )
// The intended fallback
However, if you are looking forward to designate browsers of modern era, either on mobiles or desktops, then I supposed that there is any need for such additional hacks and checks. Though in account of eliminating your intended browsers, you will got success over both performance and bandwidth.
What’s Zepto Deal With?
Zepto meets some hindrances towards dealing with feature bloat. The core library doesn’t supposed to incorporate any additional extraneous functionality. Even the animation and AJAX functionality appears in distinct modules and required to arise. However, Zepto’s API is compatible with jQuery, so if you are capable to employ jQuery, then you already acquainted about how to use Zepto.
Are Zepto and jQuery Interchangeable?
Zepto’s core API imitate jQuery to a wide length. So, Yes. In context to render it more affable to implement and lessen the learning strategy, Zepto contend jQuery’s API. The most regularly used method DOM manipulation, are identical to wide context as well as comprises same parameters in the same line-up. So, take a look over this example:
$('#element').html("Hey! Are you on the GW2 beta?");
Above is the exact code you would employ with jQuery to modify the HTML of an element. However, it is not limited to only this method. Most DOM operations are created in the same way with your utilities including AJAX. On the other hand, the API is not 100% identical match. Zepto eliminate some procedures available with jQuery which is responsible to break your