One concern: Is it even slower than Erlang itself usually is?
One concern: Is it even slower than Erlang itself usually is?
In practice, you may find that your Elixir code is even faster than the equivalent code you might write in Erlang. Elixir encourages some things like compiling some logic into your modules. For example, Dynamo compiles routes so they're super fast. String.Unicode is compiled from the UnicodeData.txt database itself[1].
[1]: https://github.com/elixir-lang/elixir/blob/master/lib/elixir...
I looked at the GitHub repo and there didn't seem to be much.
All I could find was:
https://github.com/josevalim/dynamo/blob/master/examples/sim...
Can I mix a websockets server into a Dynamo app? Websockets are a key use-case for Erlang for me.
I've been looking into how to do a WS server on Erlang and this was the most modern example I could find: https://github.com/ostinelli/misultin/blob/master/src/misult...
To be frank: pretty fucking gnarly.
On the WebSockets issue, I'd check out Cowboy. Cowboy seems to be the new hotness in erlang web apps. It has at least some support for web sockets.
https://github.com/extend/cowboy
If you're looking for a full featured web framework with built-in web socket support then maybe what you really want is Nitrogen: http://nitrogenproject.com
Finally, and just for completeness, since I'm mentioning web frameworks, you'll probably want to see what ChicagoBoss's WS story is: http://www.chicagoboss.org or if someone's done something with WebMachine and websockets: http://basho.com
I think Nitrogen sounds like the best bet.
Since Elixir seems to mix effortlessly with Erlang, you should be able to write your code in Elixir using any of these frameworks.
Edit:
Took a look at the documentation. You couldn't pay me to touch Nitrogen. Hopefully Cowboy turns out to be more promising. I'm already familiar with CB.