asp:review
Macromedia
Studio MX
Macromedia's
Web development suite is comprehensive - and affordable.
By Mike Riley
It might
sound like I'm gushing, but quite honestly, I haven't been this excited about a
suite of software since the initial bundled release of Microsoft Office. The
Macromedia Studio MX CD-ROM has five separate, sophisticated applications, each
of which deserves a detailed review of its own. In the interest of space and
time, however, I'll summarize the most notable qualities (both good and bad) of
each piece of software.
Dreamweaver MX
When
Dreamweaver first appeared in the late 1990s, it was regarded as one of the
first WYSIWYG Web-design tools that got it right. It gave an accurate visual
representation of page layout while allowing designers to use metaphors
previously restricted to desktop-publishing applications. HTML code jockeys who
preferred HomeSite or Notepad loved Dreamweaver because it was one of the first
design tools that didn't mangle their code. Dreamweaver later gave birth to
UltraDev, an enhanced version that supported a live data view of data-query
results, so designers could construct pages the way the presentation would
appear in the final form. UltraDev also added code hints and syntax support for
ASP and JavaServer Pages (JSP).
Dreamweaver
MX dramatically goes beyond UltraDev by supporting most of the major
Web-scripting languages available on the Web today, including ASP.NET, PHP, and
Macromedia's proprietary ColdFusion syntax. Dreamweaver MX also supports XHTML,
XML, ECMAScript, VBScript, VB .NET, and C#.
As
Figure 1 illustrates, the Dreamweaver MX environment is packed with options.
The design pane allows artists to populate a Web page without seeing a line of
code. Conversely, a developer can have all the formatting, highlighting, hints,
and other sophisticated features found in code editors of expensive IDEs
without seeing any graphical representation of their creation. Naturally, the
optimal setup is to have both views synchronized in action, and Dreamweaver MX
offers this flawlessly. It also supports document templates to make the
relationship between the inspired artist and analytical code writer a
trustworthy partnership. One suggestion to keep in mind, however, is that
editing in this mode requires a considerable amount of screen real estate and,
as such, necessitates running the program at 1600-by-1200 resolution or, better
yet, with dual monitors.
Figure 1. Dreamweaver MX is the most
comprehensive Web-syntax-agnostic client-presentation code editor and designer
available today.
Another
strong point is Dreamweaver's broad, technology-agnostic support for different
Web-scripting, application-server, and operating-system environments, including
Microsoft's ASP and .NET frameworks. Dreamweaver also supports Web Services
through a painless, two-step Web Services Description Language (WSDL)
consumption process. Dreamweaver can round-trip its live data connections with
databases ranging from DB2 and Oracle to Microsoft Access, SQL Server, and even
open-source favorite MySQL. The Windows version even supports file transfers
using Unix Secure Shell connections, courtesy of a free extension from
Macromedia's Exchange Web site (http://www.macromedia.com/exchange/).
Given
all the possibilities, it's nearly impossible to test every development
scenario, but the program didn't hiccup once in the substantial amount of time
I spent with it developing C#-based, database-enabled ASP.NET pages (yes,
Dreamweaver fully supports ASP.NET tags, Web forms, and DataGrid and DataList
object introspection).
I could
go on about how the product comes bundled with integrated, fully searchable,
electronic editions of O'Reilly's HTML, CSS, and JavaScript titles; and Wrox's
ASP 3.0 and JSP reference titles. I could go on about how design behaviors can
be implemented on a page easily, how the product's site-management tools make
establishing and maintaining a Web site's structure effortless, or how macros
can be generated and replayed through the Dreamweaver command menu easily.
Dreamweaver MX is so rich and vast that technical-book publishers are sure to
have a field day exploring the application's nearly limitless possibilities.
Flash MX
Nearly
everyone with a browser has come across a Flash animation while surfing the
Web. Because of the pervasiveness of the Flash plug-in, Macromedia officials
decided to evolve this nifty multimedia tool into an enterprise-class,
client-development tool capable of retrieving and displaying data from a variety
of sources. One of the most important additions to the Flash 6 client, besides
its ability to embed and play back Sorenson Spark-compressed video, is its
support for Macromedia's proprietary Action Message Format. This compact,
binary message structure allows Flash clients to communicate in real time back
to the Web server from which the Flash file was delivered, thereby essentially
replacing static Web forms with Flash-enabled dynamic presentations of data.
Macromedia calls this practice Flash Remoting. Several showcases of this
technology are displayed on Macromedia's Web site. The most prominent demo is a
hotel-reservation system that only requires a single Web page with an embedded
Flash reference to book rooms, from room selection to credit-card payment.
However, one serious impediment to this type of Flash application being adopted
in the e-commerce world is its current lack of trusted, secure connection
notification. A padlock appears in the status bars of popular Web browsers
(complete with the ability to click on the padlock to query the validity of the
secure certificate), but Flash lacks this critical feature. Until Macromedia
addresses this show-stopping problem, the product's use will be severely
restricted to tasks such as public data display.
When
coupled with the ColdFusion application server, Flash Remoting can offer some
amazing and innovative application-development opportunities, particularly for
embedded devices for which Macromedia has released the Flash client, such as
Microsoft's Pocket PC and Nokia's 9200 Communicator. Think about it: Instead of
using Microsoft's pokey eMbedded Visual Basic or unfriendly and time-consuming
eMbedded Visual C++ toolkits to connect wireless Pocket PC clients to real-time
data, programmers rapidly can develop stunning visual-presentation clients
capable of doing more than simply displaying data. Because numerous
media-manipulation and playback facilities exist in the client, it's quite
possible to deliver charts, graphs, and even audio that the client can
manipulate for even more meaningful data presentation. Entrepreneurial Windows
CE programmer Anthony Armenta of Ant Mobile Software (http://www.antmobile.com) has developed a
slick wizard named FlashAssist Pro. With a few clicks of the mouse, FlashAssist
Pro generates source code automatically that loads and hosts a Flash file from
within a native Windows CE executable. By using Flash MX and FlashAssist Pro
together, the development time for native Windows CE applications has been cut
in half.
Fireworks MX
At its
core, Fireworks MX (see Figure 2) is a paint program. But it's a paint program
written from the ground up to create bitmap and vector-based objects for the
online environment. As such, all the features are optimized with Web-safe
colors and online image delivery in mind. Besides the usual gif, jpg, and png
image file formats, Fireworks MX also facilitates the painless creation of
animated gifs, especially for rollover button and menu creation prevalent on Web
pages today.
Figure 2. Fireworks MX provides numerous
color- and image-manipulation options to help optimize the way images are
delivered to and displayed in today's Web browsers.
Multiple
layers and masks make it easy to reconstruct new artwork from previously
assembled objects - a real time saver for those rollovers with different text
labels. Fireworks also includes a selection of image filters, though not nearly
as many as other graphics programs such as Jasc Paint Shop Pro or Adobe
Photoshop provide. Competitors, however, don't offer the level of integration
Fireworks has with other MX applications, particularly Dreamweaver MX. For
example, after the navigational image elements have been created in Fireworks,
selecting Export
HTML for Dreamweaver will
save the content for seamless, problem-free import into a Dreamweaver page,
with all the fidelity and functionality retained.
The most
interesting feature in Fireworks MX is its ability to generate graphics
automatically from an XML file, using the new Data-Driven Graphics Wizard. This
allows text templates in an image to be updated from the supplied XML data
dynamically. Think of it as a mail merge for graphics. As such, hundreds of
unique buttons, banners, and menus can be created instantly, based on the
original template file.
FreeHand 10
Of all
the applications included with Studio MX, FreeHand is, by far, the weakest
product of the bunch. It's called FreeHand 10 for a reason: Macromedia
obviously had its staff's hands full simultaneously upgrading the company's
most popular products. Considering that FreeHand's main purpose is to generate
vector graphics for Flash MX consumption, it's apparent to me that FreeHand
took a back seat. As Figure 3 shows, FreeHand's bland interface doesn't sport
the consistent MX interface design.
Figure 3. FreeHand 10 is the only main
program included in the suite that has yet to sport the consistent MX user
interface.
FreeHand
10's most severe omission is probably its inability to output to Scalable
Vector Graphic (SVG) format. Many standards proponents envision SVG replacing
Flash as the dynamic vector-viewing format of choice. This is highly unlikely
for two reasons: because of the massive installation of Flash players bundled
with all the major browsers on all the major platforms, and because the ease of
creating Flash files with ECMAScript-based ActionScript is considerably easier
than authoring a comparable XML-based SVG file version. Even Adobe (the main
commercial advocate behind the specification) has somewhat acquiesced with the
release of LiveMotion, which can generate basic Flash format files. Obviously,
it's in Macromedia's interest not to promote the use of SVG adoption, and the
omission of SVG support in both Flash and FreeHand is a sign that Macromedia intends
to keep it this way.
ColdFusion MX Developer
One of
the products acquired through Macromedia's purchase of Allaire was its flagship
Web-application-server product, ColdFusion. ColdFusion MX (see Figure 4) is
Macromedia's actualization of ColdFusion's next-generation release.
Figure 4. ColdFusion MX Developer is
identical to the Enterprise edition but is limited to use with a
single-developer IP connection.
Rather
than executing the ColdFusion Markup Language (CFML) parsing engine in
machine-dependent and memory-leak-prone C++, ColdFusion MX merges its CFML
syntax with its JRun Java application server in the form of a JSP tag library.
Hence, ColdFusion MX is a full-blown, robust, standards-based Web-application
server that can consume Java 2 Platform Enterprise Edition (J2EE) and Microsoft
COM-based objects as well as legacy CFML-based Web applications, with the added
benefit of sandboxing the server processes. Gone are the days of rebooting
ColdFusion servers because of memory leaks and runaway processes. Plus, with
little or no alteration, ColdFusion MX can host JSPs (including those calling
J2EE services) developed for use with overpriced and underused Java application
servers.
The
biggest reason ColdFusion MX is the server of choice for Macromedia Studio MX
probably is that it's the only server capable of Flash Remoting. If Flash is
being considered for its new data-transaction capabilities, ColdFusion MX is
inevitably part of that equation. And Flash should be considered because
ColdFusion continues its tradition of making the hard stuff easy. One reason
ColdFusion caught on the way it did was its ability to connect to a database
and display query results to Web clients with easy lines of code. ColdFusion MX
elevates this theme of simplicity to XML Web Services with a single keyword. By
setting the access parameter of any ColdFusion function equal to remote,
ColdFusion instantly turns that function into a Web Service ready for
consumption by any .NET, Java, Perl, Python, or other Web Service-capable
language. ColdFusion can consume Web Services hosted by these other platforms
almost as easily. Simply set the webservice parameter of the CFINVOKE
method equal to the URL of the WSDL file and pass the parameters to the remote
server by setting the name and value of the parameter using the CFINVOKEARGUMENT
element. That's it! I thought .NET made it easy to create and consume Web
Services, but ColdFusion makes it as easy as breathing.
To make
it simple for Macromedia Studio MX users to appreciate the incredibly
time-saving and downright cool features ColdFusion server provides, Macromedia
has included a Developer edition of the product identical in every way to its
top-of-the-line ColdFusion MX Enterprise edition, with one important exception:
a single connection from the same machine on which the server is installed.
When they say Developer edition, they aren't kidding.
Mike Riley
is a chief scientist with RR Donnelley, one of North America's largest
printers. He participates in the company's emerging technology strategies using
a wide variety of distributed network technologies. E-mail him at mailto:mike_riley_@hotmail.com.
Tell us what you think! Please send any
comments about this review to mailto:feedback@aspnetPRO.com.
Please include the review title and author.
asp:factfile
Macromedia
has packaged the most comprehensive and affordable software suite since
Microsoft Office. Macromedia Studio MX contains all the tools serious Web
developers and designers need to create stunning Web sites in a fraction of the
time it would take to code them using traditional text editors. Macromedia
Studio MX also elevates Flash beyond simple click-through animations into a truly
useful and exciting presentation layer for data. With the release of the MX
family, Macromedia has cemented its position as one of the main software
companies whose products will continue to drive Internet innovation for years
to come.
Here are
Macromedia Studio MX's highlights:
- The
suite has excellent features and superb support of the latest and greatest Web
technology standards.
- Dreamweaver
MX is a dream to use and features hundreds of free, user-developed extensions.
Embedded applications can be developed in a flash using Flash MX.
- The
MX user interface is consistent and complete without being intimidating.
- Accessibility
(in line with U.S. Section 508) is taken very seriously and is prominent in all
the suite's programs.
- The
suite includes a Developer copy of ColdFusion MX for developing Flash Remoting
application scenarios.
These
are the product's weak points:
- Flash
Remoting only works with ColdFusion MX server.
- The
Flash client provides no visible, trustworthy indicator when conducting secure
data transfers.
- FreeHand
is not MX-enabled.
- Macromedia
Studio MX is bundled with so much software that leveraging all its capabilities
will take months to master.
Macromedia
Inc.
600
Townsend St.
San
Francisco, CA 94103
Phone:
(415) 252-2000
Web Site:
http://www.macromedia.com
Price:
US$799
Rating: