Update (3 December 2009): Concrete has now been renamed Entwine.
We'd like to announce the release of the Entwine and Selector libraries for jQuery.
Developed by Hamish Friedlander, and partially sponsored by SilverStripe, this library will provide the architectural underpinnings for JavaScript in SilverStripe v2.4.
Although initially developed for use with client sites, the library has proven so useful that it's been spun off into an independent project. It lets developers write frontend web-application code in a clean and extendable manner—which is important in SilverStripe to ensure that, when the system needs extending for a particular site, the architecture doesn't get in the way.
Entwine provides a brand new model of JavaScript code organisation; a replacement for object oriented programming that is focused on adding functions to DOM elements based on their structure and content. It’s a merging of the model and view layer that initially seems weird, but can give very powerful results.
We’re taking ideas from Prototype’s Behavior and Low Pro libraries and jQuery’s Effen and Live Query libraries. However, we're extending the concepts of those libraries to provide a complete alternative to traditional OO design; self-aware methods, inheritance, polymorphism, constructors and destructors, namespacing, and getter/setter style properties, all without a single class definition.
Compared to jQuery.plugins and jQuery.UI widgets, Entwine provides:
A key component of Entwine is Selector - a CSS selector engine developed in conjunction with Entwine to give it maximum performance. For the use patterns it is designed for, it can out-perform jQuery's native Sizzle selector engine by an order of magnitude.
A taste:
$('div').concrete({
highlight: function(){
this.effect('bounce');
}
});
$('div.important').concrete({
highlight: function(){
this._super();
this.animate({background: 'white'});
}
});
$('#namediv').highlight();
As well as the source and a tutorial, there is an 18-minute screencast available to help introduce the new concepts:
8 Comments. Add Yours Tags: javascript, code
Any thoughts on dual support for moo tools and j query?
Posted by Dave @ Learn Spanish, 3 months ago
Well done Hamish! Hopefully the sponsorship contributed some cups of coffee for all long hours behind the screen :)
Posted by PhoneSnoop, 5 months ago
Please note that since posting, this technology has been renamed to Entwine...
Posted by Sigurd Magnusson, 8 months ago
Nice video. Can hover function of JQuery be used instead of onmouseenter and onmouseleave?
Thanks.
Posted by sugumar, 9 months ago
Perhaps it's more worthwhile to use Mootools given the 4 main points mentioned are pretty much the philosophy of it's framework! And better yet, 1.2.4 is optimised to lazy load the library base on the dependencies.
Posted by Antonio, 9 months ago
When it makes it way into svn version of SilverStripe?
Posted by Victor Ivrii, 9 months ago
Nice to see a post mention silverstripe 2.4. When can we get the earliest bits of the new SS 2.4?
Posted by Lamin Barrow, 9 months ago
It´s good to see that silverstripe is always developing, thanks guys. I´m looking forward to contribute to silverstripe.
Posted by baba-papa, 9 months ago
RSS feed for comments on this page | RSS feed for all comments
Want to know more about the company that brought you SilverStripe? Then check out SilverStripe.com
Comments on this website? Please give feedback.