Windows Communication Foundation will support a broad range of Web services standards, including basic standards (XML, XSD, XPath, SOAP, WSDL) and advanced standards and specifications that comprise the WS-* architecture. These include WS-Addressing, WS-Policy, WS-Security, WS-Trust, WS-SecureConversation, WS-ReliableMessaging, WS-AtomicTransaction, WS-Coordination, WS-Policy, and MTOM.
How to Windows Communication Foundation address Service Oriented Architecture (SOA)?
Windows Communication Foundation (WPF) is the first programming model built from the ground up to provide implicit service-oriented application(SOA) development, enabling developers to work autonomously and build applications that are more version independent.
Labels: FAQ
How will Windows Communication Foundation change the way developers build applications?
Windows Communication Foundation radically simplifies development of distributed applications in several ways. First, Windows Communication Foundation reduces complexity by unifying the silos that exist with today's distributed technology stacks (Enterprise Services, System.Messaging, .NET Remoting, ASMX, and WSE). This enables developers to compose distributed applications using the best features of each of today's stacks. Second, Windows Communication Foundation maximizes developer productivity through an attribute-based programming model. Finally, Windows Communication Foundation is the first development framework built from the ground up on the principle of service-orientation enabling developers to build loosely coupled applications that interoperate securely and reliably across platforms.
Labels: FAQ
Are there any differences with WPF on Windows Vista versus earlier versions of Windows?
WPF doesn't expose any Windows Vista–specific APIs. But two interesting implicit features were unable to be supported on earlier versions of Windows:
· 3D objects only get anti-aliasing on Windows Vista or later
· Non-rectangular or translucent windows only get hardware acceleration on Windows Vista or later And of course, WPF controls have different default themes to match their host operating system (Aero on Windows Vista versus Luna or Classic on earlier systems).
One significant improvement in Windows Vista that helps WPF applications is a new driver model that helps with resource contention. It virtualizes and schedules GPU
resources, making your system perform better when multiple GPU-intensive programs are running. Running multiple WPF or DirectX applications might bog down a
Windows XP system, but shouldn't cause performance issues on a Windows Vista system.
Labels: FAQ
When should I use WPF instead of Adobe Flash?
For creating rich web content, Flash is currently the most popular option because of its ubiquity. You can put Flashbased content on a website with confidence that the overwhelming majority of visitors already have the necessary player installed. (And if they don't, it's a very quick download.)
WPF applications can also run within a web browser. WPF has the advantage of better development tools and programming model, a richer feature set, robust control reuse, broad programming language support, and full access to the underlying platform (when security permits). But viewing such content requires Windows and the .NET Framework 3.0 (installed by default on Windows Vista or later).
Labels: FAQ
When should I use WPF instead of Windows Forms?
WPF is clearly more suitable for applications with rich media, but some people have said that Windows Forms is the best choice for business applications with traditional
user interfaces. I think this belief is based on beta versions of WPF in which many standard controls didn't exist (such as TreeView, ListView, and OpenFileDialog) and a
visual designer didn't exist, making traditional Windows application development in WPF harder than in Windows Forms.
Although Windows Forms still has useful controls that WPF lacks (such as DataGridView and PropertyGrid) and at the time of writing has a larger set of third-party controls in the marketplace, WPF has compelling features even for traditional user interfaces
So unless running on Windows 98 is important (which is still supported by Windows Forms 2.0 but not by WPF), I would recommend WPF over Windows Forms for a broad
range of applications—especially after Visual Studio "Orcas" is released. But Windows Forms isn't going away anytime soon; there just won't be major enhancements
made to it after version 2.0 was released in 2005. Microsoft is clearly investing in WPF—not Windows Forms—as the future presentation platform.
Labels: FAQ
When should I use WPF instead of DirectX? (Is DirectX dead?)
DirectX is definitely not dead and is still more appropriate than WPF for advanced developers writing hard-core "twitch games" or applications with complex 3D models
where you need maximum performance. That said, it's easy to write a naive DirectX application that performs far worse than a similar WPF application.
DirectX is a low-level interface to the graphics hardware that exposes all of the quirks of whatever GPU a particular computer has. DirectX can be thought of as assembly language in the world of graphics: You can do anything the GPU supports, but it's up to you (the application author) to support all the hardware variations. This is onerous, but such low-level hardware access enables skilled developers to make their own tradeoffs between fine-grained quality and speed. In addition, DirectX will undoubtedly expose cutting-edge features of GPUs as they emerge more quickly than they will appear in WPF.
In contrast, WPF provides a high-level abstraction that takes a description of your scene and figures out the best way to render it, given the hardware resources available. Internally, this might involve using Shader Model 3.0, or the fixed-function pipeline, or software. (Don't worry if you're not familiar with these terms, but take it as a sign that you should be using WPF!) The downside of choosing DirectX over WPF is a potentially astronomical increase in development cost. A
large part of this cost is the requirement to test your application on each driver/GPU combination you intend to support. One of the major benefits of building on top of WPF is that Microsoft has already done this testing for you! You can instead focus your testing on low-end hardware for measuring performance. The fact that WPF applications can even leverage the client GPU over Remote Desktop or in a partial-trust environment is also a compelling differentiator.
Labels: FAQ
Does WPF enable me to do something that I couldn't have previously done?
Technically, the answer is "No," just like C# and the .NET Framework don't enable you to do something that you couldn't have done in assembly code. It's just a question of how much work you're willing to do to get the desired results! If you were to attempt to build a WPF-equivalent application from scratch without WPF, you'd not only have to worry about the drawing of pixels on the screen and interaction with input devices, but you'd also need to do a ton of additional work to get the accessibility and localization support that's built in to WPF, the special
handling of Remote Desktop built in to WPF so that remote applications can be rendered on the client to avoid a variety of performance issues, and so on. (Note that the optimized Remote Desktop experience only works when the server is running Windows Vista or later and the client has WPF installed.) So, I think most people would agree that the answer is "Yes" after you factor time and money into the equation!
Labels: FAQ