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
Tweet

More Decks by Evadne Wu

Other Decks in Technology

Transcript

  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.