Welcome to MSDN Blogs Sign in | Join | Help

Listen to Elegant Code’s recent Webcast on Prism 2.0 with Bob Brumfield and Blaine Wastell

David Starr and Scott Nichols of Elegant Code recently interviewed Bob and I regarding Prism 2.0 (aka Composite Application Guidance for WPF and Silverlight). Check it out for a good walk through of Prism, the differences between Prism 1.0 and Prism 2.0, and the differences between CAB and Prism.

Posted by blaine | 1 Comments
Filed under: , ,

Prism training is available from Rolling Thunder

David Platt from Rolling Thunder is offering a training course on Composite Application Guidance for WPF and Silverlight on May 18 – 20. David provides training for both Prism and CAB/Smart Client Software Factory. Check it out if you are looking for training.

As I mentioned in a previous blog post we also have videos that walk through Prism concepts.

Posted by blaine | 1 Comments
Filed under: , ,

Have you taken the Prism survey

We (the patterns & practices client team) need you to take the Prism survey to tell us how we are doing. If you have evaluated or used the Composite Application Guidance for either WPF or Silverlight, go take the survey now. The survey is less than 20 questions and should take less than 10 minutes to fill out.

We use this information to understand where we need to improve the guidance for the next release of Prism. If you have ideas for what is needed in the next version of Prism, reply to my blog or send me an e-mail letting me know. I also want to hear your stories about using Prism on your project. I want to hear what went well and what did not go so well. We are only as good as the feedback we receive.

So go take the survey now and tell everyone you know about the survey so we get the feedback. I used to live in Chicago and we had a saying with regards to voting. We would say “Vote Early and Often”. You got to love the Chicago politics. As an fyi, the survey is for either Prism 1.0 or Prism 2.0.

Posted by blaine | 2 Comments
Filed under:

VB QuickStarts and How To’s Now Available for Prism

We had a number of customers ask for Visual Basic Versions of the Composite Application Guidance for WPF and Silverlight. As Bob stated in his blog, we are excited to announce that QuickStarts and How To’s are now in Visual Basic. This provides guidance of how to use Visual Basic with the Composite Application Library which is still in C#.

 

You can download the guidance from the Microsoft download center. Give us your feedback on this new guidance from the patterns & practices client team.

Posted by blaine | 7 Comments
Filed under: ,

Learn Prism

We just created a page on Codeplex that will help you learn more about Prism (Composite Application Guidance for WPF and Silverlight) through videos and blogs. We currently have 6 videos for Prism 2.0 listed on this page. Please reply to my blog and let me know what other video's would be helpful to you.

The video's are divided into Overview and How Do I.

Overview:

Blaine and Adam  

Prism V2 - Composite Application Guidance for WPF and Silverlight
Blaine and Bob
What is Prism V2

 

How Do I:

Bob and Erwin put together a series of videos that tell how to modular Silverlight Application. For more information see Bob's blog.

image  

Creating a solution and adding a module (10 minutes)
image

Composing views
(10 minutes)
image  

Implementing a view and using services (22 minutes)
image  

Communicating between views (24 minutes)

 

You can download the source from here for this application from the Codeplex page.

 

 

Posted by blaine | 2 Comments

Update on SCSF, WCSF, and Software Factories

A number of customers have asked about our plans for the Web Client Software Factory and the Smart Client Software Factory (SCSF). In a previous post I announced that we are planning on updating the Web Client Software Factor for Visual Studio 2010. We also plan to update SCSF to run on Visual Studio 2010.

Don Smith posted a blog with our high level plans for the software factories and GAT/GAX for Visual Studio 2010. Check it out here. The key message here is that we at patterns and practices are committed to refreshing the software factories and GAT/GAX for Visual Studio 2010. As Don says in his post, help us understand the most important scenarios for you. Post a comment to this blog.

Posted by blaine | 1 Comments

Update to Prism 2.0 Available on Download Center

After we published the Composite Application Guidance for WPF and Silverlight - February 2009 release, we discovered that the Composite Application Library (CAL) test projects do not build successfully with the new Silverlight version 2.0.40115.00 (GDR1) so we decided to fix this issue. For details on the issue see the knowledge base article.

Additionally we had a report that the Active view in TabControl behaves differently in Prism 2.0 than Prism 1.0. We decide to fix this give the fact that we already decided to update the download. For details on the issue see the knowledge base article.

The new download is available from the same location as stated in my blog post that announced the release. You can verify if you have the latest version of the self-extracting archive by examining the Digital Signature timestamp it should read 'Tuesday, February 24, 2009 12:00:07 PM'.

Based upon requests from customers we created a PDF version of the documentation so you can print it. You can download the PDF file from here.

Posted by blaine | 1 Comments
Filed under:

Prism 2.0 is Live

