XAML Browser Applications (XBAP, pronounced "ex-bap") are
Windows Presentation Foundation
Windows Presentation Foundation (WPF) is a free and open-source graphical subsystem (similar to WinForms) originally developed by Microsoft for rendering user interfaces in Windows-based applications. WPF, previously known as "Avalon", was init ...
(.xbap) applications that are hosted and run inside a
web browser
A web browser is application software for accessing websites. When a user requests a web page from a particular website, the browser retrieves its files from a web server and then displays the page on the user's screen. Browsers are used on ...
such as
Firefox
Mozilla Firefox, or simply Firefox, is a free and open-source web browser developed by the Mozilla Foundation and its subsidiary, the Mozilla Corporation. It uses the Gecko rendering engine to display web pages, which implements current and ...
or
Internet Explorer
Internet Explorer (formerly Microsoft Internet Explorer and Windows Internet Explorer, commonly abbreviated IE or MSIE) is a series of graphical user interface, graphical web browsers developed by Microsoft which was used in the Microsoft Wind ...
. Hosted applications run in a partial trust
sandbox environment and are not given full access to the computer's resources like opening a new network connection or saving a file to the computer disk and not all
WPF functionality is available. The hosted environment is intended to protect the computer from
malicious applications; however it can also run in full trust mode by the client changing the permission. Starting an XBAP from an
HTML
The HyperText Markup Language or HTML is the standard markup language for documents designed to be displayed in a web browser. It can be assisted by technologies such as Cascading Style Sheets (CSS) and scripting languages such as JavaScri ...
page is seamless (with no security or installation prompt). Although one perceives the application running in the browser, it actually runs in an out-of-process executable (PresentationHost.exe) managed by a
virtual machine
In computing, a virtual machine (VM) is the virtualization/ emulation of a computer system. Virtual machines are based on computer architectures and provide functionality of a physical computer. Their implementations may involve specialized har ...
. In the initial release of
.NET Framework 3.0
Microsoft started development on the .NET Framework in the late 1990s originally under the name of Next Generation Windows Services (NGWS). By late 2001 the first beta versions of .NET 1.0 were released. The first version of .NET Framework was ...
, XBAPs only ran in Internet Explorer. With the release of
.NET Framework 3.5 SP1, which includes an XBAP extension, they also run in Mozilla Firefox.
XBAP limitations
XBAP applications have certain restrictions on what
.NET features they can use. Since they run in partial trust, they are restricted to the same set of permission granted to any InternetZone application. Nearly all standard WPF functionality, however, around 99%, is available to an XBAP application. Therefore, most of the WPF
UI features are available.
Starting in February 2009, XBAP applications no longer function when run from the Internet. Attempting to run the XBAP will cause the browser to present a generic error message. An option exists in Internet Explorer 9 that can be used to allow the applications to run, but this must be done with care as it increases the potential
attack surface
The attack surface of a software environment is the sum of the different points (for " attack vectors") where an unauthorized user (the "attacker") can try to enter data to or extract data from an environment. Keeping the attack surface as small a ...
- and there have been security vulnerabilities in XBAP.
Permitted
*2D drawing
*3D
*Animation
*Audio
Not permitted
*Access to OS
drag-and-drop
In computer graphical user interfaces, drag and drop is a pointing device gesture in which the user selects a virtual object by "grabbing" it and dragging it to a different location or onto another virtual object. In general, it can be used ...
*Bitmap effects (these are deprecated in .NET 3.5 SP1)
*Direct database communication (unless the application is fully trusted)
*Interoperability with Windows controls or
ActiveX
ActiveX is a deprecated software framework created by Microsoft that adapts its earlier Component Object Model (COM) and Object Linking and Embedding (OLE) technologies for content downloaded from a network, particularly from the World Wide Web. ...
controls
*Most standard dialogs
*Shader effects
*Stand-alone Windows
See also
*
ClickOnce
ClickOnce is a component of Microsoft .NET Framework 2.0 and later, and supports deploying applications made with Windows Forms or Windows Presentation Foundation. It is similar to Java Web Start for the Java Platform or Zero Install for Linux.
...
*
Extensible Application Markup Language
Extensible Application Markup Language (XAML ) is a declarative XML-based language that Microsoft developed for initializing structured values and objects. It is available under Microsoft's Open Specification Promise.
XAML is used extensively ...
(XAML)
*
Google Native Client
Google Native Client (NaCl) is a discontinued sandboxing technology for running either a subset of Intel x86, ARM, or MIPS native code, or a portable executable, in a sandbox. It allows safely running native code from a web browser, independ ...
(NaCl)
*
HTML Application
An HTML Application (HTA) is a Microsoft Windows program whose source code consists of HTML, Dynamic HTML, and one or more scripting languages supported by Internet Explorer, such as VBScript or JScript. The HTML is used to generate the user i ...
(HTA)
*
Microsoft Silverlight
Microsoft Silverlight is a discontinued application framework designed for writing and running rich web applications, similar to Adobe Inc., Adobe's Run time environment, runtime, Adobe Flash. A plugin for Silverlight is still available for a v ...
*
WebAssembly
WebAssembly (sometimes abbreviated Wasm) defines a portable binary-code format and a corresponding text format for executable programs as well as software interfaces for facilitating interactions between such programs and their host environmen ...
*
Windows UI Library (WinUI or WinRT XAML)
*
XAP (file format)
XAP is the file format used to distribute and install application software and middleware onto Microsoft's Windows Phone 7/8/8.1/10 operating system, and is the file format for Silverlight applications. Beginning with Windows Phone 8.1, XAP was re ...
*
Java Web Start
In computing, Java Web Start (also known as JavaWS, javaws or JAWS) is a deprecated framework developed by Sun Microsystems (now Oracle) that allows users to start application software for the Java Platform directly from the Internet using a web ...
References
External links
Windows Presentation Foundation Security SandboxChannel 9 WPF XBAP Video
.NET Framework terminology
Microsoft application programming interfaces
{{web-software-stub