_
| |
__ _| |__ __ _ _ __
\ \/ / '_ \ / _` | '__|
> <| |_) | (_| | |
/_/\_\_.__/ \__,_|_|
- Who am I and what is xbar?
- @matryer: open source, author, @GoTimeFM podcast
- xbar demo
- Project structure
- simple
- monorepo contains everything: app front-end, app back-end, tools, website
- Wails
- xbar uses Wails by Lea Anthony
- Wails is currently getting a v2 rewrite (which xbar uses)
- build and package multi-platform desktop apps for Go https://wails.app
- delivers a WebView, handles os calls, client and "server" RPC
- Front-end
- Svelte https://svelte.dev/
- components contain markup, script, and style
- does its work at compile time
- very fast
- Tailwind CSS
- low-level CSS framework
- fine tuned control
- dark mode ;)
- Svelte https://svelte.dev/
- The Go Back-end
- main.go just kicks off Wails app
- app.Start callback
- clearCache - function abstractions
- *wails.Runtime object
- Parsing plugin output
- Great candidate for TDD
- Processing strings
- Fuzzing?
- Turning the output into Wails menus
- The Plugins service
- Incoming URLs
- xbarapp.com
- static site, generated by a custom tool
- metadata extraction from GitHub repo
- static API