Consider the lowly umbrella: A mundane object, often cheaply made and inexpensively acquired, and with a singular habit of failing to do the job it was designed for. In anything but a light rain that falls straight down, an umbrella—even one of those big golf umbrellas—will keep very little of you dry. And if you’re sharing it with someone, forget it. As the Police sang many years ago, “It’s a big enough umbrella, but it’s always me that ends up getting wet.” It’s a wonder anyone uses the dadgum things at all.
What is Umbrella.js?
The Umbrella.js library provides methods for manipulating a website’s document object model (DOM), handling events such as button clicks, and enabling fancy AJAX functionality. In other words, it provides much of the basic nuts and bolts needed to create interactive websites and web applications.
Umbrella.js replicates almost all of the methods of the tried-and-true jQuery library, and adds some new ones as well. The jQuery library has been in use for many years and is quite mature. Most experienced web developers know it backwards and forwards.
You might fairly ask, “Why do we need a library that does pretty much the same thing as another, established library?” Umbrella.js offers some interesting advantages:
- The library size is much smaller—around 4 KB uncompressed. This makes jQuery (250 KB) look positively bloated. A smaller library size enables pages to load faster, which makes a big difference on mobile platforms, where network connectivity may be spotty or throttled. Faster-loading pages can also improve search engine rankings, so anything that reduces loading times is a huge plus.
- Umbrella.js borrows heavily from jQuery’s syntax, in most cases replacing
u(.). This makes the library easy for experienced web developers to pick up and use.
Along with the similarities with jQuery, there are some differences that developers should consider. Umbrella.js implements AJAX functionality differently, which will require developers to set aside some time to learn. Umbrella.js also offers no support for Microsoft browsers prior to Internet Explorer 11; this helps keep the size down.
Fortunately, the documentation for Umbrella.js is quite good, so developers should have no trouble giving the library a try for either experimenting or developing real applications.
Like jQuery, Umbrella.js is completely open-source under the MIT license, so given its advantages, we can expect a growing community of developers to further improve and refine the library while keeping its small-footprint principle.
What It All Means
By way of looking at the bigger picture, let’s consider what it means to have a small-footprint version of an existing, mature, trusted library. This is pure speculation at this point, of course, but here are a few possible outcomes.
- It’s unlikely that Umbrella.js will supplant jQuery as the go-to library any time soon. The jQuery library and user base is too widespread and entrenched for that. For the foreseeable future, Umbrella.js will simply be an extra tool in the web developer’s toolbox.
- We could see small-footprint versions of other libraries as well—libraries that might be more “vulnerable” to being replaced.
- One possible problem with having essentially two versions of the same library is that the newcomer will always be more or less hitched to the establishment—whatever enhancements the established library comes up with, the other one will have to add as well to stay in sync. Assuming the goal is to be as much like the establishment as possible, this would seem to limit the range of enhancements an open-source community could implement in the small-footprint version.
- With 5G and its promised blazing connection speeds just around the corner, having a small-footprint library might become a moot point, if everything loads more or less instantly anyway.
Whatever happens in the future, for right now Umbrella.js seems to be a worthy companion to, if not competitor of, jQuery. It should stay that way as long as its developer community continues to support it and document it as it has done so far. So when a nice web app pops in your phone’s browser without an endless “Loading…” message, you just might have Umbrella.js to thank for it. Umbrella.js won’t keep you dry any more than a real umbrella will, but an Umbrella.js-powered weather app just might steer you out of the rain.