The World’s Leading Microsoft .NET Magazine
   
 
The .NET Addict's Blog

My Top Tags

                                                           

My RSS Feeds








I heart FeedBurner

Latest Diggs - Programming

Computers Blogs - Blog Top Sites

Site Hits

Total: 2,821,584
since: 19 Jan 2005

My first "Acropolis" Application

posted Mon 04 Jun 07

First, let me just say that the walk through for building an Acropolis application never actually tells you what the heck an Acropolis application really is. At this point, I'm still a little fuzzy on the entire concept myself. I assume the fuzziness will become more sharp and crisp as time goes by and I do more work with Acropolis.

At this point, it feels as though Acropolis is a layer of abstraction on top of WPF itself. Basically when you build an Acropolis (I'm going to call it AWX, since that's a crapload easier to type, and all the controls are prefixed as "AWX") you get an Application and a main window. Interestingly enough, AWX seems to have support for Document-style (MDI for you "old schoolers" like me...) applications, which WPF alone is sorely lacking. Inside this main window, you can put Parts. Each Part is essentially a re-usable bit of functionality. A Part View is associated with the Part (but is not a partial class of the part... the coupling is far looser than traditional WPF) and is responsible for defining the XAML to render the contents of the part, and can also contain code to dynamically respond to events and manipulate the view.

For example, in the application I just built (which is the RSS reader walkthrough in the CTP docs), there is an RSS Part and a Feed Part. The Feed part renders itself as a combo box of feed history, as well as a button to retrieve a list of RSS items from the feed. The RSS part is responsible for obtaining the information from a given feed, and rendering a list of RSS items.

A couple of things that I found interesting about Acropolis is that it is "skinned". In other words, an Acropolis application looks nothing like a default Vista application. It appears as though the skins are easily configured and you can probably dynamically change the look and feel of your application quite easily.

What I think it boils down to is that using the "part" metaphor, the goal is probably to make it so that client applications are easier to build, easier to unit test (with everything being loosely coupled parts and part views, test controllers should be quite easy to inject), easier to maintain, and more scalable. Only time will tell if Acropolis actually lives up to these goals, but from what I have seen of the CTP so far, those are the exact things that Acropolis is attempting to tackle. Parts have "connection points" and there are these things called command executions which create even more separation. There are also services (think WF services, not WCF or Web Services) that allow individual parts to get data, information, and business logic in a clear, concise way that actually respects separation of concerns.

Here is a screenshot of the application running in Windows XP SP2 on an Orcas build:

Note the many subtle differences in appearance between the Acropolis app and a stock, out of the box WPF app.

tags:      

links: digg this    del.icio.us    technorati    reddit




1. Steve left...
Mon 04 Jun 07 12:08 pm

Is the Acropolis CTP publicly available anywhere, or do you have some top secret connections that you tapped into?


2. Kevin Hoffman left...
Tue 05 Jun 07 6:53 am

The Acropolis CTP became available June 3rd from Microsoft public downloads. You can find it here: http://www.microsoft.com/downloads/detail s.aspx?FamilyID=72386ce5-f206-4d5c-ab09-413b5f31f935&DisplayLang=en


Tag Related Posts

CLINQ v1 Demo - Network Message Filtering

Wed 09 Jan 08 7:47 P GMT-05
tags:        

C# 3.0 - Are Object Initializers Evil, Useful, or Both?

Fri 26 Oct 07 10:53 A GMT-05
tags:    

Building a Ledger Style for WPF Grids

Tue 21 Aug 07 3:30 P GMT-05
tags:    

Continuous LINQ - Can I write games with it?

Mon 13 Aug 07 3:09 P GMT-05
tags:        

Silverlight 1.1 Alpha Refresh

Fri 10 Aug 07 2:09 P GMT-05
tags:    

Orcas Beta 2 - might as well be a CTP

Tue 07 Aug 07 1:15 A GMT-05
tags:  

Dynamic, Observable LINQ Views

Tue 31 Jul 07 1:21 A GMT-05
tags:        

Acropolis or Acrapolis?

Thu 05 Jul 07 12:34 P GMT-05
tags:      

Issues with Acropolis...

Fri 22 Jun 07 3:15 P GMT-05
tags:  

Microsoft Codename Acropolis - Unwrapped

Wed 20 Jun 07 3:22 P GMT-05
tags:              

My first "Acropolis" Application

Mon 04 Jun 07 1:40 P GMT-05
tags:      

Exploring the Delegate Design Pattern

Mon 14 May 07 6:30 P GMT-05

Orcas' Hidden Gem - The managed PNRP stack

Fri 11 May 07 6:45 P GMT-05
tags:        

Orcas EDM Wizard Patched

Fri 27 Apr 07 11:56 A GMT-05
tags:      

Installing Orcas Beta 1 - VMware Style

Mon 23 Apr 07 12:16 P GMT-05

Orcas Beta 1 Released

Fri 20 Apr 07 7:09 P GMT-05

Will Silverlight be DOA?

Mon 16 Apr 07 8:02 P GMT-05

Exploring the MVC Pattern in WPF

Tue 10 Apr 07 12:51 P GMT-05
tags:                      

WPF Bindings == WTF Bindings?

Mon 12 Mar 07 6:31 P GMT-05

On MUDs

Thu 08 Mar 07 5:00 A GMT-05
tags:                    

Visual Studio "Orcas" - March CTP is Available

Wed 28 Feb 07 12:28 P GMT-05
tags:            

Objective-C Categories vs C# 3.5 Language Extensions

Mon 26 Feb 07 1:05 P GMT-05
tags:                

Cocoa Programming vs. WPF : NIB vs XAML

Tue 20 Feb 07 2:09 P GMT-05

Cocoa Bindings vs. WPF Binding

Thu 15 Feb 07 5:41 P GMT-05
tags:                

Ulysses Agenda Makes Redmond Developer News

Wed 29 Nov 06 7:10 P GMT-05
tags:                

Ulysses Agenda - Network Engine Test 1

Mon 09 Oct 06 2:26 A GMT-05
tags:              

Ulysses Agenda : First Cut Networking Design

Thu 14 Sep 06 12:46 A GMT-05
tags:                  

First Impressions of Windows Vista RC1

Thu 07 Sep 06 1:30 P GMT-05
tags:                      

Localizing a WPF Application

Tue 22 Aug 06 11:39 A GMT-05
tags:            

WPF Slide Show and Photo Album

Fri 18 Aug 06 6:48 P GMT-05

.NET Framework 3.0 June CTP is out!

Fri 23 Jun 06 6:23 P GMT-05
tags:                

Tech-Ed 2006 - Session Reviews

Tue 13 Jun 06 6:22 P GMT-05
tags:                    

Tech-Ed 2006 Day 1 - Registration Day

Sun 11 Jun 06 7:17 P GMT-05

WPF/XAML and LINQ - A match made in heaven

Tue 06 Jun 06 11:32 A GMT-05
tags: