Vanilla JS
Vanilla JS is a fast, lightweight, cross-platform framework
for building incredible, powerful JavaScript applications.
for building incredible, powerful JavaScript applications.
Introduction
The Vanilla JS team maintains every byte of code in the framework and works hard each day to make it is small and intuitive. Who's using Vanilla JS? Glad you asked! Here are a few:- YouTube
- Yahoo
- Wikipedia
- Windows Live
- Amazon
- MSN
- eBay
- Microsoft
- Tumblr
- Apple
- PayPal
- Netflix
- Stack Overflow
Download
Ready to try Vanilla JS? Choose exactly what you need!Options
Final size: 0 bytes uncompressed, 25 bytes gzipped.
Testimonials
Vanilla JS makes everything an object, which is very convenient for OO JS applications.
Getting Started
The Vanilla JS team takes pride in the fact that it is the most lightweight framework available anywhere; using our production-quality deployment strategy, your users' browsers will have Vanilla JS loaded into memory before it even requests your site.To use Vanilla JS, just put the following code anywhere in your application's HTML:
- <script src="path/to/vanilla.js"></script>
Speed Comparison
Here are a few examples of just how fast Vanilla JS really is:Retrieve DOM element by ID
Code | ops / sec | |
---|---|---|
Vanilla JS | document.getElementById('test-table'); |
12,137,211
|
Dojo | dojo.byId('test-table'); |
5,443,343
|
Prototype JS | $('test-table') |
2,940,734
|
Ext JS | delete Ext.elCache['test-table']; Ext.get('test-table'); |
997,562
|
jQuery | $jq('#test-table'); |
350,557
|
YUI | YAHOO.util.Dom.get('test-table'); |
326,534
|
MooTools | document.id('test-table'); |
78,802
|
Retrieve DOM elements by tag name
Code | ops / sec | |
---|---|---|
Vanilla JS | document.getElementsByTagName("span"); |
8,280,893
|
Prototype JS | Prototype.Selector.select('span', document); |
62,872
|
YUI | YAHOO.util.Dom.getElementsBy(function(){return true;},'span'); |
48,545
|
Ext JS | Ext.query('span'); |
46,915
|
jQuery | $jq('span'); |
19,449
|
Dojo | dojo.query('span'); |
10,335
|
MooTools | Slick.search(document, 'span', new Elements); |
5,457
|
Code Examples
Here are some examples of common tasks in Vanilla JS and other frameworks:Fade an element out and then remove it
Vanilla JS | var s = document.getElementById('thing').style; s.opacity = 1; (function(){(s.opacity-=.1)<0?s.display="none":setTimeout(arguments.callee,40)})(); |
---|---|
jQuery | <script src="//ajax.googleapis.com/ajax/libs/jquery/1/jquery.min.js"></script> <script> $('#thing').fadeOut(); </script> |
Make an AJAX call
Vanilla JS | var r = new XMLHttpRequest(); r.open("POST", "path/to/api", true); r.onreadystatechange = function () { if (r.readyState != 4 || r.status != 200) return; alert("Success: " + r.responseText); }; r.send("banana=yellow"); |
---|---|
jQuery | <script src="//ajax.googleapis.com/ajax/libs/jquery/1/jquery.min.js"></script> <script> $.ajax({ type: 'POST', url: "path/to/api", data: "banana=yellow", success: function (data) { alert("Success: " + data); }, }); </script> |
Further Reading
For more information about Vanilla JS:- check out the Vanilla JS documentation
- read some books on Vanilla JS
- or try out one of the many Vanilla JS plugins.