Yesterday Salesforce.com released a developer preview of the Adobe® Flash® Builder™ for Force.com allowing developers to create powerful, engaging offline applications running on the Force.com platform. I had a chance to download the software, build a sample application and really go through all of the documentation.
The product, codename Stratus, is a jointly developed Eclipse-based IDE that combines the Force.com IDE, Flex 4 Builder beta, Flash 4 beta and LiveCycle Data Services and is tightly integrated with Force.com Connect Offline. It also includes a SQLite database embedded within the Adobe AIR runtime that provides the offline data cache of Salesforce.com data. There is no pricing available yet and Salesforce.com expects final delivery in the first half of 2010.
Salesforce.com states that you can create both Flex and Air applications with the new offering but it is apparent from their marketing materials, documentation and tutorials that it is squarely aimed for developing offline Air applications. I emailed Dave Carroll and he confirmed that the Force.com Toolkit for Adobe AIR and Flex is part of Stratus so you can use the same tool to build offline applications as well as applications that run inside the browser.
Stratus is a new data access and synchronization framework that ships with the offering. Stratus builds on the client-side data management included in Adobe LiveCycle Data Services, but does not include the LCDS server-side data management functionality. A LCDS license is included for Force.com but if you would like to connect to other backend system you'll have to contact Adobe for additional pricing. Stratus provides login functionality, network detection and online and offline data synchronization, a conflict resolution service, and UI components that look and act just like data input fields on Salesforce.com.
The framework includes:
- Login functionality including a UI and error messages.
- An API for making multiple, asynchronous, web service requests to the Force.com cloud to retrieve, save, or delete records.
- UI components and data classes for displaying, editing, and managing local data changes.
- The automatic creation and management of a local data store of salesforce.com data for offline support. When importing the Salesforce.com Enterprise WSDL, Stratus generates ActionScript classes for your objects on the Force.com platform.
- An API for saving changes to both the local store and the Force.com cloud.
- Automatic periodic synchronization of data between the local data store and the Force.com cloud.
- Online and offline data synchronization and management.
- Support for "select *" SOQL queries.
Dave Carroll has built a great video on installing, setting up a briefcase for offline data access and creating your first Adobe® Flash® Builder™ for Force.com application.
Adobe has created a developer site with links to relevant info as well as a tutorial Quick start: Create your first Force.com Flex desktop application. If you are interested in the architectural aspects of the offering, you should look at Understanding data management in applications built with Adobe Flash Builder for Force.com.