Skip to content

Elixir library to write Windows, macOS, Linux, Android apps with OTP24 & Phoenix.LiveView

License

Notifications You must be signed in to change notification settings

JamieMaclean/desktop

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

110 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Desktop

Module Version Hex Docs Total Download License Last Updated

Building native-like Elixir apps for Windows, MacOS, Linux, iOS and Android using Phoenix LiveView!

Changes in 1.4

  • Support for ~H sigil with <item onclick={...}>
  • Changed Menu XML escaping to LiveView automatic escaping logic from LiveView HTML tokenizer & engine.
  • Removed Menu.escape_attribute/1 and Menu.escape/1
  • Dropped :xmerl dependency

Changes in 1.3

  • Added Env.subscribe/1 to listen to MacOS application events such as {:open_url, url} when a url associated with the application is clicked.
  • Using (experimantal) dbus support to render the systray icon on linux
  • Added Menu.escape_attribute/1
  • Added Window.url/1
  • Added Window.hide/1 and Window.is_hidden/
  • Fixed MacOS "Quit" menu item
  • Other fixes

Changes in 1.2

  • Removed the bleeding edge notices because Erlang OTP 24 is now broadly available for Windows/Linux/MacOS
  • Added build support for iOS devices
  • Moved most phoenix dependencies out to allow using Phoenix 1.6 / esbuild

Example

Checkout the Todo sample application for a starting point. https://github.com/elixir-desktop/desktop-example-app

MacOS build

Getting Started

Check out the Getting your Environment Ready Guide and Your first Desktop App

Status / Roadmap

  1. Run elixir-desktop on MacOS/Windows/Android ✅
  2. Run elixir-desktop on Android/iOS ✅
  3. Package elixir-desktop based apps for Android/iOS ✅ (see example-app repo for iOS and Android)
  4. Package elixir-destkop based apps in installers for MacOS/Windows/Linux
  5. Update the desktop example app built installers for MacOS/Windows/Linux using GitHub actions
  6. Use a repo of pre-compiled Erlang binaries for Android/iOS/MacOS/Windows/Linux when building Apps, so one call of mix desktop.deploy will create installer for all platforms.
  7. Integrate Code Signing for Windows/MacOS
  8. Build a GitHub actions based auto-update flow

Contributing and Raising Issues

Please checkout the github repo at https://github.com/elixir-desktop/desktop and raise any issues. For questions and comments best to use the Elixir forum: https://elixirforum.com/t/elixir-desktop-android-window-macos-linux-liveview-apps-with-elixir/ or contact me on Slack https://elixir-lang.slack.com/archives/C02429KJJCX

All suggestions are welcome!

Cheers!

Copyright and License

Copyright (c) 2021 Dominic Letz

This work is free. You can redistribute it and/or modify it under the terms of the MIT License. See the LICENSE.md file for more details.

About

Elixir library to write Windows, macOS, Linux, Android apps with OTP24 & Phoenix.LiveView

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Elixir 99.2%
  • Erlang 0.8%