-
-
Notifications
You must be signed in to change notification settings - Fork 4
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
docs: new blog post "Introduce aw-tauri" #34
base: master
Are you sure you want to change the base?
Changes from 6 commits
5c96d48
e19a25d
9e488ba
4bec6e9
d81f656
96dd276
830a496
ec8b2fd
f0deff7
3c806ad
a10f9d1
03f04fb
bb2e37e
043f9fd
838b7c1
0a93666
f06073a
68c0580
96bbdd6
4805cb6
38c888c
14f469b
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,40 @@ | ||
--- | ||
layout: post | ||
title: Tauri the future of ActivityWatch | ||
0xbrayo marked this conversation as resolved.
Show resolved
Hide resolved
|
||
date: 2024-5-13 16:35 +0300 | ||
author: "Brian Vuku" | ||
author_twitter: "subrupt" | ||
--- | ||
|
||
We're excited to introduce a new initiative [`aw-tauri`](http://github.com/ActivityWatch/aw-tauri), which is a lighter, faster cross-platform repackaging of ActivityWatch. As the name implies the project is built with [Tauri](https://tauri.app), a relatively new Rust-based toolkit that enables easy development of small, fast, and secure applications with a great developer experience. | ||
|
||
## Why Tauri | ||
|
||
Tauri apps are lightweight, memory efficient and secure by design. Tauri does not ship a renderer but uses the platform native renderer via webviews. This simple design choice makes the app size compact and memory efficient during runtime, as compared to electron apps. Tauri apps are secure, only interacting with the host systems through tauri apis. Security is a top priority for Tauri, and so it is for ActivityWatch. | ||
0xbrayo marked this conversation as resolved.
Show resolved
Hide resolved
|
||
|
||
## Developer Experience | ||
|
||
`aw-tauri` is built with [aw-server-rust](https://github.com/ActivityWatch/aw-server-rust) serving the backend together with [aw-webui](https://github.com/ActivityWatch/aw-webui). We have taken care to keep the codebase lean and clean, such that it takes very little time to get acquainted with the codebase. | ||
|
||
In our current build process, we rely heavily on PyInstaller for building the modules written in Python. This has been an enduring source of problems, and many developer weeks (if not months) have been spent trying to work out all the issues over the years (especially macOS support, because of the need to codesign a very messy `.app` bundle). | ||
0xbrayo marked this conversation as resolved.
Show resolved
Hide resolved
|
||
|
||
With Tauri, they have handled most of the heavy lifting, and make it easy to produce working binaries for all target platforms. Much of this is simply due to Rust (avoids PyInstaller), but the added tooling for codesigning and producing suitable bundles for each platform: on Linux you get a lightweight `.AppImage`, on windows a `.msi` installer, and `.app` on macOS. | ||
0xbrayo marked this conversation as resolved.
Show resolved
Hide resolved
|
||
|
||
## User Experience | ||
|
||
`aw-tauri` aims to consolidate much of the functionality that is currently implemented in [`aw-qt`](https://github.com/ActivityWatch/aw-qt), [`aw-server-rust`](https://github.com/ActivityWatch/aw-server-rust), and [`aw-notify`](https://github.com/ActivityWatch/aw-notify). | ||
0xbrayo marked this conversation as resolved.
Show resolved
Hide resolved
|
||
|
||
- It houses its own webview, no need to visit `http://localhost:5600` in your browser anymore. | ||
- Watchers can be started and stopped right from the trayicon, just like in `aw-qt`. | ||
- Updates can be pushed seemlessly across platforms provided by tauri's update system! | ||
- [aw-sync](https://github.com/ActivityWatch/aw-server-rust/tree/master/aw-sync), which is still in active development, will be integrated into the app. Syncing data across devices will be just as seamless. | ||
|
||
These are only the first steps to getting aw-tauri usable, but most of all it serves as a stable foundation enabling many improvements down the line. | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. We should probably move this section above the "Developer Experience" section. There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. I want to change this line to something else. |
||
|
||
## Conclusion | ||
|
||
`aw-tauri` is still in active development, contributions are welcome and encouraged! | ||
|
||
Check out the [README](https://github.com/ActivityWatch/aw-tauri/blob/master/README.md) to see the status of development, and where you can help out. | ||
|
||
We are hopeful that it will help solve many of our remaining challenges, and are excited to see it help shape the future of ActivityWatch. | ||
Comment on lines
+37
to
+43
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. I'd like to add links here to an early release that people can test themselves (possibly with many caveats). |
This file was deleted.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Avoid renaming the file before we publish, it makes it hard to read the diff.