Skip to content

Latest commit

 

History

History
49 lines (45 loc) · 1.32 KB

talk-overview.md

File metadata and controls

49 lines (45 loc) · 1.32 KB

xbar - technical deep dive - Mat Ryer @matryer

       _                
      | |               
 __  _| |__   __ _ _ __ 
 \ \/ / '_ \ / _` | '__|
  >  <| |_) | (_| | |   
 /_/\_\_.__/ \__,_|_|   
                                             
  1. Who am I and what is xbar?
    • @matryer: open source, author, @GoTimeFM podcast
    • xbar demo
  2. Project structure
    • simple
    • monorepo contains everything: app front-end, app back-end, tools, website
  3. 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
  4. 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 ;)
  5. 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
  6. xbarapp.com
    • static site, generated by a custom tool
    • metadata extraction from GitHub repo
    • static API