GenericJam
Is there any interest in a mobile framework for Elixir akin to React Native or Flutter?
I am really interested but not sure about the right approach. I’ve done the steps here (this post is 5 years old so they have to be adapted a bit) to get Erlang working on an Android device although it’s currently only working through adb shell as the phone isn’t rooted which is the only way I can see I could run it with Termux. Not sure what the next step would be to get Elixir running on top of that but that’s the plan.
Maybe for graphics, etc we could look at Scenic.
I also thought about dissecting the build systems of Flutter or React Native to see if we could use a similar approach.
In the end I would like to have a component based systems similar to RN and Flutter. It makes sense to use something like Phoenix Templates for this.
I think Elixir as a language makes a lot of sense for mobile given its superior take on concurrency.
If I dare to dream I think we could think about things like code push in the future as well.
Does anyone have experience with getting beyond just building Erlang for mobile? I’d be interested to know what worked.
Trending in Discussions
Other Trending Topics
Categories:
Sub Categories:
Forums
Popular Tags
- #ecto
- #liveview
- #troubleshooting
- #learning-elixir
- #library
- #deployment
- #erlang
- #testing
- #genserver
- #mix
- #absinthe
- #remote-other
- #otp
- #plug
- #how-to-question
- #macros
- #postgres
- #elixirconf
- #channels
- #exunit
- #discussion
- #code-sync
- #podcasts
- #javascript
- #onsite
- #dialyzer
- #docker
- #authentication
- #umbrella
- #full-time-contract
- #podcasts-by-brainlid
- #ecto-query
- #elixirconf-us
- #ai
- #blog-post
- #elixir-ls
- #phoenix_html
- #iex
- #graphql
- #genstage
- #websockets
- #supervisor
- #advent-of-code
- #distillery
- #processes
- #api
- #forms
- #metaprogramming
- #hex
- #security










Showing Posts 14 to 5- Show Best Posts
- Show All (oldest first)
- Show All (newest first)
GenericJam
For anyone coming here in the future the best bet is to use Elixir Desktop for mobile.
derek-zhou
Actually I like the idea of Scenic. If we can do one super app together, than contains scenic, elixir, erlang and some native control all in one, so the community can distribute their own applet via hex.pm in source form. So this super app will access hex.pm, browse available scenic apps and download compile and play the app.
If we have that, before long we will have silly games mushroom all over!
GenericJam
I’ve been working in React Native for a while (too long)… I would like sort of a drop in replacement for that. It’s possible you need to be Facebook or Google to pull it off but RubyMotion gives me hope.
A similar vision that @boydm has for Scenic. It should work with or without a server.
Also, I definitely want the BEAM for the same reason you’d want the BEAM in embedded. That’s kind of the point. I want to be able to run an Elixir node on the phone.
boydm
Yes. If you don’t need to change the aspect ratio, then that is the approach I would take.
Reading some of the other responses though, I (without knowing anything about what you are trying to build…) would look at phoenix/LiveView first as well. It might not fit the scenario tho!
GenericJam
I was in touch with someone that used to be involved in RubyMotion. Here’s their contribution:
Seems doable albeit not easy.
derek-zhou
So if I don’t need to change aspect ratio, can I dynamically change the scaling factor and center the scene and live with letterboxing or scrolling now?
ityonemo
I think if you built an elixir equivalent of React Native, a very many people would be interested! I would say the best approach (for now) is don’t try to get the BEAM on these devices, just take the LiveView approach; and figure out how to handle the “no-connection” situation later.
eahanson
You could look at the approach that RubyMotion took. It’s a complete Ruby implementation on top of iOS and Android and compiles down to native code. You can use all the iOS or Android SDK and third-party libraries (depending on which platform your app is running on) plus all the Ruby standard library functions that were ported over, plus any cross-platform RubyMotion-specific third-party gems. I’ve written iOS apps in Objective-C, Android apps in Java, and iOS+Android apps in RubyMotion and I definitely prefer RubyMotion.
If you have a lot of time, you could try doing the same with Elixir
boydm
Well… there are two hurdles. I think the harder one is just getting the BEAM running at all. Although I haven’t paid too much attention over the past year (been working on a different port)…
After that …
I have a feeling the glfw driver might just work. Maybe? Decent odds of it
GenericJam
Hi Boyd! Thanks for chipping in. I really like Scenic. Kudos for that.
I know in Android and iOS you can query the OS for the screen size so this is kind of what I’m counting on. I’d be over the moon if this was the biggest hurdle. I suspect just getting it to work (reliably) will be perhaps the most difficult.
@boydm Where would you start with getting it to work? I see some positive indications using Android NDK as well as being able to use imported C libs (possible to bring the BEAM in?) in Android and iOS. There are also cross platform build tools like Boden.