Sqwidget is a jQuery-based widget toolkit, for the rapid development and deployment of simple or complex multi-platform JavaScript widget applications.
Sqwidget smooths over the complex interactions that take place within the browser, within the pages of an unknown third-party website, on a smartphone, on the desktop or dashboard, while remaining lightweight, non-blocking and based on a jQuery-style plugin architecture.
This allows widget developers to focus their time on the design and functionality of their specific application.
- Automated jQuery loading, or re-use from the host page
- Simple widget templates
- Plugins, similar to jQuery plugins
- Asynchronous loading
- Non-blocking of resources in the host document
- CSS sandboxing, to shield the widget from CSS in the host page
- Security sandboxing, to shield the host page and widget from potentially malicious scripts
- Support for multiple widgets per page
- Widget instance configuration via HTML5 ‘data-’ attributes in the embed code in the host document
- Widgets are deployed via a single HTML document, with the same familiar techniques as in normal client-side development (HTML5, CSS3, Ajax, etc). No XML descriptor files are required.
The simplest widget is a text string that can be embedded somewhere else. The embed code looks like this:
<div data-sqwidget="src:helloworld.html"></div>
and the source file `helloworld.html` looks like this:
hello world
The result here is that the string 'hello world' is embedded into the embed <div>. Simple, and useful it you need to embed a little text file from somewhere into a page.
Documentation, tutorials and further examples can be found on the wiki
Example sqwidgets are included within the samples directory of the repo.
Sqwidget has been used in a number of plugins, listed on the wiki