Click here to close now.

Welcome!

AJAX & REA Authors: Harry Trott, Elizabeth White, Michael Jannery, XebiaLabs Blog, Plutora Blog

Related Topics: .NET, AJAX & REA

.NET: Article

My First "Acropolis" Application

At this point, it feels as though Acropolis is a layer of abstraction on top of WPF itself

Kevin Hoffman's Blog

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 AFX , since that's a crapload easier to type, and all the controls are prefixed as "AFX") you get an Application and a main window. Interestingly enough, AFX 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

More Stories By Kevin Hoffman

Kevin Hoffman, editor-in-chief of SYS-CON's iPhone Developer's Journal, has been programming since he was 10 and has written everything from DOS shareware to n-tier, enterprise web applications in VB, C++, Delphi, and C. Hoffman is coauthor of Professional .NET Framework (Wrox Press) and co-author with Robert Foster of Microsoft SharePoint 2007 Development Unleashed. He authors The .NET Addict's Blog at .NET Developer's Journal.

Comments (1) View Comments

Share your thoughts on this story.

Add your comment
You must be signed in to add a comment. Sign-in | Register

In accordance with our Comment Policy, we encourage comments that are on topic, relevant and to-the-point. We will remove comments that include profanity, personal attacks, racial slurs, threats of violence, or other inappropriate material that violates our Terms and Conditions, and will block users who make repeated violations. We ask all readers to expect diversity of opinion and to treat one another with dignity and respect.


Most Recent Comments
AJAX News 06/04/07 10:10:54 PM EDT

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 AFX , since that's a crapload easier to type, and all the controls are prefixed as 'AFX') you get an Application and a main window. Interestingly enough, AFX 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.

