Here’s the next instalment in our Intermoos series: we sit and talk with Fábio Miranda Costa, a mootools core member and one of the coders behind Slick, the new MooTools selector engine.
MooTools team: Core and Slick
Company / Occupation: Software Engineer at Globo.com
Famous for: mootools-core contribs, Slick and plugins like Meio.Mask and Meio.Autocomplete
At Mootools, I'm one of the developers from the Slick team, which maintains the awesome, super fast selector engine and CSS parser that shipped with Mootools 1.3.
While programing on my free time, I maintain my own open source projects:
Besides core, there’s a work in progress demo page by fakedarren, that will decrease even more the time needed for the developers to run the code they need.
An official UI project would be cool too. There are lots of great Mootools UI components out there, but would be nice to see them together, sharing they’re internal architecture. There’s a project heading this way, called mootools-ui, that uses the great A.R.T. SVG/VML abstration library, but it needs a page and documentation.
Maybe i would be doing something related to oil and robotics, as it was what i saw on the university.
There’s always a way you can contribute:
- Answering questions and giving ideas on the mailing list and IRC;
- Creating tickets and test cases for the existing ones (https://mootools.lighthouseapp.com/dashboard);
- Creating specs for a new feature or an existing one that you think is not well tested (checkout the Specs folder on the project to see examples of specs, they are very easy to do);
- Blogging about Mootools;
- Code/Documentation contributions;
- Telling your friends how awesome Mootools is [:P];
- lots more, etc.
- Mootools.net – http://mootools.net/
- Ryan Florence’s Blog – http://ryanflorence.com/
- David Walsh’s Blog – http://davidwalsh.name/
- Aaron Newton’s Blog – http://www.clientcide.com/
- Jsfiddle – http://jsfiddle.net/
// 1 $$("#someid div.something"); // or 2 document.id("someid").getElements("div.something");
- If the browser has the querySelectorAll method, the Slick Engine will detect it and use it right away, lightning fast
- If the browser does not have it, in short–it will do document.getElementById(‘someid’).getElementsByTagName(‘div’) and for each of the found nodes, it will check for the existence of the class ‘something’.
- For every browser, it will grab the element with id ‘someid’;
- Then, if the browser has querySelectorAll, it will use this method to grab all the divs with the ‘something’ class from the ‘someid’ context;
- if the browser don’t have it will use the getElementsByTagName(‘div’) method from the ‘someid’ context and for each of the found nodes it will check for the existence of the class ‘something’.
So, as seen, first one will be faster for most of the browsers and is recommended.
From the time of this interview Firefox, Safari, Chrome, Opera and IE >= 8, have the querySelectorAll function.
You just gave me an awesome idea for a blog post 😀
Thanks for your time! Wish you would do some more practical slick examples and best cases, looking forward to your blog post!