We are excited to announce that the Composite Application Guidance for WPF and Silverlight (Prism 2.0) is live. You can download the release from here.

The Composite Client Application Guidance is designed to help you more easily build modular Windows Presentation Foundation (WPF) and Silverlight client applications.

These types of applications typically feature multiple screens, rich, flexible user interaction and data visualization, and role-determined behavior. They are "built to last" and "built for change." This means that the application's expected lifetime is measured in years and that it will change in response to new, unforeseen requirements. This application may start small and over time evolve into a composite client—composite applications use loosely coupled, independently evolvable pieces that work together in the overall application. Applications that do not demand these features and characteristics may not benefit from the Composite Application Guidance.

 

Dd458809.PrismV2StockTraderRIShell(en-us,MSDN.10).png

What's new Prism 2.0?

- Composite Support for Silverlight: We provide guidance on modularity, UI composition, commanding, and event aggregator in Silverlight. The Reference Implementation demonstrates how to use the Prism library with Silverlight.

- Multi-targeting: Ability to share code between Silverlight and WPF. We provide guidance in the form of patterns, documentation, and tooling on how to share code between Silverlight and WPF. The tooling has its own msi that you can download.

- Improved UI Composition: We added View Discovery to UI Composition. View Discovery: when a region is created, the region looks for all the ViewTypes associated with the region and automatically instantiates and loads the corresponding views. This is a simple approach to create new views.

- Hands-on-Lab for Silverlight: We provide a Hands-on-Lab for Silverlight that walks you through how to create your first application using Prism.

- New UI: We upgraded the UI with this release which includes new Silverlight and WPF animations.

- New XAML Guidelines for Creating Composite UIs

- Improved Separated Presentation Pattern Guidance:   With this release we provide more information on Separated Presentation Patterns which includes Supervising Controller and Presentation Model (also known as Model View View Model).

Included in this release:

- Composite Application Library (for both WPF and Silverlight)

- Reference Implementation (Stock Traders application in WPF and Silverlight)

- Quick starts (9)

- How-Tos (26) and

- Lots of documentation for everything you want to know about UI patterns  and client architectures

There are four files that you can download with this release. These files are as follows:

- Composite Application Guidance: Which includes the library, reference implementation, quick starts, how to's, patterns, design concepts, and technical concepts

- Project Linker: Tooling to help manage multi-targeted projects.

- Project Linker Source: Source code for the project linker.

- Prism 2.0 Documentation in CHM format: We include the documentation in CHM format if you want to download this separately. The documentation is included in the Guidance and is also available on MSDN.

 

Click here to see the detailed list of assets in the guidance.

Dd490814.DocMap(en-us,MSDN.10).png

 

Evaluating Prism

If you want to evaluate whether Prism is right for your next project, we created a topic in the documentation that helps walk you through the process. The process includes steps to determine if it is right for you, an initial evaluation, an in-depth evaluation, and how to adopt the guidance. The idea with the section is to help you quickly decide if the guidance makes sense for your project. I am very interested in feedback if this hits the mark as we want to minimize your investment of time to make a decision on whether you should use Prism.

Upgrade from Prism 1.0

We tried to minimize the changes to the library that would affect your applications. That said, we do have some changes that are due to Silverlight, improved extensibility, or improved understandability of the library. We have a topic on MSDN that discusses how to upgrade from Prism 1.0.

Migrate from Smart Client Software Factory (SCSF) and Composite UI Application Block (CAB)

If you are interested in migrating from SCSF / CAB to Prism 2.0, we provided guidance in this release on how to upgrade your application from SCSF/CAB to Prism 2.0. This version took into account the feedback that we received on Codeplex.

 

Prism 2.0 Videos

Prism 2.0 Introduction: Adam Kinney and Blaine Wastell

clip_image002

Prism 2.0 Overview: Ajoy Krishnamoorthy, Bob Brumfield, and Blaine Wastell

clip_image002[4]

 

Check out the posts from the other Prism team members:

- Bob Brumfield

- David Hill

- Erwin Van Der Valk 

- Julian Dominguez

- Larry Brader

Posted by blaine | 4 Comments

pnp Summit Videos Available online

Ajoy just announced that 3 p&p summit video's are now available on-line. He provides a link to a presentation that Francis and I gave regarding SharePoint Guidance. Check it out.

Posted by blaine | 0 Comments

Roadmap for WCSF

