Upgrade to Pro — share decks privately, control downloads, hide ads and more …

The Holy Grail of Isomorphism: Packaging Elixir for Desktop Apps

Evadne Wu
September 03, 2020

The Holy Grail of Isomorphism: Packaging Elixir for Desktop Apps

Evadne Wu

September 03, 2020

More Decks by Evadne Wu

Other Decks in Technology


  1. Myself Aspiring Bodgemaster Elixir Programmer (etso, packmatic, shun, etc.) Cocoa/Touch

    Programmer (DayFlow, LiveFrost, etc.) Inquiries: [email protected] Arguments: twitter.com/evadne
  2. y

  3. Optimisations & Tradeoffs Non-Native, Web-Based UI, but normalised after a

    decade of Web 2.0 development Non-Standard Tooling, but with a much smaller conceptual space and customisability Non-Specialised BEAM VM, but with rock-solid, predictable performance and stability
  4. Today’s Approach Create an Elixir Project with Phoenix, in the

    normal way, with some Endpoint customisation for port-finding and self- termination Create an Xcode Project for macOS, with a WKWebView and a Task that starts the Server Create an Elixir Release and have Xcode copy it into the Application Bundle
  5. Miscellaneous Storing data locally: Either use sqlite3 / sqlitex from

    Elixir side or use Local Storage from JavaScript side. Synchronising with the server: Use whatever existing APIs you have — as you are running a full BEAM node.