
We have recently completed the first milestone labelled under “alpha”, this first version is basically the framework itself, composed of:
- Core, which contains the whole OOP logic including mixins, inheritance and the basic methods;
- Browser, something you may need if you have no other choice but to rely on the user agent for building your application;
- ran at load, this component identifies the browser family (trident, gecko, webkit, presto) and their version, the operating system, and if the site is accessed from a mobile device; every information is provided in multiple manners allowing boolean checks, or switch case dancing.
- Event, splitted in three categories:
- Event.js, provides a complete set of methods for Event manipulation in a cross-browser manner
- CustomEvent.js, its name is self-explanatory: this class enables the use of custom events using the Dom Level 3 implementation when possible;
- KeyListener.js, easy-to-use key listening abstraction for every class-A browser (including the troublemakers Opera and IE).
- Ajax, ease the xhr process by providing a simple yet powerful API, a few highlights:
- headers manipulation;
- form serialization;
- asynchronous file upload;
- automated JSON parsing when the X-JSON header is spotted, using native JSON methods when available.
- Hashtable, provides advanced key/value manipulation;
- Asset, provides asynchronous loading for IMG/CSS/JS/JSONP components;
- Element, the component which ties together numerous of the aforementionned components and ease their usage:
- automated batch process, you may use one or more elements in a single instance and then call a method which will be executed on each element of the stack, this modus operandi drops drastically the line count;
- the html builder, enables simple yet powerful element creation with hierarchy, events, custom attributes…
Well, that’s about all, to be honest we are frankly amazed by the work we’ve done so far in three months, although we were working/brainstorming on our spare-time we still managed to deliver the alpha two weeks before the estimated time with two extras (Asset/Hashtable weren’t planned for the alpha).
So, what’s coming?
And we’re already working on the beta, the second milestone estimated time is in six weeks, and includes:
- Position, everything about position, size, areas… done; we’ll add some extra methods in there given enough time;
- Drag & Drop, currently in brainstorming state, we plan on using the Firefox 3.5 HTML5 DD native API and simulate on the others (Trident/Webkit APIs are not really convincing);
- Effects library, obviously necessary, as people tend to like what’s sparkling (and we do!);
- History manager, a prerequisite for the RC (tabs and therefore, the feedreader application);
- XML library, also a prerequisite, but we may finally not need it… wait & see!
Tags: Swell










