Ample SDK
File:Amplesdk-logo-48.png | |
---|---|
Stable release | 0.8.9 / November 3, 2009 |
Written in | JavaScript |
Development status | Active |
Type | Web application framework |
License | Dual license: GPL / MIT[1] |
Website | http://www.amplesdk.com/ |
Ample SDK is a lightweight JavaScript library that enables standards-based web application development. It has a full implementation of the core level of the DOM W3C technologies. Therefore it abstracts end developer from differences found in web-browsers' own DOM implementations while allowing them to code applications against standard-based APIs. It is unobtrusive and when running, it doesn't modify the browser infrastructure, while adding missing technologies and APIs. The main purpose of the Ample SDK framework is enabling Rich Internet application rather than enhancing HTML pages, for which libraries like jQuery or Prototype.js fit better.
Features
The Ample SDK framework can be seen as a User Agent (like a web browser, Flash or Silverlight) that implements standard web W3C technologies. Ample consists of a Runtime and has implementations for UI Markup Languages.
Runtime
The runtime is the core module of the Ample SDK framework. It contains implementations for:
Scripting APIs
- Document Object Model (DOM) Level 3 Core
- Document Object Model (DOM) Level 3 Events
- Document Object Model (DOM) Level 3 XPath
- Selectors API
- Other APIs: DOMParser, XMLSerializer, XSLTProcessor, XMLHttpRequest, JSON
XML-based technologies
UI Managers
- Drag & Drop
- Resize
- Focus
- Capture
- History
- Selection
UI Markup Languages
The UI Markup Languages are implemented in JavaScript independently on each other:
Standards-based web-development
Creation of a client-side application in Ample SDK is done in exactly the same way as when you would do it in a regular web-browser, with only one exception: The API and behavior are consistent on all web-browsers that run the framework.
User Interface
The Application User Interface is defined in an XML Markup Language, for example:
<script type="application/ample+xml" xmlns:xul="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul">
<xul:listbox type="checkbox" height="200" onselect="onListBoxSelect(event)">
<xul:listhead>
<xul:listheader width="30" minwidth="30" label="id"/>
<xul:listheader width="600" minwidth="300" label="Name" tooltiptext="Shows firstname of the person. Click to sort."/>
<xul:listheader label="column2" minwidth="200" tooltiptext="Shows lastname of the person. Click to sort."/>
<xul:listheader width="200" minwidth="200" label="column2" tooltiptext="Shows person location. Click to sort."/>
</xul:listhead>
<xul:listbody id="listbody">
<xul:listitem class="test">
<xul:listcell label="1" />
<xul:listcell label="George"/>
<xul:listcell label="House Painter"/>
<xul:listcell label="USA"/>
</xul:listitem>
<xul:listitem class="test2">
<xul:listcell label="2" />
<xul:listcell label="Mary Ellen"/>
<xul:listcell label="Candle Maker"/>
<xul:listcell label="Java"/>
</xul:listitem>
</xul:listbody>
</xul:listbox>
</script>
Logic
The Application Logic of your client web application is written in JavaScript. For example:
<script type="text/javascript">
function onListBoxSelect(oEvent) {
if (oEvent.currentTarget.selectedItem)
alert(oEvent.currentTarget.selectedItem.cells[0].getAttribute("label"));
}
</script>
Style
The styling of your application is done in CSS, for example:
<style type="text/ample+css">
@namespace xul "http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul";
.test {
font-weight: bold;
}
xul|listitem:selected {
background-color: blue;
color: white;
}
</style>
Componentization model
Although there is a set of pre-defined UI Markup Languages (including XUL, XHTML, SVG and HTML5) it is easy to extend the base (to adjust it to certain application needs) and create new languages and UI components. This is done by either prototyping objects in JavaScript and registering them with the framework, or by implementing these components in XBL2. The UI Languages that are currently present in Ample are prototype implementations.
Related links
- JavaScript
- Ajax (programming)
- List of web application frameworks
- Comparison of JavaScript frameworks
Notes
- ↑ "Licensing – Ample SDK". http://www.amplesdk.com/about/licensing/. Retrieved 2009-11-26.
External links
|
If you like SEOmastering Site, you can support it by - BTC: bc1qppjcl3c2cyjazy6lepmrv3fh6ke9mxs7zpfky0 , TRC20 and more...
- Pages where expansion depth is exceeded
- Pages using deprecated source tags
- Pages with syntax highlighting errors
- Pages using duplicate arguments in template calls
- Pages with broken file links
- JavaScript libraries
- Ajax (programming)
- Web application frameworks
- Rich Internet application frameworks
- Software using the MIT license