This project is no longer maintained and is in an archived state. If you would like to revive it, please consider forking it!
Spry is a JavaScript-based framework that enables the rapid development of Ajax-powered web pages.
Spry was designed to feel like an extension of HTML and CSS, so anyone with basic web-production skills can create next-generation web experiences by adding the power of Ajax to their pages.
Spry can be used with any server-side technology (ColdFusion, PHP, ASP.Net etc.). By building the front-end of your web application with Spry you enable a more efficient designer-developer workflow by keeping UI separated from back-end application logic.
- Spry is implemented as a set of JavaScript libraries. To use Spry on a page, simply include the JavaScript library that contains the Spry features you need, use those features on your page, and then deploy that JavaScript file to your site along with your page.
- Spry has three parts: Spry Data, Spry Widgets and Spry Effects. They can be used together or independently of one another.
- No browser plug-ins or server-side modules are required for Spry to work.
- Any code editor can be used to develop Spry pages.
- The Spry Data set transforms complex data sources into a familiar row/column format that can be placed anywhere within your page.
- Supported data sources include XML, JSON and HTML
- Easily add Dynamic Regions to your page that control retrieval and placement of data without writing any JavaScript.
- Spry widgets are advanced web components expressed in basic HTML markup, CSS and a little JavaScript.
- Customization and styling is easily done using your existing HTML & CSS skills.
- Spry widgets are accessible. They respond to keyboard navigation and degrade gracefully when JavaScript its turned off.
- Spry effects allow you to add smooth and graceful transitions to almost any element on your page
- A single line of JavaScript is used to add an effect to your page.
- Effects can highlight information, create animated transitions, or visually alter a page element for a certain period of time
The Spry framework is no longer being actively developed by Adobe and no further updates will be made. However, we do encourage you to fork and maintain your own version of this framework.
Articles - Documentation that describe the Spry framework.
Data - The XML data files used in all our sample files.
Demos - More complex samples that show the Spry framework in action.
- Effects - A demo of all our Spry Effects. Rewritten in 1.5.
- Form Validation - A demo of the Form Validation widgets.
- Photo Gallery—An XML-based photo gallery.
- Product Table—An interactive data grid displaying XML-based data.
- RSS Reader—An RSS reader showing how multiple XML files can be used to build a rich interface.
- Periodic Table - A demo of the HTML data set and advanced CSS techniques.
Includes - Core JavaScript files that implement the data framework.
- SpryCSVDataSet.js - Enables CSV files as a data source.
- SpryData.js - Contains the code that defines XML data sets and dynamic regions.
- SpryDataExtensions.js - Contains helper functions such as advanced filtering.
- SpryDataShell.js - A placeholder data set that regions can bind to, which allows data sets of same/different formats to be swapped in and out.
- SpryDebug.js - A file that provides advanced debugging information for Spry pages.
- SpryDOMUtils.js - Our Element Selector. Manipulate the page using CSS Selectors.
- SpryEffects.js - The Spry Effects framework file.
- SpryHTMLDataSet.js - Enables the HTML data set functionality.
- SpryJSONDataSet.js - Enables JSON as a data source.
- SpryNestedJSONDataSet.js - Allows the use of complex JSON as a data source.
- SpryNestedXMLDataSet.js - Allows the use of complex XML as a data source.
- SpryPagedView.js - Enabled users to easily set up paging in data sets.
- SpryTSVDataSet.js - Enables TSV files as a data source. Users can also specify a different field delimiter other than tab.
- Spry URLUtils.js - Get URL parameters and hashes to be used with Spry pages.
- SpryUtils.js - Contains helper functions, mostly form submission code.
- SpryXML.js - Function file for handling XML formatting. Only required for certain sample files.
- xpath.js - Google's JavaScript implementation of the XPath 1.0 standard. You can get more information about it by visiting their open source google-ajaxslt project page.
includes_minified - Minified copies of all our javascript files..
includes_packed - Packed copies of all our javascript files.
Samples - A series of simple files (located within the /samples/ directory in the ZIP) that show basic functionality of Spry . These provide working code samples of specific features of spry or common techniques used on Spry pages. One of the more useful samples is the Data Set Explorer page.
Widgets - Contains our released widget js, css and reference files. Widget Map.
License—Spry is licensed under a MIT license.
Spry change log—Log of what changed between Spry releases.