Over the past decade, the web has flourished, fizzled a little with the dot-com bust, and re-invented itself with concepts such as Web 2.0 and social networking. Traditional browser limitations, such as the security sandbox, are perfectly acceptable for a broad category of web application, but sometimes you need more.
By allowing web developers to extend their applications beyond the browser, Adobe AIR is poised to become a springboard for innovation in the next chapter in the life of web technologies—the desktop.
The security sandbox of the browser is often one of the first lessons many of us learn when we begin developing projects for the web. You don’t have access to the local file system, and you have limited cross-domain support. We also learn that the fundamental system on which the web is constructed is entirely stateless.
Despite these seemingly critical limitations, web developers have persevered, and increasingly complex applications continue to appear, setting new precedents.
What would happen if these limitations were removed? What if we could use the same technologies the web is built on, but escape the security sandbox of the browser? When you develop a desktop application for Adobe AIR, you have exactly that option. The technologies employed are the same HTML, JavaScript, and CSS on which the web is built, but the deployment model is that of the desktop.
Desktop applications built with Adobe AIR can make requests across as many domains as they want. When good old XMLHttpRequest
gets data returned, it can save directly to the user’s file system, or even store that data in a local relational database. Taking this even further, there’s support for new types of data exchange that include binary data and persistent socket connections.
Exploring this newfound freedom and combining these new abilities with the massive proliferation of services opens the door to an entirely new world of possibilities, such as media storage with YouTube or Flickr, data storage with Amazon S3, workflow and CRM infrastructure with Salesforce.com. The list goes on and on. Developers can manifest these services as features for their own applications with minimal investment.
Adobe AIR makes it possible to build the next generation of web-enabled desktop applications without the need for expensive infrastructure consistent with traditional web development. Developers can use the same skills and technologies, but deploy them without the traditional limitations. Web developers don’t just lose those limitations, they also lose something else—the browser chrome.
Why Adobe AIR?
Developing for the desktop usually means leaving your web skills behind, building a platform-specific application, or using an alternative of complex object-oriented technologies. Adobe AIR, however, enables web application developers to use their existing web development skills, tools, workflow, and even existing code base, to build and deploy desktop applications.
At a high level, Adobe AIR accomplishes this by taking the world-class WebKit browser engine (most notably used in Safari), and wrapping it alongside Flash and PDF technologies, as a cohesive desktop runtime. Adobe AIR doesn’t stop there, though; it also folds in a rich API that enables common desktop features such as file IO, network awareness, native drag-and-drop support, an embedded relational database (SQLite), and much more.