DotNetBrowser

Last updated
DotNetBrowser
Developer(s) TeamDev
Initial release6 April 2015;8 years ago (2015-04-06)
Stable release
2.25.1 [1]   OOjs UI icon edit-ltr-progressive.svg / 22 January 2024
Written in C#, C++
Operating system Microsoft Windows, Linux, macOS
Type Framework, Web browser
License Proprietary [2]
Website https://teamdev.com/dotnetbrowser

DotNetBrowser is a proprietary .NET library that provides a Chromium-based engine which can be used to load and display web pages. [3] [4] [5] It is developed and supported by TeamDev since 2015.

Contents

Features

Some main features are as follows:

Usage

Primary usage is embedding a browser into various .NET desktop applications and displaying the web pages. [10] DotNetBrowser can be used as a headless browser. The headless mode is also available on Linux and macOS.

Another known use-cases are creating web-based kiosk applications [11] and VSTO add-ins for Microsoft Office. [12]

More examples and use-cases are available in the DotNetBrowser Examples repository.

Example

WPF

XAML markup

<Windowx:Class="Sample.Wpf.MainWindow"xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"xmlns:d="http://schemas.microsoft.com/expression/blend/2008"xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"xmlns:wpf="clr-namespace:DotNetBrowser.Wpf;assembly=DotNetBrowser.Wpf"mc:Ignorable="d"Title="MainWindow"Height="450"Width="800"Closed="MainWindow_OnClosed"><Grid><wpf:BrowserViewx:Name="browserView"/></Grid></Window>

C#

