https://github.com/jackmordaunt/nativefier
Make your favourite webapps feel at home on the desktop.
https://github.com/jackmordaunt/nativefier
cli desktop nativefier rust utility
Last synced: about 1 year ago
JSON representation
Make your favourite webapps feel at home on the desktop.
- Host: GitHub
- URL: https://github.com/jackmordaunt/nativefier
- Owner: JackMordaunt
- Created: 2018-12-13T10:01:37.000Z (over 7 years ago)
- Default Branch: master
- Last Pushed: 2019-09-03T15:08:30.000Z (almost 7 years ago)
- Last Synced: 2025-04-03T15:43:32.118Z (about 1 year ago)
- Topics: cli, desktop, nativefier, rust, utility
- Language: Rust
- Homepage:
- Size: 4.89 MB
- Stars: 8
- Watchers: 1
- Forks: 2
- Open Issues: 0
-
Metadata Files:
- Readme: readme.md
Awesome Lists containing this project
README
# nativefier
> Create native apps for your favourite websites.
Inspired by [jiahaog/nativefier](https://github.com/jiahaog/nativefier).
## Features
- Tiny generated app size, `3MB` instead of `80MB`
- Native webviews (Webkit, MSHTML) instead of bundling a whole browser (looking at you, Electron)
- MacOS (Windows and Linux planned)
- Standalone binary which does not require a toolchain (unlike [jiahaog/nativefier](https://github.com/jiahaog/nativefier) which requires the `nodejs` toolchain)
## Caveats
- Compatibility with websites is dependent on the built-in webview for the OS
## Structure
- `gui` contains the frontend code which is compiled to `wasm`.
- `webview` serves the `gui`, connecting it to `nativefier` core and the OS.
- `nativefier` is the core logic that produces the bundle.
## Key Components
- [x] Delineate between execution modes (bundle vs bundler).
- [x] Detect appropriate icon for website.
- [ ] Support common web icon formats.
- [x] png
- [x] ico
- [ ] svg
- [x] Support icon override.
- [x] Replace dependency [`icns`](https://github.com/jackmordaunt/icns) with [`icns-rs`](https://github.com/jackmordaunt/icns-rs) for pure Rust goodness.
- [ ] Create simple and elegant GUI (make `nativefier` accessible to those that can't use the command line).
- [ ] Integrate with chrome via the Chrome DevTools Protocol.
- [ ] Integrate with this [icon repository](https://github.com/jiahaog/nativefier-icons).
- [ ] Inject JS/CSS for customisable experience.
## ie11 GUI with asmjs-unknown-emscripten
- Needs polyfil for Math.random()
- It seems like my prepended js "runtime.js" is NOT being prepended/activated
- ??