While web engines directly provide APIs for web browser development, it is hard to catch the huge number of updates with a small team of developers. Therefore, it is wise to choose a third-party library so that we can easily prototype our product. Once we got a big team, we can easily incorporate the latest changes in the web engines by ourselves without using any intermediary library.
In the web browser development landscape, we encounter CEF, JXBrowser and QtWebEngine as the main candidates. While each of them has pros and cons, the decision is ultimately a tradeoff between money and development effort.
In the year 2021, the simplest and well-documented API comes with JXBrowser. While it is perfect in general, it is a commercial product and requires a licence per developer.
QtWebEngine, WebView2, and other WebView libraries can also be used in simple web browser development scenarios.
The best open-source web browser development library of my choice is the CEF family of libraries. It is a well-designed web browser development tool.
Here are some of the highlights I have taken while researching the web browser development libraries. I hope you will find them useful. I felt the need to share these libraries because it took a bit of time for me to encounter the name of these libraries.
CEF
CEFSharp
Benefits of CEF Sharp:
- Extensive GUI Options: WinForms, WPF, and OffScreen.
- The development is sponsored by more than 10 developers.
- Extensive documentation.
- Highly supportive community.
- Tutorials can be found on the web.
- Actively developed by hundreds of developers.
- Actively used by thousands of projects.
Drawbacks of CEF Sharp:
- There is no UWP GUI support.
JCEF
- Lesser active development than CefSharp but more active than CEF Python.
- Lack of documentation.
- Lack of tutorials on the web.
CEF Python
The latest supported chromium version is v66.1. The last release before the v66.1 is 3 years ago and v49.0
The Benefits of CEF Python:
- Easier API because of the language.
The Drawbacks of CEF Python:
- There is no active development unless sponsors exist.
- Only supports windows operating systems.
- Lack of documentation.
- Lack of tutorials on the web.
- Lack of community support.
JXBrowser
DotNetBrowser
QtWebEngine
PyQT, PySide
ElectronJS
WebView2
Introduction to Microsoft Edge WebView2 — Microsoft Edge Development | Microsoft Docs
GUI framework WebViews
Last but not least, you can also use the webviews supported by the GUI framework of your choice. But, most of the current webviews are not based on the Chromium web browser. So be careful, you may not get the exact results you want.