Microsoft Expression Web review
While the internet and Microsoft are both central to modern computers, the latter’s longstanding web-authoring application, FrontPage, has generally been viewed with contempt. Due to this, FrontPage has been killed off, being replaced with the complete rewrite seen here.
One of FrontPage’s major failings was its over-friendly interface, which pretended that designing a successful web page was like designing for print. The familiar Word-style formatting toolbar remains but, otherwise, Expression Web has gone to the other extreme and now looks more like Visual Studio, with a central design and coding window surrounded on all sides by task panes. There are 18 of these, with options for managing files (also done in the central pane), dragging and dropping tags, and controls and then setting their properties, applying styles and checking compatibility. For current FrontPage users, it will inevitably seem intimidating, but the new interface is generally well thought through and efficient.
A more serious stumbling block to the acceptance of FrontPage was its disdain for standards. Thankfully, Microsoft has learned its lesson and is making all the right noises: in particular, the XHTML 1 Transitional and CSS 2.1 specifications. Any incompatibilities are flagged in the status bar and Code View. You can also override these to target other HTML, XHTML and CSS schemas and, using the Compatibility Checker, check any number of pages against a schema or IE browser version (and any CSS formatting against IE6). Microsoft has undoubtedly made life easier for itself by ignoring HTML versions before 4.01 and all browsers apart from Internet Explorer. But this still covers most current bases and simplifies it for most designers.
With such a modern approach, CSS support is fundamental, and Expression Web pulls out all the stops with a sophisticated rendering engine handling anything thrown at it in both standards and quirks modes. There are a range of CSS-based site templates, and your designs can be customised with the Apply Styles, Manage Styles and CSS Properties task panes – the latter showing styles feeding into the current formatting and letting you quickly view and edit their properties. The handling isn’t perfect, but it’s generally very efficient and often a pleasure to use.
Hands-on page design is catered for, but these days data-driven authoring is becoming the norm. XML is key here, and Expression Web offers drag-and-drop support with a built-in XPath Expression Builder to handle data brought into the page and XSL Transform support to present it how you want. The ability to quickly retrieve and reformat RSS feeds should prove particularly useful.
If you want to move beyond simple data presentation to create a fully dynamic web application, Expression Web makes this straightforward with its comprehensive ASP.NET 2 support. You can drag on a huge range of ASP.NET 2 controls to provide navigational features such as database integration, calendar display or login features. You can then manage the appearance and behaviour of these controls via the Tag Properties palette or in-situ. With the bundled ASP.NET Development Server, you can serve and preview your generated pages locally and, for advanced control, exchange sites between Expression Web and Visual Studio 2005/Visual Web Developer Express Edition.
It’s impressive stuff, although Expression Web’s own coding credentials could be boosted by adding reference materials for the languages it supports. More to the point, it could support more languages, as currently, if you want to produce your pages with PHP, JSP, ColdFusion or even an earlier version of ASP, Expression Web can’t handle it. In a way, though, this is the point – Expression Web isn’t aiming to provide the breadth that Dreamweaver does, instead focusing on those core standards (XHTML/CSS/XML/ASP.NET 2) that Microsoft sees as central to modern web authoring. If you’re happy with that, then Expression Web has a lot to offer, making professional web design, if not exactly simple, at least straightforward.