8 releases
0.3.0 |
|
---|---|
0.2.12 | Feb 19, 2024 |
0.2.9 | Apr 5, 2023 |
0.2.6 | Mar 30, 2023 |
#415 in GUI
78 downloads per month
175KB
551 lines
Intro
Convert any web page into a desktop app (but, lightweight ~3MB)
- The bundle size will be around 3MB
- Demo: https://i.imgur.com/BLr03oF.mp4
Pre-requisites
macOS
# cargo
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
Linux
You should first install the Rust toolchain
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
Then you need to install some dependencies, which depends on your Linux distribution.
Ubuntu (and derivates such as KDE Neon, PopOS etc.)
sudo apt install libwebkit2gtk-4.0-dev -y
OpenSUSE
sudo zypper in -y webkit2gtk3-soup2-devel
Other
You need to look for another package that provides the development libraries for webkit with GTK4. There might also be other missing packages.
Windows
Windows Setup (x64)
- Setup Tauri Pre-Requisities for windows: https://tauri.app/v1/guides/getting-started/prerequisites#setting-up-windows
Install
cargo install web2app tauri-cli
Usages
# Run with args
web2app args -n Notion -u https://www.notion.so -i icon.png
# Run with interactive mode
web2app interactive
# 🍀 Enter Name (TestApp):
# 🍀 Enter URL (https://trello.com):
# 🍀 Enter Description (An example application.):
# 🍀 Enter Version (0.1.0):
# 🍀 Enter Author (John Doe):
# 🍀 Enter Identifier (com.example.testapp):
# 🍀 Enter Icon (icon_path.png):
# 🍀 Enter User Agent (Mozilla/5.0):
Output
- The output will be saved in
$HOME/web2app_apps/<name>
directory.
Roadmap
- Zoom In/Out
- Reload
- Standard Copy/Paste
- Custom User Agent
- Desktop Notification (working for some apps)
- Back and forward navigation
- Automatically fetch icon from website
- Dark Reader Extension (already there but, not fully working)
- Retain window size and position after restart
- Separate
web2app_apps
repo to host common built apps through Github Action - File download support
Libraries
Dependencies
~1.4–8MB
~71K SLoC