Francis K. Cheung

The journey of an agile programmer...

  • Francis K. Cheung

    Unit Testing SharePoint 2007 Applications

    • 10 Comments
    When developing SharePoint applications, it is common to develop custom: ASP.NET Web Forms WebParts Event Receivers Workflow coding activities One of the first things we noticed when trying to unit test our business logic is that our code will heavily...
  • Francis K. Cheung

    Composite WPF Guidance

    • 5 Comments
    A month ago I started working on a new project within patterns & practices: Composite WPF (code name PRISM). If you're curious about the name PRISM, please read Glenn's blog entry . We are looking to provide guidance on how to create modular, composible...
  • Francis K. Cheung

    Prism for Windows Runtime: Creating and showing a Flyout using the FlyoutService class

    • 6 Comments
    This is the third post in a series that walk you through creating a simple Windows Store app using the Prism for Windows Runtime library. Please review the second post in the series for the steps necessary to create the basic MVVM style app based on MvvmAppBase...
  • Francis K. Cheung

    Decoupled Communication with Prism (Event Aggregation)

    • 5 Comments
    In my previous post, I discussed commanding and how you can hook up invokers (e.g. buttons and menu items), global CompositeCommands, and module level command instances. If you need the sending of a message to be initiated by a user gesture such as a...
  • Francis K. Cheung

    Decoupled Communication with Prism (Shared Services)

    • 4 Comments
    One common method of cross module communication is through shared services. Let's say our application is composed of a shell application and various module assemblies. Our shell app provides several core services such as logging, authentication, and service...
  • Francis K. Cheung

    Decoupled Communication with Prism (Commanding)

    • 6 Comments
    WPF provides RoutedCommand which is great at connecting command invokers such as menu items and buttons with command handlers that are associated with the current item in the visual tree that has keyboard focus. However we had several scenarios that Prism...
  • Francis K. Cheung

    SHIPPED!!! Windows Phone Developer Guidance updated for Mango (WP SDK 7.1)

    • 0 Comments
    We dramatically updated our guidance around Windows Phone development . Beyond recompiling our previous guidance against the Mango SDK, the latest guidance takes advantage of many Mango features such as fast app switching, background tasks, and new sensor...
  • Francis K. Cheung

    Granularity of SharePoint Features and Solutions

    • 1 Comments
    In our SPG v1 guidance we discussed packaging site elements into features. This is particularly important if you are using the Visual Studio extensions for WSS. We found that whenever you add a site element into a VSeWSS project, a new feature is created...
  • Francis K. Cheung

    Running Windows Phone Unit Tests via MSBuild

    • 1 Comments
    I’m a big fan of TDD and continuous integration, so when I first started development on Windows Phone 7, I quickly found Jeff Wilcox’s Silverlight Unit Test Framework . This unit testing framework provides a nice way to write MSTest style unit tests and...
  • Francis K. Cheung

    Create a Remaining vs Completed Work report using TFS, SQL Analysis Services, and Excel

    • 2 Comments
    If you use the MSF Agile process template, you can leverage the Remaining Work and Completed Work fields defined in the Task work items. I will show you how to create a report in Excel that shows Remaining Work and Completed Work values changing...
  • Francis K. Cheung

    Integrating JavaScript Unit Tests with Continuous Integration

    • 2 Comments
    One of the main stories for the Web Client Developer Guidance project was to learn how to manage the JavaScript code that is required in modern web applications. This includes how to organize JavaScript, how to load it on a page (especially a problem...
  • Francis K. Cheung

    Tombstoning in Windows Phone 7.5

    • 0 Comments
    There is quite a bit written on how to handle tombstoning on a Windows Phone. Most of the guidance is for code-behind developers. Here is an MSDN article ( How to: Preserve and Restore Page State for Windows Phone ) that shows how to use the Page’s OnNavigatedTo...
  • Francis K. Cheung

    Composite Services Guidance–Release Candidate

    • 2 Comments
    Yesterday we uploaded a release candidate drop of our Composite Services Guidance to CodePlex. This should be very close to our final release. The following is just a few items included in the RC drop that you may not have seen before: Enhancements to...
  • Francis K. Cheung

    Composite Services Guidance: External Routing Configuration sample

    • 3 Comments
    Let me give you a little background on this sample. If you look at the WCF Routing Service , you can quickly and easily configure a router with endpoints and message filters in the web.config. This is a great way to set up context based routing. You can...
  • Francis K. Cheung

    Case Study: TailSpin Windows Phone Survey Application

    • 0 Comments
    We are just about to release an update to the Windows Phone 7 Developer Guide that p&p shipped one year ago. The updated guidance takes the same scenario but updates the phone client application leveraging features in the Windows Phone 7.1 OS Mango...
  • Francis K. Cheung

    Poor man's UI Composition

    • 1 Comments
    I've consistently pushed for simplicity on the Prism project. This was evident when we worked on our first feature: UI composition (View from one module is composed of view(s) from other module(s)). In CAB, we developed Workspaces to provide this functionality...
  • Francis K. Cheung

    Prism for Windows Runtime

    • 3 Comments
    As Blaine Wastell posted , we are about to release the patterns & practices guidance for building Windows Store business apps. You may be thinking… “What is a business app?” and “How is a business app different than any other app?”. Well the simple...
  • Francis K. Cheung

    Decoupled Communication with Prism (intro)

    • 5 Comments
    When building large complex applications, a common approach is to divide up the functionality into discrete module assemblies. Even further it is desirable to not have static references between these modules. This allows the modules to be more easily...
  • Francis K. Cheung

    ActiveAware Views and Commands

    • 0 Comments
    It occurred to me after a recent advisory board call that we haven't done a good job of communicating the scenarios that prompted the development of ActiveAware views and commands. Let me describe this functionality in terms of the ability to "Save...
  • Francis K. Cheung

    Using Typemock Isolator for Integration Tests

    • 1 Comments
    Yeah, I know. Typemock Isolator is great for unit testing against API’s that are hard to mock, but this last iteration, I found a new use for Typemock Isolator. I worked with our test team to develop a set of integration tests that are run by MSTest and...
  • Francis K. Cheung

    Porting Issues: CompositeUI assembly

    • 0 Comments
    Issue 1: .NET CF Does not support System.Runtime.Serialization The follow types have been given the Serializable attribute: CyclicDependencyFoundException State StateElement StateException BuilderStrategyException AdapterMapServiceException...
  • Francis K. Cheung

    SPG v2 Iteration 10 Drop

    • 1 Comments
    Iteration 10 is complete and the drop can be downloaded here . In iteration 10 we mainly concentrated on refactoring, code cleanup and reusable assets. We will continue refactoring and scrubbing the code in the remaining iterations but please take a look...
  • Francis K. Cheung

    SHIPPED!!! Composite Application Guidance for WPF June 2008

    • 1 Comments
    Here is the landing page: http://msdn.microsoft.com/en-us/library/cc707819.aspx Here is the download page: http://www.microsoft.com/downloads/details.aspx?FamilyId=6DD3D0C1-D5B4-453B-B827-98E162E1BD8D&displaylang=en I didn't notice how much hard work...
  • Francis K. Cheung

    Prism for Windows Runtime: Integrating a Dependency Injection Container

    • 12 Comments
    This is the fourth post in a series that walk you through creating a simple Windows Store app using the Prism for Windows Runtime library. Please review the third post in the series for the steps necessary to create the basic MVVM style app based on MvvmAppBase...
  • Francis K. Cheung

    Prism for Windows Runtime: Creating a basic implementation of the MVVM pattern

    • 2 Comments
    This is the second blog post in a series that walk you through creating a simple Windows Store app using the Prism for Windows Runtime library. Please review the first post in the series for the steps necessary to create the basic app based on MvvmAppBase...
Page 1 of 3 (53 items) 123