Desktop
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
andMenu.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
andWindow.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 reference of a starting point. https://github.com/elixir-desktop/desktop-example-app
Gettings Started
Check out the Getting your Environment Ready Guide and Your first Desktop App
Status / Roadmap
- Run elixir-desktop on MacOS/Windows/Android ✅
- Run elixir-desktop on Android/iOS ✅
- Package elixir-desktop based apps for Android/iOS ✅ (see example-app repo for iOS and Android)
- Package elixir-destkop based apps in installers for MacOS/Windows/Linux
- Update the desktop example app built installers for MacOS/Windows/Linux using GitHub actions
- 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. - Integrate Code Signing for Windows/MacOS
- 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.