Windows 7 for Developers

If an application runs on Windows Vista today, there’s a very strong likelihood that the application will run unchanged on Windows 7.There are 3 key steps that every application author has to take care to still further diminish the risk of any application issues:

  1. Download (and read!) the
    Windows 7 Application Quality Cookbook
    . This is the ultimate guide to changes in Windows 7, offering 80+ pages of detailed guidance on the various different edge cases that might cause an issue with your application. (A quick perusal of the document will allay any fears of widespread change – unless the likes of ‘removal of Microsoft Agent’ is of major concern to you.) Using this document as a checklist, you’ll be able to very rapidly identify anything that you should take care of.

    Download(and read!) the
    Windows 7 Developer Guide. This guide helps in building applications on a solid foundation; enable richer application experiences.
  2. Install and use the Windows Application Compatibility Toolkit (ACT) 5.5 and Application Verifier 4.0. These tools are valuable both for compatibility and quality, and are particularly helpful to renovate an older application that you never moved up to Windows Vista. The former provides automated tools for developers to check for issues like UAC incompatibility and setup problems, as well as administrative tools that can be used to apply and view other shims that may be in place. The latter tool is a runtime verification tool for applications that can be used to identify issues in the way native code calls into the Win32 API – in some ways, it’s the closest equivalent to FxCop for C++ code.
  3. Get your application certified for Windows 7. Applying for a logo for your application has historically been a somewhat painstaking process – it’s involved spending money on submitting the application for manual testing. Now it’s much simpler: we’ve provided an automated toolkit that tests the application for known compatibility issues, targeting application issues that we’ve seen in the wild and providing clear guidance on how to fix your application. And there’s no cost either, beyond signing up for a certificate for WinQual registration. Whether or not you actually care about using the Windows 7 logo for marketing purposes, this is a worthwhile step to validate that your application runs smoothly on Windows 7 and that your customers will get a good experience.
ref:


Making your application sparkle with Windows 7 -

http://blogs.msdn.com/somasegar/archive/2009/10/02/making-your-application-sparkle-with-windows-7.aspx


Windows Developer's site - http://msdn.microsoft.com/en-us/windows/default.aspx


Windows 7 Developer Guide - http://code.msdn.microsoft.com/Release/ProjectReleases.aspx?ProjectName=Win7DeveloperGuide&ReleaseId=1702


Windows 7 Training Kit For Developers (The Windows 7 Training Kit for Developers includes presentations, hands-on labs, and demos designed to help you learn how to build applications that are compatible with and shine on Windows 7) - http://www.microsoft.com/downloads/details.aspx?FamilyID=1c333f06-fadb-4d93-9c80-402621c600e7&displaylang=en


The Windows Application Quality Cookbook familiarizes developers and test engineers with how to verify the compatibility of their applications with Windows 7 - http://code.msdn.microsoft.com/Windows7AppQuality/Release/ProjectReleases.aspx?ReleaseId=1734


The Windows® API Code Pack for Microsoft® .NET Framework provides a source code library that can be used to access some new Windows 7 features (and some existing features of older versions of Windows operating system) from managed code. These Windows features are not available to developers today in the .NET Framework - http://code.msdn.microsoft.com/WindowsAPICodePack


Sample .Net managed Code that exploits Windows7 features to work on XP, Vista & 7 - http://code.msdn.microsoft.com/XP2Win7/Release/ProjectReleases.aspx?ReleaseId=2977


Windows 7 for developers - http://searchwindevelopment.techtarget.com/news/article/0,289142,sid8_gci1364162,00.html?track=NL-150&ad=721495&Offer=mn_eh081909WDEVUNSC_win7H&asrc=EM_USC_8999108&uid=8777731


Visual Studio News - http://msdn.microsoft.com/en-us/vstudio/default.aspx


Learn Windows from msdn Channel9 Presentations - http://channel9.msdn.com/


Microsoft Windows Opensource Software downloads - http://www.codeplex.com/


Codeplex WPF Projects - http://www.codeplex.com/site/search?projectSearchText=Windows%207&sortBy=Relevance&tagName=,WPF,&licenses=&refinedSearch=true


Microsoft Architecture Journal - http://msdn.microsoft.com/en-us/architecture/bb410935.aspx


Blogs:


Windows 7 Developer Blog - http://windowsteamblog.com/blogs/developers/default.aspx


Windows 7 Team Blog - http://windowsteamblog.com/blogs/windows7/default.aspx


Windows Vista Team Blog - http://windowsteamblog.com/blogs/windowsvista/default.aspx


10 tips for Windows 7 Developers from Scott Hanselman's Blog -http://www.hanselman.com/blog/Top10TipsWorkingDevelopersShouldKnowAboutWindows7.aspx


WPF Lookless Controls

WPF Lookless Control Model = Styles, Templates and Triggers

A WPF control does not include a hardcoded visual representation. Rather, the default visual representation is specified in XAML in a completely separate theme assembly from the class that implements the control's logic. This separation of code-based logic from visual representation (the control's look and feel) is what makes the WPF control model so powerful. We refer to this approach as a "lookless control model".

Why - Two big reasons: design and reusability.

Developers and designers can work side by side to simultaneously create powerful and visually stunning applications, with each person doing what they do best. A developer can implement an application's logic at the same time that a designer creates the application's look and feel. To a great degree, it is the lookless control model that enables this new workflow.By introducing a lookless control model where the visual representation of the control is specified apart from the control's code, we are able to put the visual design into the hands of a qualified UX designer, where it belongs.

The second big reason for separating a control's visuals from its code implementation is reusability. In the past, if you wanted to have two buttons with different visual appearances, you had to create two separate button classes with the correct rendering code baked into each class. Both classes contained the same basic button logic. They both provided a "click" event in response to the appropriate mouse or keyboard user interactions. The only difference between the button classes was in the rendering logic. By moving the visual representation into XAML and out of the control class, we allow a single Button class to be reused wherever we need to support a Click interaction. The button can have whatever visual representation the designer wants to create. The developer no longer needs to be involved in the process of redefining a button's visual representation.

Ref:

Lookless Control Model -

http://www.drwpf.com/blog/Home/tabid/36/EntryID/53/Default.aspx

Top Ten UI Development Breakthroughs In Windows Presentation Foundation -

http://msdn.microsoft.com/en-us/magazine/cc163662.aspx

Styles and triggers in WPF -

http://www.microsoft.com/belux/msdn/nl/community/columns/gillcleeren/wpf_stylesandtriggers.mspx

Using Templates to Customize WPF Controls -

http://msdn.microsoft.com/en-us/magazine/cc163497.aspx

Designing Lookless Controls in Windows Presentation Foundation -

http://www.devx.com/dotnet/Article/34564

WPF Apps With The Model-View-ViewModel Design Pattern -

http://msdn.microsoft.com/en-us/magazine/dd419663.aspx

WPF MultiThreading -

http://www.a2zdotnet.com/View.aspx?id=93

Creating a look-less custom control in WPF -

http://www.codeproject.com/KB/WPF/WPFCustomControl.aspx