-
-
Notifications
You must be signed in to change notification settings - Fork 3.4k
Description
Describe the problem
With Tauri 2.0 hitting beta and bringing Mobile support, one key part of the Mobile (and Desktop) ecosystem is still missing: Widgets.
Right now I'm unaware of any way to write Widgets in Tauri, or even combine an Tauri-based App with e.g. a Swift-based Widget.
E.g. something like this:
Describe the solution you'd like
I would love to see way for Tauri to support Widgets on Mobile and Desktop. My primary focus is personally on iOS and macOS Widgets, but Android Widgets should also be considered, although I would think these are different enough that it might make sense to treat them as completely separate.
While we cannot use Webviews in Widgets, I could imagine a way similar to https://scriptable.app where Tauri exposes an API and a Widget runtime.
- The Widget API: Configuration of Layout for the View and data loading that should get run in
getSnapshot/getTimelineof the Widget (iOS and macOS is the same) - The Widget Runtime: Native Swift/Kotlin code that sets up the plumbing and executes what the user has set up in
getSnapshot/getTimelineand the view etc
I'm not entirely sure how Scriptable does it, but it seems to expose a minimal set of the Widget API via JavaScript, which lets you do most things. It hasn't been updated to support interactivity yet though (arrived in iOS 17).
Alternatives considered
A different approach one could imagine would be a way to link your Widget code from an existing Xcode project together with the Tauri generated Xcode project.
Additional context
No response
