Foundation is foremost designed to be light weight and modular. Combine the pieces that are needed, leave out the pieces that are not. To make that process easier, Foundation.js defines the ClientLoader class, an extendable class that makes dynamicaly including required scripts into a page easy for the webmaster, easy for the object developer, and seemless to the client. The other great classes in Foundation.js are there only because they are used by loaders, but happen to be very handy for all sorts of classes as well.
Also, some much-needed methods are added to the String prototype:
htmlEncode: Get the HTML encoded value of a string.
urlEncode: Get the URL encoded value of a string.
cEncode: Get the C-language encoded value of a string.
trim: Eliminate white space at the beginning and end of a string.
These methods should be native, and why they continue to be missing is a complete mystery. Instead, String continues to have native methods like sup (sigh).
To start, take a look at how a class is built using the framework:
Also, there are a few basic classes defined:
Foundation.StringBuilder: Build strings fast.
Foundation.Elemental: Methods for two-way interaction with HTML elements.
Foundation.Resourceful: Methods for handling resources, such as language packs.
Foundation.ClientLoader: Class to load the latest version of a complex class and its dependencies on demand.
The above functionality is all contained in the Foundation.js script. In addition, there are several other classes that can be included in a page as weill.
Encoder, various string encoding functions.
Form Extractor, strip HTML down to just the FORM elements and controls.
Script Formatter, reformat script to make it more readable.
Characters, list of charaters.
CSS Sniffer, see how cascading style sheet rules got applied to elements.