5 ms·
Is Erlang good for regular web application building? If so, what's the recommended way of doing so?
by Zababa 5y ago
Is Erlang good for regular web application building? If so, what's the recommended way of doing so?
- 8372049 5y agoMy personal experience is that Elixir, which runs on the Erlang VM, is great for web applications. https://elixir-lang.org/ https://elixir-lang.org/
- Zababa 5y agoI know about Elixir, I played a bit with Phoenix. I was asking about Erlang specifically.
- weatherlight 5y agotheres Chicago Boss. I'm not sure if it's still maintained though. http://chicagoboss.org/ http://chicagoboss.org/
- macintux 5y agoThe original developer was Evan Miller, who stepped away from the Erlang community a few years ago. I think others contribute, but particularly with the rise of Elixir & Phoenix I wouldn't be surprised to learn that it isn't as active as it once was.
- e_proxus 5y agoNova is an up-and-coming new framework http://novaframework.org/ http://novaframework.org/
- slezakattack 5y agoLike most things, it depends what your web application is doing. I've been working in Erlang professionally nearly 6 years, and I'm not super convinced it's great for building web apps. If you want to utilize the Erlang VM, many people have found Elixir/Phoenix to be super helpful in building their web apps. I encourage you to check that out if it piques your interest.
- busterarm 5y ago> and I'm not super convinced it's great for building web apps. It boils down to the complexity that it saves you from. Webapps eventually grow to need caches and queues. That means external infrastructure dependencies on things like RabbitMQ, Kafka, Redis, Elasticsearch, etc. That also means managing the lifecycle of this infrastructure in your application and building robust systems to do maintenance, etc and not fail. Erlang provides enough of the basic building blocks to trivially implement these features on BEAM in code, as I'm sure you already know. Then all you're doing is message passing with Erlang. That's the secret sauce. The language features itself don't make it any better at solving the webapp problem than say Rails, etc...it's all of the ancillary problems of scaling webapps that are solved by everything just being code running on BEAM.
- scns 5y agoIDK if it comes from Erlang, there is GenStage on offer in Elixir [0], you can build data transformation pipelines, work queues and more out of it. [0] https://elixirschool.com/en/lessons/advanced/gen-stage/# https://elixirschool.com/en/lessons/advanced/gen-stage/#
- frellus 5y agoYes and no. The real answer (with an Erlang bias) is to look at Elixir + Phoenix + LiveView. Here's a neat demo. No JavaScript required. https://www.youtube.com/watch?v=MZvmYaFkNJI https://www.youtube.com/watch?v=MZvmYaFkNJI
- goodells 5y agoAs a professional Elixir engineer who still hasn't embraced the whole LiveView thing, I'd emphasize that that particular aspect is entirely optional. You can write a traditional HTTP-only or templated HTML backend in Elixir with code that a Ruby on Rails developer wouldn't blink twice at.
- lostcolony 5y agoDepends also what you mean by Webapps. Building a web service backend serving JSON over REST, or similar? Works well. Wanting a more "batteries included" Rails like experience, with server side rendering and such? Elixir has a solid framework in Phoenix, and community around it.
- rkangel 5y agoI looked at this in some detail and concluded that the real answer was to use Phoenix (i.e. Elixir). It's much better, and much better supported than any of the Erlang options. Elixir and Erlang interoperate well so if you want to stick with Erlang you can do the Web bits in Elixir and then do all the lower pieces in Erlang. What happened to me though is that I discovered that Elixir is great, and so is it's tooling.