@CloudExpo Stories
Cloud data governance was previously an avoided function when cloud deployments were relatively small. With the rapid adoption in public cloud – both rogue and sanctioned, it’s not uncommon to find regulated data dumped into public cloud and unprotected. This is why enterprises and cloud providers alike need to embrace a cloud data governance function and map policies, processes and technology controls accordingly. In her session at 15th Cloud Expo, Evelyn de Souza, Data Privacy and Compliance...
Roberto Medrano, Executive Vice President at SOA Software, had reached 30,000 page views on his home page - http://RobertoMedrano.SYS-CON.com/ - on the SYS-CON family of online magazines, which includes Cloud Computing Journal, Internet of Things Journal, Big Data Journal, and SOA World Magazine. He is a recognized executive in the information technology fields of SOA, internet security, governance, and compliance. He has extensive experience with both start-ups and large companies, having been ...
There are many considerations when moving applications from on-premise to cloud. It is critical to understand the benefits and also challenges of this migration. A successful migration will result in lower Total Cost of Ownership, yet offer the same or higher level of robustness. In his session at 15th Cloud Expo, Michael Meiner, an Engineering Director at Oracle, Corporation, will analyze a range of cloud offerings (IaaS, PaaS, SaaS) and discuss the benefits/challenges of migrating to each of...
Platform-as-a-Service (PaaS) is a technology designed to make DevOps easier and allow developers to focus on application development. The PaaS takes care of provisioning, scaling, HA, and other cloud management aspects. Apache Stratos is a PaaS codebase developed in Apache and designed to create a highly productive developer environment while also supporting powerful deployment options. Integration with the Docker platform, CoreOS Linux distribution, and Kubernetes container management system ...
The results of a global study commissioned by CA Technologies reveal that mobile and desktop applications have become the new battleground for brand loyalty. In today’s software-driven world, where consumers are more discerning about what they expect from applications, the reality is that businesses that fail to deliver a positive application experience risk losing as much as a quarter of their customer base. “Consumers no longer view applications as nice-to-have novelties. They now have a hug...
The industrial software market has treated data with the mentality of “collect everything now, worry about how to use it later.” We now find ourselves buried in data, with the pervasive connectivity of the (Industrial) Internet of Things only piling on more numbers. There’s too much data and not enough information. In his session at @ThingsExpo, Bob Gates, Global Marketing Director, GE’s Intelligent Platforms business, to discuss how realizing the power of IoT, software developers are now focu...
There are many considerations when moving applications from on-premise to cloud. It is critical to understand the benefits and also challenges of this migration. A successful migration will result in lower Total Cost of Ownership, yet offer the same or higher level of robustness. In his session at 15th Cloud Expo, Michael Meiner, an Engineering Director at Oracle, Corporation, will analyze a range of cloud offerings (IaaS, PaaS, SaaS) and discuss the benefits/challenges of migrating to each of...
SYS-CON Media announced today that Symantec, a provider of leading security, backup and availability solutions for where vital information is stored, accessed and shared, has launched new ad campaigns on SYS-CON's i-Technology sites, which include Cloud Computing Journal, DevOps Journal, Virtualization Journal, and IoT Journal. Symantec’s campaigns focus on Disaster Recovery and High Availability, the availability of business-critical applications in today’s complex heterogeneous environments, ...
We certainly live in interesting technological times. And no more interesting than the current competing IoT standards for connectivity. Various standards bodies, approaches, and ecosystems are vying for mindshare and positioning for a competitive edge. It is clear that when the dust settles, we will have new protocols, evolved protocols, that will change the way we interact with devices and infrastructure. We will also have evolved web protocols, like HTTP/2, that will be changing the very core...
Skytap Inc., has appointed David Frost as vice president of professional services. David joins Skytap from Deloitte Consulting where he served as Managing Director leading SAP, Cloud, and Advanced Technology Services. At Skytap, David will head the company's professional services organization, and spearhead a new consulting practice that will guide IT organizations through the adoption of DevOps best practices. David's appointment comes on the heels of Skytap's recent $35 million Series D fundin...
Operational Hadoop and the Lambda Architecture for Streaming Data Apache Hadoop is emerging as a distributed platform for handling large and fast incoming streams of data. Predictive maintenance, supply chain optimization, and Internet-of-Things analysis are examples where Hadoop provides the scalable storage, processing, and analytics platform to gain meaningful insights from granular data that is typically only valuable from a large-scale, aggregate view. One architecture useful for capturing...
Today’s enterprise is being driven by disruptive competitive and human capital requirements to provide enterprise application access through not only desktops, but also mobile devices. To retrofit existing programs across all these devices using traditional programming methods is very costly and time consuming – often prohibitively so. In his session at @ThingsExpo, Jesse Shiah, CEO, President, and Co-Founder of AgilePoint Inc., discussed how you can create applications that run on all mobile ...
SYS-CON Events announced today that Vitria Technology, Inc. will exhibit at SYS-CON’s @ThingsExpo, which will take place on June 9-11, 2015, at the Javits Center in New York City, NY. Vitria will showcase the company’s new IoT Analytics Platform through live demonstrations at booth #330. Vitria’s IoT Analytics Platform, fully integrated and powered by an operational intelligence engine, enables customers to rapidly build and operationalize advanced analytics to deliver timely business outcomes ...
DevOps is about increasing efficiency, but nothing is more inefficient than building the same application twice. However, this is a routine occurrence with enterprise applications that need both a rich desktop web interface and strong mobile support. With recent technological advances from Isomorphic Software and others, it is now feasible to create a rich desktop and tuned mobile experience with a single codebase, without compromising performance or usability.
The speed of software changes in growing and large scale rapid-paced DevOps environments presents a challenge for continuous testing. Many organizations struggle to get this right. Practices that work for small scale continuous testing may not be sufficient as the requirements grow. In his session at DevOps Summit, Marc Hornbeek, Sr. Solutions Architect of DevOps continuous test solutions at Spirent Communications, will explain the best practices of continuous testing at high scale, which is r...
Docker has acquired software-defined networking (SDN) startup SocketPlane. SocketPlane, which was founded in Q4, 2014, with a vision of delivering Docker-native networking, has been an active participant in shaping the initial efforts around Docker’s open API for networking. The explicit focus of the SocketPlane team within Docker will be on collaborating with the partner community to complete a rich set of networking APIs that addresses the needs of application developers and network and system...
Containers and microservices have become topics of intense interest throughout the cloud developer and enterprise IT communities. Accordingly, attendees at the upcoming 16th Cloud Expo at the Javits Center in New York June 9-11 will find fresh new content in a new track called PaaS | Containers & Microservices Containers are not being considered for the first time by the cloud community, but a current era of re-consideration has pushed them to the top of the cloud agenda. With the launch ...
SYS-CON Events announced today that Dyn, the worldwide leader in Internet Performance, will exhibit at SYS-CON's 16th International Cloud Expo®, which will take place on June 9-11, 2015, at the Javits Center in New York City, NY. Dyn is a cloud-based Internet Performance company. Dyn helps companies monitor, control, and optimize online infrastructure for an exceptional end-user experience. Through a world-class network and unrivaled, objective intelligence into Internet conditions, Dyn ensures...
In their session at @ThingsExpo, Shyam Varan Nath, Principal Architect at GE, and Ibrahim Gokcen, who leads GE's advanced IoT analytics, focused on the Internet of Things / Industrial Internet and how to make it operational for business end-users. Learn about the challenges posed by machine and sensor data and how to marry it with enterprise data. They also discussed the tips and tricks to provide the Industrial Internet as an end-user consumable service using Big Data Analytics and Industrial C...
JFrog on Thursday announced that it has added Docker support to Bintray, its distribution-as-a-service (DaaS) platform. When combined with JFrog’s Artifactory binary repository management system, organizations can now manage Docker images with an end-to-end solution that supports all technologies. The new version of Bintray allows organizations to create an unlimited number of private Docker repositories, and through the use of fast Akamai content delivery networks (CDNs), it decreases the dow...