A number of customers have asked about the future of the Web Client Software Factory. I want to announce that we are starting to plan for the next release of the Web Client Software Factory. We plan to start the project in the spring of 2009 and plan to deliver this next version with Visual Studio 2010. I need your feedback as to the scope for this next release. The overall process for this release is the following.

  1. Announce intent for release and ask for scope requests
  2. Obtain feedback from you and other customers to create candidate scope list
  3. Publish survey to prioritize candidate scope
  4. Build vision/scope from prioritized scope
  5. Start project & deliver the project (if only it were this easy 

We will take feedback from the following sources for the release:

  • Obtain feedback from my blog and Michael Puleio's blog
  • Obtain feedback from www.codeplex.com/websf
  • Obtain feedback from advisory board
  • Obtain feedback from direct customer discussions
  • We are considering a number of new features for Web Client Software Factory. This list is to get the discussion started but it will not be the final scope which is why we need your feedback. We will not have time to implement all of these features and I am confident that you will provide many other ideas that are not on the list.

    List to start the discussion:

    • Unity for a container
    • Composite support for MVC
    • Support for Web pages through dynamic data
    • Eliminate the use of a base class similar to what we did for Prism
    • Allow library to be pluggable so you can use your own components including the container
    • Support for Silverlight controls on your Web pages
    • Allow Web Client Software Factory controls to be reused with SharePoint
    • How to distribute logic between layers of the architecture
    • Improve performance of CWAB

    I need your feedback on what you think we should focus on. I also need your help to build a list of customers that are using the Web Client Software Factory. I constantly have customers that are asking who else is using it. Additionally it is helpful to have this list to put the business case together for how much budget we should spend on this next release. So please help me build my list of customers.

    As for support, we will continue to provide support for WCSF through our Codeplex site.

    image

    Posted by blaine | 10 Comments

    Prism 2.0 Drop Available on Codeplex

    Erwin Van Der Valk posted a blog entry on the latest Prism 2.0 drop. You should go check it out. Over the last few weeks, I have received feedback asking why we do not have the entire prism library available for Silverlight. The answer to this is we are in the progress of completing the effort. Similar to other patterns and practices projects we are porting the library as we go. This past iteration we focused on:

    • Top down UI Composition: new approach in Prism 2.0 that simplifies the ability to create views
    • Event Aggregator: porting
    • Service Locator: to use IServiceLocator interface, which is part of the CommonServiceLocator implementation http://www.codeplex.com/CommonServiceLocator.
    • RI Port: this is in progress

    The plan going forward is as follows:

    • Finish Top down UI Composition
    • Finish modularity: we currently do not have directory sweep and config base modularity
    • Commanding
    • Support additional technical concepts: navigation, validation, data management: query data and send updates to the server on Silverlight clients.  We will consider these assuming we have time.

    As we take on these additional technical concepts we will port the RI and QuickStarts to the new library and Silverlight. The differences between Silverlight and WPF are causing us to making changes in the core library. Our goal is to allow you to maximize (within reason) the amount of code reuse between Silverlight and WPF which requires changes in the core library.

    Have you downloaded the latest drop and provide us feedback? Your feedback keeps us focused on the right things.

    Posted by blaine | 1 Comments
    Filed under:

    Announcing 6 new patterns and practices releases

    The patterns & practices team just published 6 new releases in the last two weeks. Ajoy discusses the releases on his blog. The new releases include:

    • Enterprise Library v4.1
    • Unity Application Block v1.2
    • Distributed Agile Development white paper and Agile showcase
    • Application Architecture Guide v2.0 (Beta 1)
    • SharePoint Development Guidance v1.0
    • Acceptance Testing Guidance

    Check out the new guidance as there is truly lots of new and useful guidance.

    SharePoint Guidance is Live

    After lots of hard work by the team, advisors, and product group we decided it would be best to upstage the election today by releasing the SharePoint Guidance. Given the importance of the guidance, we are confident that everyone will be more excited about our guidance than any historic election in the US. Given the fact this is the first time that patterns & practices created SharePoint Guidance, we have had all the major television networks ask for interviews so stay tuned to a webcast near you. We also heard from many voters that they changed their vote based upon this guidance.

    Ok I will be serious. We did complete the SharePoint Guidance which focuses on Windows SharePoint Services. The guidance can be found on MSDN. There is a community for this guidance on Codeplex. We believe that it will help you know how to:

    • Make architectural decisions about feature factoring, packaging, and the appropriate usage of design patterns.
    • Determine design tradeoffs for common decisions many developers encounter, such as when to use SharePoint lists or a database to store information.
    • Design for testability, create unit tests, and run continuous integration.
    • Set up different environments including the development, build, test, staging, and production environments.
    • Manage the application life cycle through development, test, deployment, and upgrading.

    This guidance includes a Reference Implementation, 2 QuickStarts (Debugging and Data Access) and 3 Patterns (Model View Presenter, Service Locator, and Repository). I do want to mention the unit testing, deployment and upgrade sections as there is lots of good knowledge in these topics. 

    We use the Reference Implementation as a way to demonstrate the guidance in action. The written guidance was developed by experiencing the challenges of developing the Reference Implementation Application with SharePoint. We then validated the guidance with both the product group, MVP's, and other external advisors.

    Here is one of the screens from the Reference Implementation.

    managerdashboard_v2_theme

     

    The guidance can be found on MSDN. There is a community for this guidance on Codeplex. Checkout the guidance and give your feedback. We are now capturing requirements for what we should focus on next with SharePoint.

    Posted by blaine | 12 Comments

    CAB to Prism Comparison Available on Codeplex

    Our Composite UI Application Block (CAB) customers have been asking for comparison documentation between CAB to Composite Application Guidance for WPF (Prism). You can download the guidance from here. This documentation helps you understand the difference between the libraries to help you plan your migration to Prism.

    This figure provides a comparison of CAB and Prism. One of the big items to understand is what happened to work items. The documentation provides a lot of content on this issue.

     

    CABtoCALOverview

    Table of Contents of the Guidance

    Introduction
    Intended Audience
    Why Migrate from the Composite UI Application Block to the Composite Application Library?
    Moving from the Composite UI Application Block to the Composite Application Guidance
    - Application Structure
    - Application Startup
    - Loading Modules
    - Where did the WorkItems go?
    - Workspaces and Regions
    - Providing Metadata to a View
    - Presentation Patterns
    - Registering Services
    - Wiring Views and Services Using Dependency Injection
    - Event Broker
    - Commands
    More Information
    Appendix
    - Emulating WorkItems Using Controllers with Scoped Containers

     

    Check out the guidance and let us know your thoughts. We will take your feedback into account before we publish the guidance on MSDN. Thank you in advanced to your feedback.

    Posted by blaine | 1 Comments
    Filed under: , ,

    Prism 2.0 first drop on Codeplex

    We just finished our first drop for Composite Application Guidance for WPF and Silverlight (code named Prism 2.0) and posted it on Codeplex. As previously announced, we are continuing to enhance Prism to support Multi-targeted applications for Silverlight and WPF. Additionally we plan to create guidance for composite Silverlight applications. So go checkout the latest drop and give us your feedback.

    The first drop focuses on multi-targeting. We provided a Multi-target QuickStart and a Project Linker Tool that allows you to link Silverlight and WPF projects. We are following our normal strategy of building the code first and then looking at what is needed for tooling. In this case we created the Multi-Targeting QuickStart and then created the project linker tool to support multi-targeting. We will continue to make changes to the tooling as we dogfood it ourselves and we get your feedback.

    Multi-targeting QuickStart

    The Multi-Targeting QuickStart demonstrates the structure of a project created to multi-target WPF and Silverlight environments.

    The QuickStart is a real state application that shows different characteristics of properties and includes a pie chart that shows how much the property's characteristics match with the searching criteria. This Solution consists of shared code and UI-specific code for Silverlight and WPF.

     Project Linker Tool

    The approach we are taking for multi-targeting is to provide guidance on structuring application and module code into multiple linked projects. Each project manages all of the references, resources and code specific to the WPF or Silverlight target environment.

    The Project Linker is a tool that helps create and maintain links from a source project to a target project to share code that is common to Silverlight and WPF. Therefore shared code can be written once and built for the target environment.

    Filters can be specified to avoid linking every file, this is useful if you are writing Silverlight or WPF specific code. For example you can filter out all files that have a defined prefix.

    To link a source project to a target project, right click the source project and select "Add Project Link". In the window that pops up select the target project and click OK.

    If you want more details on the first drop check out David Hill's blog.

    Getting Started

    To get started, you'll need to have the following bits installed:

    • Visual Studio 2008 SP1 (here).
    • .NET Framework 3.5 SP1 (here)
    • Silverlight Beta 2 and tools (here)
    • Silverlight Unit Testing Framework (here)
    • Visual Studio 2008 SDK (here) - This dependency is temporary and will go away soon (unless you want to recompile or debug the Project Linker).

    The Prism 2.0 zip contains a multi-targeting quick start, as well as the source for the project linker, the acceptance testing library, and a Visual Studio template. Once you've unzipped everything, copy the unit testing framework libraries into the ~\LIB\Silverlight\UnitTestFramework folder and you should be all set. You can also install the Visual Studio templates, though this isn't required.

    Next Iteration

    The next iteration we will focus on modularity for Silverlight. We plan to start with static module loading for Silverlight and then move to background module loading. One of the big requests we heard is reduce the size of the initial download so the application startup time is minimized. Over the next couple of iterations we plan to provide the ability to download a core XAP file. After the initial download (core XAP file), you will be able download additional XAP files in background mode which can be used to download the remaining modules for the application.

    After module loading we plan to focus on UI Composition. So stay tuned as we have lots of interesting things to deliver.

    Posted by blaine | 1 Comments
    More Posts Next page »
     
    Page view tracker