Download Silverlight 4 RTM for Windows from Fileforum now.
The drive to move rich Internet applications (RIAs) off the browser got two big shots in the arm this week, with Adobe’s release of Creative Suite 5 on Monday, followed by Microsoft’s Tuesday formal release of Visual Studio 2010 and today’s formal release of Silverlight 4. While richer video is, of course, one component of both platforms, they’ve also developed new methodologies for designing simpler client-side Web apps that maintain data on more robust server-side applications.
While new corporate parent Oracle has pledge both financial and emotional support for JavaFX, even its ardent supporters have commented that neither Sun nor Oracle have built a developers’ toolset for JavaFX that enables both rich and rapid app development. This is where both Microsoft and Adobe are racing to fill the app gap.
Flash Catalyst is Adobe’s interaction development environment, designed to compete on a level more with Microsoft’s Expression toolset than Visual Studio. It’s for the designer who wants to lay out the tools with which the user operates the Web app, using the most likely tool she already uses for envisioning the Web app in the first place: Photoshop. Catalyst lets designers convert Photoshop layers into addressable graphic objects without coding. Expression has similar functionality, but it also relies on Photoshop to some extent, since Microsoft doesn’t have a competitive artistic design tool; this way, Adobe cuts off Microsoft at the pass.
By addressing the need to transport envisioned elements easily to a fully operative state, Catalyst also bypasses the whole scripting route that JavaFX is still trying to evangelize Java developers to adopt with their hearts as well as their minds. Granted, there’s some underlying Flash scripting taking place in the background (just as Expression automatically creates the underlying XAML), but with Catalyst, the designer is shielded from that process entirely.
Although one of Silverlight’s principal development tools was officially released Tuesday, Microsoft developers have already been actively using the Visual Studio 2010 Release Candidate (with its “Go-Live” licensing for those eager to deploy) since the early part of last year. The real surge forward for the Microsoft camp today has to do with the escalation of what had been called .NET RIA Services to the new WCF RIA Services (Windows Communication Foundation), acknowledging its usefulness to Silverlight as well.
With this new WCF RIA Services support in Silverlight 4, released today, the developers of so-called n-tier applications (distributed apps that run on multiple platforms simultaneously, often three at once) can engineer front end client apps in Silverlight that don’t have to replicate the state of the application from the server, just so it can pass control from one window to another. Rather, a new Silverlight 4 app can be developed more like Web pages, which are mindless of the context of other Web pages, and request the information about the running Web app from the server on startup, and over time as necessary.
In this example application from a Microsoft Hands-On Lab published in December 2009 (ZIP file available here), a sophisticated order management system can either run in its own window or, as shown here, within a Web browser. (Notice how this sample line-of-business app is asking the user’s permission to access the Clipboard. System Clipboard access is a new feature for Silverlight 4, though it comes with safeguards.) Silverlight 4 is handling the display component, but it’s also interfacing with WCF RIA Services so that the logical component of the app (written using a supported .NET language) can be crafted independently of the presentation layer.
The reason for doing that becomes clearer when you think cross-platform: With an n-tier application, you can separate the application’s core logic from the code used to display it. This way, you can craft multiple Silverlight-based clients for PCs, smartphones, or tablets, each of which may handle the layout differently from one another. The Web logic will be able to gather and manage data from the server as necessary, and format the results of queries so that each Silverlight client (or alternately, as this slide from a MIX 10 presentation suggests, each AJAX client) can lay out the presentation as it sees fit.
Both Adobe and Microsoft have made significant gains in the race to build the biggest and best RIA platform. That makes the job of catching up for Oracle and JavaFX even tougher.