WebUI - Use any local browser as a GUI Interface for your App
Web browsers are essential tools for nearly all internet users today, serving as the primary means to access websites and web services. These are indispensable for all desktop, mobile, and tablet devices.
This necessitates the idea of our project, which utilizes the currently installed web browser to create and run local desktop apps.
What is WebUI?
WebUI is a unique application that functions as neither a web-server solution nor a framework. Instead, it offers the flexibility to use any web browser as a Graphical User Interface (GUI). This capability is coupled with the user's chosen backend language and HTML5 on the frontend, all contained within a lightweight, portable library.
WebUI leverages the sophistication and optimization of modern web browsers to provide a lightweight, portable, and feature-rich GUI for software applications. Unlike WebView, which requires a large SDK and numerous dependencies, WebUI uses a small static/dynamic library to run any installed web browser as a GUI, resulting in smaller, faster, and more portable programs.
The application is highly versatile, offering support for popular web browsers including Google Chrome, Mozilla Firefox, and Apple's Safari.
It follows a fast binary communication protocol, enhancing the speed and efficiency of data transfers.
Key Features
Multi-platform and Multi-browsers
One of the key features of WebUI is its multi-platform and multi-browser compatibility, making it a flexible choice for various operating environments. This feature underscores its adaptability and wide usability. The lightweight nature of the library also ensures it doesn't impose significant load or demand on system resources.
In essence, WebUI is an innovative solution that brings together the functionality of a GUI with the power of user-preferred backend languages and HTML5, all in a portable and efficient package.
Multiple languages support
This software is incredibly versatile and supports a vast array of languages. These include widely used ones such as C and C++. Beyond this, it also offers wrappers for a number of other languages. For instance, it supports Golang, a statically typed, compiled language that is designed to be easy to read and write.
It also supports JavaScript and TypeScript, both of which are integral for web development. Python, a popular language for data science and machine learning, is likewise supported. Other languages that it can handle include Rust, V, Zig, Odin, Delphi, Free Pascal, and Nim, showcasing its broad adaptability.
Other Features
- The application is portable and requires only a web browser at runtime, making it easy to use on any device without the need for downloads or installations.
- The system is composed of a single header file, simplifying its structure and making it easier to understand and modify.
- It is a lightweight solution, with a library size of just a few kilobytes, ensuring quick loading times and minimal impact on device memory.
- The application uses a fast binary communication protocol, ensuring efficient and quick data transfer between devices.
- It is a multi-platform and multi-browser solution, providing a versatile tool that can be used across a range of devices and web browsers.
- To ensure the safety and security of user data, the application uses a private profile, reducing the risk of data breaches and unauthorized access.
Supported Web browsers
- Mozilla Firefox
- Google Chrome
- Microsoft Edge
- Chromium
- Yandex browser
- Brave
- Vivaldi
- Epic
Supported Systems
- Linux: Ubuntu, Debian, Fedora, Manjaro, Arch Linux, Linux Mint
- Windows
- macOS: Intel and Apple Silicon
License
The app is released under the MIT License