Macromedia MX melds rich visual design and coding capabilities See correction below THE PERVASIVE INFLUENCE of the Internet is reflected in development tools from various vendors including Microsoft, IBM, Oracle, and Borland. But most toolsets focus on one deployment platform — for example, Windows for Microsoft, or J2EE (Java 2 Enterprise Edition) for IBM. This common approach requires the use of multiple sets of tools for development in heterogeneous environments, making enterprise projects more difficult and expensive. The new Macromedia MX product line, slated to ship April 29, is centered around the Studio MX development suite and emphasizes the combined use of the Flash Player 6 client and the ColdFusion MX server. But unique to Macromedia’s toolset, which runs on Windows and Macintosh systems, is robust support for several popular non-Macromedia Internet application environments: Java/J2EE, ASP, ASP .Net, and PHP. Those who choose to code to Macromedia’s client and/or server still have uncommon flexibility. The ColdFusion MX scripting server runs stand-alone, linked to a J2EE application server such as IBM WebSphere, or paired with Microsoft .Net. The Flash Player 6 client operates as a stand-alone or as a plug-in for Microsoft, Netscape, and Opera browsers. The eyes have it Macromedia has always crafted flexible tools for developers with a visual approach to design. Comparisons between Studio MX and Visual Studio .Net are inevitable, but the tools address different audiences. Visual Studio .Net is optimized for programmers who also want a little help with Web and Windows interface layout. Macromedia’s tools appeal to graphical designers, or to those invaluable developers with a knack for graphics, who also want a little help with their script code. Visual Studio .Net enforces structure with its emphasis on project management, code control, and modeling. Macromedia serves developers who, after being handed a set of requirements, skip the diagramming and dive straight into graphics editing, layout, and scripting. Studio MX seeks to strike a better balance between coding and visual design, but it’s still an environment for developers who eschew modeling and management in favor of just knocking it out. Beyond Dreamweaver The $799 Studio MX bundle (an amazing value, in our view) includes Dreamweaver MX, Flash MX, Fireworks MX, and FreeHand 10, along with a single-user edition of ColdFusion MX. The centerpiece of Studio MX is Dreamweaver. The MX release of this Web development environment combines the HomeSite+ code editor, ColdFusion Studio, and Dreamweaver UltraDev to create an integrated tool that’s almost as adept at handling scripts, HTML, XML, and databases as it is at layout. Although the old Dreamweaver was comparable in features to FrontPage, Dreamweaver MX is more like Visual InterDev with a cleaner interface and a killer layout engine. With its integrated ColdFusion debugger and multilanguage, syntax-aware code editor, Dreamweaver MX is more useful to pure coders than were previous releases. Code wizards and a library of server and client-side components help along designers who aren’t especially sharp at coding. Coders lacking in design skills can make use of layout templates, predrawn graphical elements, and canned Flash objects. Developers in both camps benefit from Dreamweaver MX Exchange, a free online repository of more than 700 Dreamweaver extensions. An extension can automate any combination of Dreamweaver actions you’d perform manually, so it’s capable of doing everything from drawing an animated button (complete with Javascript code) to adding a shopping cart to your site. Using all the aids Macromedia provides, it’s quite possible to weave together an aesthetic and functional Web site without writing a line of code or drawing a single pixel by hand. Macromedia deserves praise for tackling a feature most toolmakers brush aside: accessibility. Web designers should ensure that their sites can be used by those with impaired vision or movement. Dreamweaver not only creates accessible sites and checks existing sites for accessibility, but the tool itself can be operated by developers using assistive devices such as screen readers and Braille interfaces. We’d be remiss if we failed to mention that Dreamweaver’s new interface is gorgeous. The traditional Macromedia independent, free-floating tool windows have been replaced by dockable panels. The new design makes very efficient use of screen space. A run-time preference setting lets you switch back to the traditional Dreamweaver 4 UI or select a code-only environment that feels more like HomeSite. ColdFusion connects The ColdFusion MX scripting server has been reworked to provide a remarkable degree of enterprise connectivity. ColdFusion imports Java classes and allows scripts to invoke them as though they were ColdFusion components. It uses the same approach to connect to COM and CORBA objects. EJB (Enterprise Java Beans) is supported, but the CFScript or CFML (ColdFusion Markup Language) code needed to locate and create EJB objects is more complicated. ColdFusion MX is built atop Macromedia’s JRun, a J2EE-compliant Java application server. A later edition of the product will integrate with other vendors’ J2EE servers. The built-in JRun engine supports the mixing of ColdFusion and JSP (JavaServer Pages) content. This ingenious design suits ColdFusion MX to migration and integration projects that upgrade the functionality of existing applications. It also places the J2EE feature set at the disposal of non-Java developers. JRun’s services are accessible from CFML and the Javascript-derived CFScript. Through its integrated Apache Axis SOAP (Simple Object Access Protocol) engine, ColdFusion MX exposes ColdFusion components as Web services. The engine generates WSDL (Web Services Description Language) service description files automatically when a remote client requests them. CFML and CFScript make it easy to consume remote Web services, including services that return complex structured data. ColdFusion MX’s XML support is strong and includes WDDX (Web Distributed Data Exchange) for the representation and exchange of complex XML data. WDDX is an open specification, supported by Macromedia, and it has been implemented in many programming languages. Flash as a rich client Macromedia’s Flash technology is best known for the animated, in-your-face ads that adorn commercial Web pages. Flash MX aims to elevate Flash from an animation player to a universal client for rich Web applications. Flash gives developers a lot of freedom to create interfaces that incorporate vector graphics drawn in Flash or Freehand, formatted text, bitmaps drawn in Fireworks, animation, video, and sound. The ActionScript interpreter, a subset of Javascript/ECMAScript, creates and parses XML documents and exchanges XML data with remote application servers. Communicating through ColdFusion MX or the stand-alone Flash Application Server Gateway, Flash scripts can access Web services and other components hosted by J2EE and .Net servers. As a rich client, Flash has some limitations. ActionScript is not a full implementation of ECMAScript. Notably, ActionScript lacks exception handling, making it difficult to deal with run-time errors gracefully. Flash also plays in a window of fixed size, with the size set at the time the Flash movie is created. Dynamically adapting a user interface to the size of the user’s display is a design requirement for most applications. The Flash MX development environment is also not optimized for creating user interfaces. It lists a very limited set of standard interface components (for example, checkboxes and push-buttons), leaving it to the developer to create or download the components needed to build interfaces that rival Windows, Mac, or X Window GUIs. We hoped Dreamweaver would enable drawing of Flash MX interface layouts, but it doesn’t. Flash’s capability of transmitting and receiving arbitrary XML data, combined with the scripted drawing features added in Flash MX, creates all kinds of possibilities for data visualization and dynamic interfaces. We also admire Macromedia’s work to get the Flash Player running on everything from smart phones to video game consoles. It will take some time for Macromedia to get Flash support built in to server software. As of this writing, exchanging data with Flash Player requires either ColdFusion MX or custom server-side code. On the whole, Macromedia’s vision for the development and deployment of Internet applications is a pleasing one. The Studio MX bundle is priced right and includes everything a developer needs to build and test Internet-enabled software. It’s not surprising that the Studio MX tools work best with ColdFusion MX, but Macromedia hardly short-changes companies running other application servers. In fact, it’s hard to imagine that any set of tools could be better at creating great-looking cross-platform applications. Correction In this article, we misreported when Macromedia’s MX line ships. Preview releases of both were made available April 29, and Macromedia Dreamweaver MX is expected to ship in May and the ColdFusion MX Server line is expected to ship in June. Software Development