WPF unlocks the full power of a Windows PC for building rich desktop software. There is no Windows software requirement that WPF cannot satisfy. Major software applications like Visual Studio are built with WPF, proving its capability for even the biggest projects.
WPF Application is ideal for :-
- Custom windows applications
- Applications that require Rich UI
- Applications that require access to full power of a Windows PC
Once you land up to the decision of using WPF , you should know about different application types in WPF in order to take a proactive decision early in your projects.
There are three different types of WPF Applications
– Traditional Desktop Applications
– Navigation Based WPF Application
– WPF Browser Hosted Applications (XBAP)
This blog summarises type, advantages and disadvantages of different types of WPF App and would help us choosing where to opt which.
Different types of WPF Application differs in their navigational structure and deployment schemes : –
Traditional Desktop Application
- Executable Assembly that runs on a local machine.
- Like any other desktop applications, these applications can be installed through setups , Windows Installer Packages or via Click Once technology to allow desktop applications to be distributed and installed via a remote web server.
Navigation Based WPF Applications
- WPF applications can optionally choose to make use of a navigation-based structure, which makes a traditional desktop application take on the basic behavior of a web browser application.
- Provides a “forward” and “back” button.
- The application itself maintains a list of each page and provides the necessary infrastructure to navigate between them, pass data across pages (similar to a web-based application variable), and maintain a history list.
XBAP Applications :-
- Build applications hosted in a webbrowser
- End User navigates to a url where XBAP(Collection of Pages) is transparently downloaded and installed to a local machine.
- These are compiled to .xbap files
- These applications run within a security sandbox to prevent untrusted applications from controlling local system resources.
|WPF Desktop||WPF Navigation Application||XBAP|
|Browser||NA||NA||IE 6.0 + and Firefox|
|Deployment||ClickOnce , SetUp, Installer||ClickOnce , SetUp, Installer||Runs in Internet Explorer Secure Sandbox|
|When To Use||Need Access to Windows Files, Desktop App,Can work offline
Multiple versions (con?)
Better access to low level parts of the computer
|Desktop App which requires navigation||Intranet applications for Windows-oriented companies.|
|Disadvantages||MS- OS Only, Requires full framework,||MS- OS Only,||Single browser
Requires full framework
Can’t interact with client’s file system etc
Single version,Mostly internal sites for companies that use MS-OS
Decision tree – Which WPF App should you choose ?
The above decision tree guides us in selecting the type of WPF Application that suits our need.