Feeds

Adobe takes on Java and .NET

Why Flex and Apollo will shake up client application development

Choosing a cloud hosting partner with confidence

Adobe Flash came from nowhere to become the obvious choice for embedding video into websites, despite the presence of well-established alternatives including Real, Windows Media and Quicktime. Could it have a similar impact on client application development? Last month Adobe’s Ben Forsaith ran a Flex 2 workshop for the press, showing off the new Eclipse-based IDE called FlexBuilder.

In essence, Flex is just another way to compile a Flash movie, using XML and ActionScript in a code-centric environment that’s more amenable to developers than the designer-oriented Flash IDE. There’s a visual designer with a basic range of GUI controls, and it’s an effective application development tool; although it falls short of more mature environments like Microsoft’s Visual Studio. Editing XML can be annoying and so it would be easy to nitpick the FlexBuilder IDE.

That may not matter. Flash Video took off because of its simple deployment story. All you need is the latest Flash player. The same is true of Flex. In addition, ActionScript 3.0 evolves the JavaScript (strictly ECMAScript; see here) language into something developers can take seriously for more than just scripting.

Two key new features are just-in-time compilation and the option of strong typing. ActionScript’s strong typing is not just cosmetic, but used by the compiler to create more efficient binary code. Apparently, it’s up to ten times faster than previous iterations, enabling applications that do significant amounts of client-side processing.

The rise of AJAX has proved that the smoother, richer experience of applications that run on the client but draw data from the Internet is worth the pain of writing JavaScript that works across different browsers and on different platforms. The Flash runtime improves on AJAX by largely solving these compatibility problems, or if you prefer, you can combine the two, with code in your AJAX application talking to the embedded Flash applet.

Have we not seen this before, in the form of Java applets, Microsoft’s ActiveX, and other browser plug-ins? This is where the parallel with video is most apt. Browser-hosted Java applications pack plenty of power, but the Java runtime is huge compared to Flash, and exists in a bewildering variety of versions, holding back broad adoption. ActiveX is neither cross-platform nor cross-browser, tricky to develop and associated with security problems.

A closer parallel is Microsoft’s Windows Presentation Foundation (WPF), which appears to have solved the problem of secure and easily-deployed browser-hosted .NET applications. Unfortunately, WPF requires a large runtime and only works on powerful, recent Windows boxes. WPF compensates by offering exceptionally rich graphics and multimedia, but its relatively narrow reach rules it out for broad adoption. Microsoft does have a cross-platform version of WPF, called WPF/Everywhere, but this is still in development and is less powerful than its Windows-only cousin. Adobe has a big lead here.

There are downsides to Flex. Although the ActionScript language is much improved, Java or .NET developers will miss the comprehensive frameworks they get with their respective platforms. It’s also designed on the assumption that data flows from the Internet, either over web services or via the proprietary Flex Data Services running on a J2EE application server. Creating applications that work offline is a challenge.

Further, while the Flash runtime is widely deployed, it’s not universal, particularly when it comes to mobile devices - and bear in mind that Flex 2 requires Flash 9 and does not work with earlier versions.

Another concern is the proprietary aspect of Flash, versus open standards like HTML and JavaScript. At the same time, Adobe has a reasonably good relationship with the open source community. For example, ActionScript itself is now a joint project with Mozilla and the same code will be used in FireFox. The JBoss collaboration server uses Flex for its mail client, and in the tools area there are projects such as swfmill, which compiles and decompiles SWF to XML; and FlashDevelop, which is an open source Flash IDE, running (as it happens) on the .NET Framework. Free Flex and Apollo SDKs also make the proprietary aspect of Flash easier to live with.

Some of the Flex limitations will be lifted with the launch of the next version of Adobe Creative Suite together with a new product called Apollo. The updated Creative Suite will mean that the Flash IDE supports the same version of the player as Flex, enabling easier integration of Flash movies into Flex projects.

Apollo adapts Flex for the creation of desktop as opposed to browser-hosted applications and it promises to be well suited for offline use, providing access to the local file system. There’s also going to be PDF integration, though the exact form this will take hasn't been announced yet.

However, my hunch is that Flex and Apollo will make more impact than previous attempts from Adobe (or Macromedia) at cracking the market for rich internet-connected application. ®

Beginner's guide to SSL certificates

More from The Register

next story
Be real, Apple: In-app goodie grab games AREN'T FREE – EU
Cupertino stands down after Euro legal threats
Download alert: Nearly ALL top 100 Android, iOS paid apps hacked
Attack of the Clones? Yeah, but much, much scarier – report
You stupid BRICK! PCs running Avast AV can't handle Windows fixes
Fix issued, fingers pointed, forums in flames
Microsoft: Your Linux Docker containers are now OURS to command
New tool lets admins wrangle Linux apps from Windows
Bada-Bing! Mozilla flips Firefox to YAHOO! for search
Microsoft system will be the default for browser in US until 2020
Facebook, working on Facebook at Work, works on Facebook. At Work
You don't want your cat or drunk pics at the office
Soz, web devs: Google snatches its Wallet off the table
Killing off web service in 3 months... but app-happy bonkers are fine
prev story

Whitepapers

Why cloud backup?
Combining the latest advancements in disk-based backup with secure, integrated, cloud technologies offer organizations fast and assured recovery of their critical enterprise data.
A strategic approach to identity relationship management
ForgeRock commissioned Forrester to evaluate companies’ IAM practices and requirements when it comes to customer-facing scenarios versus employee-facing ones.
5 critical considerations for enterprise cloud backup
Key considerations when evaluating cloud backup solutions to ensure adequate protection security and availability of enterprise data.
Reg Reader Research: SaaS based Email and Office Productivity Tools
Read this Reg reader report which provides advice and guidance for SMBs towards the use of SaaS based email and Office productivity tools.
Getting ahead of the compliance curve
Learn about new services that make it easy to discover and manage certificates across the enterprise and how to get ahead of the compliance curve.