Ender Roundup: Ender, Qwery, Sel, Reqwest, Ender Twitter Bootstrap, CalEnder

2011-12-02 00:00:00 +0000 by Alex R. Young
Welcome to the first [Ender](http://ender.no.de/) roundup! With more developers releasing Ender-compatible projects I thought it would be good to keep everyone updated with what's available for your Ender builds. You can send your Ender-related projects and articles in for review through our [contact form](/contact.html) or [@dailyjs](http://twitter.com/dailyjs).


The core Ender build tool has been
updated to version 0.8 for the release of Node 0.6. A minor change was
required to properly support the new version of Node; anyone using Node
0.6 should upgrade Ender with npm update ender -g.


Qwery (NPM / Ender: qwery), by Dustin Diaz, is Ender's default selector engine, it's small and very fast and you get it if you build with The
, Ender's official starter-pack.

Qwery has seen a flurry of activity recently, culminating in a bump to
version 3.1. Qwery now has much improved support for older browsers and
is better able to handle queries on detached fragments, queries across
frames and other quirky features normally found in the likes of
Sizzle while remaining super quick and small.

Qwery has no external dependencies and can be used as a stand-alone tool
as well as Ender's selector engine.


Sel (NPM / Ender: sel), by Andrew McCollum, is an alternative selector engine for Qwery. Beautifully written in CoffeeScript, Sel aims
to be fast, small and clean. Some fixes for IE8 bring Sel up to version

Sel has a single dependency, Andrew's
ES5-Basic (NPM / Ender: es5-basic), a shim to make older browsers more ECMAScript 5
compatible. It can be used as a stand-alone tool as well as Ender's
selector engine.


Reqwest (NPM / Ender: reqwest), by Dustin Diaz, is the module
most Ender users include for AJAX functionality.

The recent release of version 0.3.3 brings improved JSONP support and
largely rewritten serialization functionality, including a new
.toQueryString() method.

Forms, groups or individual elements can be serialized in a few
different ways:

// returns query string -> x=y&...
// returns an object representation -> { x: y, ... }
// returns array name/value pairs -> [ { name: x, value: y}, ... ]
// for backward compatibility
    foo: 'bar'
  , baz: 'thunk'
// returns query string -> foo=bar&baz=thunk

Leading to more interesting uses:

$('#myform input[name=myradios]').serialize({type:'map'})['myradios']
// get the selected value
// turn any arbitrary set of form elements into a query string

Reqwest has no external dependencies and can be used as a stand-alone
tool as well as within an Ender build (giving you \$.ajax()
and the serialization methods).

Ender Twitter Bootstrap

Ender Twitter Bootstrap (NPM / Ender: ender-twitter-bootstrap) is a newly released, unofficial
port of the JavaScript components from Twitter's wildly popular
Bootstrap (currently the third most watched project on GitHub).

The Ender port aims to provide support for Bootstrap without the need to
compile jQuery in your Ender build. A jQuery-free live copy of the
Bootstrap JavaScript page
(original, jQuery version here) demonstrates
Modals, Dropdown, ScrollSpy, Buttons, Tabs, Twipsy, Popover and Alerts.

Ender Twitter Bootstrap depends on The

(Qwery, Bonzo, Bean, domReady) plus Bowser.


CalEnder (NPM / Ender: calender) is a basic, themeable calendar datepicker for Ender.
After surveying the vast JavaScript datepicker landscape, Dustin
decided that yet another one was required,
but this time, just for Ender.

CalEnder depends on The Jeesh
(Qwery, Bonzo, Bean, domReady).