Introducing Acropolis...


Well, it's been over a year since I last blogged about client application development on the .NET Framework. I haven't been idle though - I've been busily working on an exciting project code named "Acropolis", and I'm very happy to report that we just released our first Community Technology Preview yesterday! If you build client applications, especially business focused line-of-business applications, on .NET then you should find Acropolis interesting.

At its most basic level, Acropolis is a set of components and tools intended to make it much easier to build modular, business focused clients applications on the .NET Framework. For those who have read my posts on composite client applications (here and here), or are familiar with the Patterns and Practices Composite UI Application Block, the approach adopted by Acropolis will be very familiar.

For those who aren't familiar with this approach, it really boils down to providing a framework that allows you to build modules that encapsulate different client application strategies, providers or patterns, that you can then combine in various combinations to ‘compose', or assemble, an application. Modules can encapsulate many different aspects of a client application's functionality, including data access, configuration, UI layout and transitions, navigation, component lifetime management, and supporting services like authentication, etc.

We know from speaking to many developers and users that building compelling, easy to use, customizable, and easy to manage client applications is not as easy as it should be. We hope to change that with Acropolis by providing many pre-built re-usable modules that encapsulate most of the common client application requirements, and the tools and framework that allow you to build applications by combining these modules in whichever combination best fits your needs.

The center of the Acropolis community is located on - your one stop shop for all things related to .NET client application development. Links to the Acropolis CTP1 downloads, forums, videos and blogs are located on the Acropolis home page at For a quick intro to Acropolis, check out the Getting Started video here. We'll be posting new samples and videos in the coming weeks to illustrate the various features of Acropolis, so check back often.

We're fairly early in the development cycle for Acropolis. We decided to release this CTP release so that we can get your early feedback on the direction and features of Acropolis and to allow you to get involved in its evolution. We'll be releasing more CTP's regularly over the summer with a view to moving into beta status towards the end of the year. Our goal is to release our V1.0 next year, depending on the feedback we get. So get your feedback in early so that we make sure Acropolis lives up to our goal of dramatically simplifying the way in which .NET client applications are built and managed.

We've necessarily spent most of our time in the last year building out the scaffolding - the basic plumbing - that lets us compose applications from the re-usable modules that encapsulate different strategies, providers or patterns. So while we don't have many re-usable modules for you to choose from right now, we expect to be increasingly focused on providing more and more of these once the overall approach and architecture is validated.

So we really need your feedback. Let us know what you like about Acropolis, what you don't like, what you think is missing, what you think should be removed, and what pre-built modules you'd like to see included with Acropolis.