usingSystem;usingSystem.WindowsusingDotNetBrowser.Browser;usingDotNetBrowser.Engine;namespaceSample.Wpf;publicpartialclassMainWindow:Window{privatereadonlyIEngine_engine;privatereadonlyIBrowser_browser;publicMainWindow(){InitializeComponent();// Create and initialize the IEngine_engine=EngineFactory.Create();// Create the IBrowser_browser=engine.CreateBrowser();_browser.Navigation.LoadUrl("https://teamdev.com/dotnetbrowser");// Initialize the WPF BrowserView controlbrowserView.InitializeFrom(browser);}privatevoidMainWindow_OnClosed(objectsender,EventArgse){_browser.Dispose();_engine.Dispose();}}

Windows Forms

C#

usingSystem;usingSystem.Windows.Forms;usingDotNetBrowser.Browser;usingDotNetBrowser.Engine;usingDotNetBrowser.WinForms;namespaceSample.WinForms;publicpartialclassForm1:Form{privatereadonlyIEngine_engine;privatereadonlyIBrowser_browser;publicForm1(){InitializeComponent();// Create and initialize the IEngine_engine=EngineFactory.Create();// Create the Windows Forms BrowserView controlvarbrowserView=newBrowserView{Dock=DockStyle.Fill};// Create the IBrowser_browser=engine.CreateBrowser();_browser.Navigation.LoadUrl("https://teamdev.com/dotnetbrowser");// Initialize the Windows Forms BrowserView controlbrowserView.InitializeFrom(browser);// Add the BrowserView control to the FormControls.Add(browserView);Closed+=Form1Closed;}privatevoidForm1Closed(objectsender,EventArgse){_browser.Dispose();_engine.Dispose();}}

See also

Related Research Articles

Vector Markup Language (VML) is an obsolete XML-based file format for two-dimensional vector graphics. It was specified in Part 4 of the Office Open XML standards ISO/IEC 29500 and ECMA-376. According to the specification, VML is a deprecated format included in Office Open XML for legacy reasons only.

Extensible Application Markup Language is a declarative XML-based language developed by Microsoft for initializing structured values and objects. It is available under Microsoft's Open Specification Promise.

<span class="mw-page-title-main">Windows Forms</span> Graphical user interface software library

Windows Forms (WinForms) is a free and open-source graphical (GUI) class library included as a part of Microsoft .NET, .NET Framework or Mono, providing a platform to write client applications for desktop, laptop, and tablet PCs. While it is seen as a replacement for the earlier and more complex C++ based Microsoft Foundation Class Library, it does not offer a comparable paradigm and only acts as a platform for the user interface tier in a multi-tier solution.

A user interface markup language is a markup language that renders and describes graphical user interfaces and controls. Many of these markup languages are dialects of XML and are dependent upon a pre-existing scripting language engine, usually a JavaScript engine, for rendering of controls and extra scriptability.

Windows Presentation Foundation (WPF) is a free and open-source graphical subsystem originally developed by Microsoft for rendering user interfaces in Windows-based applications. WPF, previously known as "Avalon", was initially released as part of .NET Framework 3.0 in 2006. WPF uses DirectX and attempts to provide a consistent programming model for building applications. It separates the user interface from business logic, and resembles similar XML-oriented object models, such as those implemented in XUL and SVG.

The Extensible Metadata Platform (XMP) is an ISO standard, originally created by Adobe Systems Inc., for the creation, processing and interchange of standardized and custom metadata for digital documents and data sets.

Catalogue Service for the Web (CSW), sometimes seen as Catalogue Service - Web, is a standard for exposing a catalogue of geospatial records in XML on the Internet. The catalogue is made up of records that describe geospatial data, geospatial services, and related resources.

Layout managers are software components used in widget toolkits which have the ability to lay out graphical control elements by their relative positions without using distance units. It is often more natural to define component layouts in this manner than to define their position in pixels or common distance units, so a number of popular widget toolkits include this ability by default. Widget toolkits that provide this function can generally be classified into two groups:

<span class="mw-page-title-main">Microsoft Silverlight</span> Application framework for writing and running rich Internet applications

Microsoft Silverlight is a discontinued application framework designed for writing and running rich internet applications, similar to Adobe's runtime, Adobe Flash. While early versions of Silverlight focused on streaming media, later versions supported multimedia, graphics, and animation, and gave support to developers for CLI languages and development tools. Silverlight was one of the two application development platforms for Windows Phone, but web pages using Silverlight did not run on the Windows Phone or Windows Mobile versions of Internet Explorer, as there was no Silverlight plugin for Internet Explorer on those platforms.

XAML Browser Applications are Windows Presentation Foundation (.xbap) applications that are hosted and run inside a web browser such as Firefox or Internet Explorer. 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 page is seamless. 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 the initial release of .NET Framework 3.0, 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.

Animation of Scalable Vector Graphics, an open XML-based standard vector graphics format is possible through various means:

MapDotNet is a suite of geographic information system (GIS) software products developed by ISC that run on Microsoft Windows. The GIS software competes with ESRI and MapInfo GIS products. MapDotNet UX is the latest generation and consists of a set of WCF web services for rendering map images and tiles and for performing spatial analysis and editing. UX includes an SDK for developing rich interactive mapping applications on Microsoft Silverlight, Windows Presentation Foundation and HTML5. MapDotNet UX also includes an Extract, Transform & Load (ETL), map design and tile cache creation tool called Studio modeled after Microsoft's Expression series of products. The MapDotNet UX renderer is built on WPF and consumes spatial data from multiple sources including Shapefiles, PostGIS, ArcSDE, Oracle Spatial, SQL Azure, SQL Server 2008 R2 and SQL Server 2012.

Model–view–viewmodel (MVVM) is an architectural pattern in computer software that facilitates the separation of the development of the graphical user interface —be it via a markup language or GUI code—from the development of the business logic or back-end logic such that the view is not dependent upon any specific model platform.

Microsoft Silverlight is an application framework for writing and running rich web applications that was actively developed and marketed by Microsoft from 2007 to 2012. This is a technical overview of the platform's history.

Windows UI Library is a user interface API that is part of the Windows Runtime programming model that forms the backbone of Universal Windows Platform apps for the Windows 8, Windows 8.1, Windows 10 and Windows Phone 8.1 operating systems. It enables declaring user interfaces using Extensible Application Markup Language (XAML) technology.

<span class="mw-page-title-main">Business Intelligence Markup Language</span>

Business Intelligence Markup Language (BIML) is a domain-specific XML dialect for defining business intelligence (BI) assets. Biml authored BI assets can currently be used by the BIDS Helper add-on for Microsoft SQL Server Business Intelligence Development Studio (BIDS) and the Varigence Mist integrated development environment; both tools translate Biml metadata into SQL Server Integration Services (SSIS) and SQL Server Analysis Services (SSAS) assets for the Microsoft SQL Server platform. However, emitters can be created to compile Biml for any desired BI platform.

Blink is a browser engine developed as part of the Chromium project with contributions from Apple, Google, Meta, Microsoft, Opera Software, Vivaldi Technologies, Adobe, Intel, IBM, Samsung, and others. It was first announced in April 2013.

<span class="mw-page-title-main">WinJS</span> Open-source JavaScript library

The Windows Library for JavaScript is an open-source JavaScript library developed by Microsoft. It has been designed with the primary goal of easing development of Windows Store apps for Windows 8 and Windows 10, as well as Windows Phone apps for Windows Phone 8.1, Windows 10 Mobile and Xbox One applications using HTML5 and JavaScript, as an alternative to using WinRT XAML and C#, VB.NET or C++ (CX).

References

  1. Error: Unable to display the reference properly. See the documentation for details.
  2. "DotNetBrowser Product Licence Agreement". TeamDev. TeamDev. Retrieved 12 March 2021.
  3. "DotNetBrowser on StackOverflow" . Retrieved 14 March 2021.
  4. "DotNetBrowser on NuGet" . Retrieved 14 March 2021.
  5. "c # - i want to get location information with dotnetbrowser".
  6. "Chromium Web Browser Control in .NET Applications". DZone. Archived from the original on 2021-05-19. Retrieved 2021-05-19.
  7. "DotNetBrowser and invalid external method call".
  8. "Using dotnetbrowser to call JavaScript function to c#". 14 June 2018.
  9. "The mutual call between the JS code of the DotNetBrowser internal page and the external C# code". Archived from the original on 2021-05-19. Retrieved 2021-05-19.
  10. "Creating an HTML UI for Desktop .NET Applications". InfoQ. InfoQ. Retrieved 12 March 2021.
  11. Mihika Kapoor (2 July 2016). "Frame Building with C# and VB.NET". medium.com. Retrieved 17 May 2021.
  12. "Using VSTO to develop Word AddIn, is there a third-party kernel that can replace webbrowser?" . Retrieved 21 May 2021.