nerves
AtomVM
nerves | AtomVM | |
---|---|---|
11 | 4 | |
2,150 | 1,392 | |
0.7% | 1.0% | |
8.4 | 9.7 | |
13 days ago | 3 days ago | |
Elixir | C | |
Apache License 2.0 | Apache License 2.0 |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
nerves
- Embedded Elixir
-
Where Nerves-related Mix tasks are defined?
The nerves package's README.md explains what each repository is responsible for with a comprehensive listing.
- Elixir for Ruby developers: the three most important differences
-
Firefly – A new compiler and runtime for BEAM languages
You may be already aware of it, but just in case, there is the Nerves project: https://nerves-project.org/
-
Mixing sync and async views in the same application
As for embedded... I've only dabbled. Yeah you're not going to run Elixir on an Arduino or other very minimal bare metal embedded processor. But the Nerves Project (https://nerves-project.org/) which runs Elixir directly on SBCs is very well regarded. But either way it doesn't matter, since I thought we were talking about web dev, which is where Phoenix and Elixir just make more sense, for me.
-
what is the common usage of elixir
For me particularly I like it for things like APIs, Web Platforms (lower resource usage than other languages), and embedded devices via Nerves. However I've also used it on my endpoints to monitor them via Erlang's built in os_mon. Another usage is the distributed nature of erlang can allow you to do things like connect two nodes and run code on a remote node via remote procedure calls. This would allow you to execute something in a nearby geolocated node and reduce latency. Fly.io did a talk on this feature.
-
Functional programming language for embedded devices?
Check out nerves, a set of tools and libraries for embedded development with Elixir.
- Craft and deploy bulletproof embedded software in Elixir
-
A native Go userland for your Raspberry Pi 3 or 4 appliances
Is this kinda like the Nerves approach but for Golang? (https://github.com/nerves-project/nerves)
-
Use case of elixir
Nerves is also popular for embedded.
AtomVM
-
Firefly – A new compiler and runtime for BEAM languages
Check out the existing AtomVM if you've not for that use case.
https://github.com/atomvm/AtomVM
- Mixing sync and async views in the same application
-
Deploying Phoenix apps on bare metal
Also this: https://github.com/atomvm/AtomVM
-
Embedded programming for the functionally-inclined programmer?
There’s also AtomVM a minimal erlangVM to run elixir on microcontrolers https://github.com/bettio/AtomVM and possibly the Lumen compiler to compile to byte code https://getlumen.org
What are some alternatives?
tamago - TamaGo - ARM/RISC-V bare metal Go
purescript-native - A native compiler backend for PureScript (via C++ or Golang)
libcluster - Automatic cluster formation/healing for Elixir applications
porcelain - Work with external processes like a boss
live_svelte - Svelte inside Phoenix LiveView with seamless end-to-end reactivity
awesome-embedded-rust - Curated list of resources for Embedded and Low-level development in the Rust programming language
erlexec - Execute and control OS processes from Erlang/OTP
onetime - An onetime key-value store for Elixir
cubdb - Elixir embedded key/value database
erlang_term - Erlang Term Info
nerves_livebook - Develop on embedded devices with Livebook and Nerves
funnel - Streaming Elixir API built upon ElasticSearch's percolation.