Finding a single development environment for all purposes has so far proven an unattainable goal. But with the advent of rich Internet applications (RIA), development nirvana gets a bit closer.
In the past year or so, a number of cross-platform RIA technologies have been released that can double as desktop application technologies. I'll discuss four technologies that accomplish this trick: Adobe Air, Curl Nitro, Google Gears and Microsoft Silverlight. I installed them all, explored them and used them for several months in the course of my work.
Air adds a number of desktop-specific classes and components to Adobe's base Flash and Flex classes. Air 1.5 applications can update themselves, interact with the system clipboard, use the file system, use native windows and menus, use a local SQL database and store encrypted data. Air also supplies a number of capabilities to the desktop environment for which Flash and Flex applications normally rely on the browser -- for example, HTML rendering, HTTP handling and network detection.
Publicly available Adobe Air applications at the Air Showcase range from simple desktop widgets to full-blown applications. Air is supported for development and runtime on Windows, Mac OS X and Linux.