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

The Holy Grail of Isomorphism: Packaging Elixir...

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. The Holy Grail of Isomorphism: Packaging Elixir for Desktop Apps

    Evadne Wu Elixir Enthusiast ev@radi.ws twitter.com/evadne
  2. Myself Aspiring Bodgemaster Elixir Programmer (etso, packmatic, shun, etc.) Cocoa/Touch

    Programmer (DayFlow, LiveFrost, etc.) Inquiries: ev@radi.ws Arguments: twitter.com/evadne
  3. y

  4. 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
  5. 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
  6. 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.