Opinion: Expression Web vs Visual Studio 2005
So, I’ve been on the Beta for Expression Web Designer for quite a while now… and constantly looking for a good project for it. Unfortunately, most of my projects at work require a lot more programming that designing (a fault, probably) and I could never find time to figure out how to do everything in Expression.
The past week, as you can read in prior posts, I’ve focused on trying to organize the online “sites” I have: creating a new WordPress blog for code snippets, tidying up the posts in the Ramblings blog, and focusing exactly what’s on my “real” website–which honestly isn’t much! My idea–what a time to see what I can do with Expression.
Throughout the article, click the images to enlarge them. This post is a bit long as it is, so I’m ‘attempting’ to save bandwidth by having WLW to create thumbnails.
My initial reaction was a bit bleak–good grief, it’s FrontPage. However, after creating an empty site, I found that the interface wasn’t FrontPage, but a more “pretty” version of Visual Studio 2005.
The environment itself is somewhat intuitive; except for the odd fact that it’s REVERSE (but you can change it) of Visual Studio. The toolbar is on the right, the solution structure is on the left. Heh, why? Oh well. I moved everything around to match Visual Studio. 😉
Mixing Development and Design
It took me a while to realize that I didn’t HAVE to use the “pretty” view of it–the dynamic web templates especially–I could use master pages, ASP.NET 2.0, and features that I am familiar with from Visual Studio. That is nice.
Cascading Style Sheets
The focus, it seems, of Expression is to focus on CSS-compliant coding. Cool, we need more CSS in the world (seriously, powerful stuff if used correctly) and I admit I still use tables for layout and as I have a hard time getting DIVs and layers and such to match up to EXACTLY what I want.
Expression Web Designer “Modify Style”
Visual Studio 2005 “Style Builder”
The modify window for style sheets is almost identical to Visual Studio 2005, as you can see above. What is powerful is how Expression handles applying and managing styles. Under the right-side Manage Styles, the radio button-ish indicate whether or not specific styles have been used and the right-side Apply Styles provides a means of, somewhat like Microsoft Word, viewing a preview of your style and applying it to whatever is selected. For quick application of styles, that’s pretty cool.
Split-view (Code and design view)
The split view is very reminimence of FrontPage, but “smart-tag” powered similar to Visual Studio 2005. In Beta, at least, the code view does not update the design view in real-time; however, and requires you to either a) click off onto another part of the screen, or b) view the page in the browser. As I discuss below, the WYSIWYG isn’t 100%, however.
I am used to the split-view, as I used Dreamweaver for many, many years prior to converting to Visual Studio full-time, and do see value in it; however, real-time updating would need to be added for both directions for me to use it full-time.
It sounds a bit odd, but I am impressed that Expression can ‘tab’ now in design view. This annoyed me a bit in Visual Studio when I first started using it, but have found ways around it (creating styles with intented first lines). I’m not real thrilled with how it does it–injecting massive amounts of non-breaking spaces… but, whatever works I guess.
- When laying out using the Layout Tables, if you had a 2×3 table (heading on row 1, navigation and content on row 2, and footer on row 3), and attempted to merge the top and bottom columns, then expanded ANY of the cells (say, widened the content column), it unmerges the other columns and creates a new column to the left/right. Grr.
- The WYSIWYG isn’t 100%… especially with special CSS such as small-caps and 100% height tables and DIVs.
- You can’t split the screen like in Visual Studio–to see two pages of design or code at the same time. At least that I can find–that’s a real drag for me.
- As a coder, the auto-generated code of Expression makes me sad inside–the extra tags thrown in here and there to tell the application when to render what client-side (aka: <!–layout table –> tags to inform Expression that the following tags need to be rendered different than normal table) rather than focusing on clean code.
- One of the big pros, according to Microsoft, is that designers do not need to know how to code. Unfortunately, ASP.NET controls that require external resources, such as the Site Map, do not automagically add the web.sitemap file, datasource, or other componets to the page. Designers will need to know where to add these, how to link them, and how to modify the XML file approprately.
- I couldn’t find a way to autohide the left and right toolbox bars, thus, I was constantly resizing them based on my development environment size and whatever else I had running on the screen. I could totally detach them (float) and place them on my second screen, which was nice.
So, after a few days, how do I feel about this?
IMHO, No. Personally, I don’t see a value gain over Visual Studio–and see a somewhat annoying toolset learning curve. It took me quite a bit longer to do things I could normally do in VS and, especially as I write a lot of classes and codebehind, provided a painful experience for programming integration. I realize that actual ‘designers’ may be put off by VS’s interface; however, I believe that working together with that team/individual/other personality can resolve those issues without the addition of yet another tool.
Will my mind change? Perhaps. I’ll be doing a bit more with XAML in the future. More short-term, next Tuesday, I’m attending the MSDN Event here that will host an afternoon focusing on Expression. As with most tools, perhaps I’m just not using it as intended (blinded by how I currently use VS). We’ll see.
For now, VS2005 is my buddy.