7 ms·
Nova: A New Web Framework for Erlang
Hi Hacker News community,
I'm excited to share Nova, a new web framework built for Erlang, designed to make web development in Erlang simpler, faster, and more approachable. Nova leverages Erlang's concurrency, reliability, and scalability to create a robust yet lightweight framework for building modern web applications.
Key features:
* Lightweight and modular: Easy to integrate with existing Erlang projects.
* Built for concurrency: Harnesses Erlang's actor model for high-performance web apps.
* Developer-friendly: Simplifies routing, middleware, and template handling.
* Extensible: Supports plugins and custom integrations.
Check it out:
GitHub: https://github.com/novaframework/nova https://github.com/novaframework/nova
Homepage: https://novaframework.org https://novaframework.org
Getting Started Guide: https://dev.to/taure/getting-started-with-nova-1ioo/stats https://dev.to/taure/getting-started-with-nova-1ioo/stats
We’re early in development and would love feedback from the community! If you’re an Erlang enthusiast or curious about building web apps with a language known for its reliability (think WhatsApp or RabbitMQ), give Nova a spin and let us know your thoughts.
What do you think about using Erlang for web development? Any features you’d love to see in a framework like this?
- azaras 1y agoWhy do you use Erlang instead of Elixir?
- colecut 1y agoIt seems he wanted to make an alternative to Elixir..
- cmdrk 1y agoNot to pick on you, but there are always posts like this in every Erlang thread. One is not strictly superior to the other, and the BEAM community benefits from the variety IMO.
- taure 1y agoWe started with Erlang before Elixir was created and we still use it for everything we do. This is more to have a smooth web framework similar to Phoenix but for Erlang. You can also use Nova for elixir.
- johnnyjeans 1y agoNo rebinding, better fits the grain of the OTP, no AST macros. Last I checked, the debugging experience with elixir was pretty subpar. Erlang is also a fundamentally nicer syntax that I find a great deal more readable. I'm not really sure what the appeal of Elixir as a language is actually supposed to be, outside of people who have spent a lot of time writing Ruby code.
- asa400 1y agoFull disclosure: I started with Erlang, I get paid to work with Elixir every day, I love Erlang still. Why someone might like Elixir: - slightly less crufty stdlib for a lot of the basic stuff (though we still use the Erlang stdlib all the time) - the Elixir community started off using binaries instead of charlists so everything uses binaries - great general collections libraries in the stdlib that operate on interfaces/protocols rather than concrete collections (Enum, Stream) - macros allow for default impls and a good deal less boilerplate, great libraries like Phoenix and Ecto, and the community seems to be pretty judicious with their use - protocols allow datatype polymorphism in a really nice way (I know about behaviours, they are also good) - very standard build tool/project layout/generators that have been there from the start (Erlang has caught up here with rebar, it seems) - a lot of high quality libraries for web stuff, specifically - convenience stuff around common OTP patterns like Task, Task.Supervisor, Agent, etc. For me, I love the clarity and brevity of Erlang the language but I find Elixir a lot more pleasant to use day-to-day. This is just personal, I am not making a general statement saying Elixir is better. > Last I checked, the debugging experience with elixir was pretty subpar. Just curious, why is this? All of the Erlang debugging stuff seems to work.
- klibertp 1y ago> Just curious, why is this? All of the Erlang debugging stuff seems to work. But you'd see a decompiled Erlang-ish code in the (WX-based, graphical) debugger, no? Genuinely curious, I think it was like that last I checked, but that was in 2019.
- klibertp 1y ago> I'm not really sure what the appeal of Elixir as a language is actually supposed to be Easy: - rebinding - higher-level OTP abstractions - AST macros - nicer, more readable syntax - (optionally) cleaner stdlib (Assuming you're not trolling: you chose to focus on features that can only be judged subjectively, and therefore can only be discussed as preferences. It's ok to have them, but actively displaying them is a bit pointless. Objectively measurable features of both languages put them very close together, with both having slight advantages over the other in different areas, on average making them almost equivalent. Especially compared to anything non-BEAM.)
- prophesi 1y agoNot sure how this hit the front page without linking the actual project. https://novaframework.org/ https://novaframework.org/
- taure 1y agoThank you. I missed to add a new line where the homepage is..
- CollinEMac 1y agoThis seems like a tough sell when Phoenix is already so good. I'm struggling to see why I'd use this over that.
- worthless-trash 1y agoBecause its not elixir, its erlang. For those of us who dont do elixir, this fits the knowledge I already have.
- taure 1y agoNova is also more close to beam so it can be used with elixir and lfe or other beam languages.
- regularfry 1y agoYou've run into the same naming problem GM did with the Vauxhall/Opel Nova: "No Va" literally means some variant of "it doesn't go" in (at least) Italian, Spanish, and French.
- bobbylarrybobby 1y agoAnd Uranus (when spoken aloud) means “your butt”. Is this really a big concern?
- LtdJorge 1y agoNo, I’m from Spain and have never though about that "no va" thing. Nova comes from Latin AFAIK. It would be "nueva" in Spanish and "nuova" in Italian. Edit: Uranus is Latin too :)
- SwiftyBug 1y agoAnd "nova" in Portuguese!
- schonfinkel 1y agoFuture astronomers will rename it to "Urectum" to stop the stupid jokes. https://www.youtube.com/watch?v=0czFnIvKOJY https://www.youtube.com/watch?v=0czFnIvKOJY
- jen20 1y agoWhile this is a nice story, it's not true [1] [2]. [1]: https://www.snopes.com/fact-check/chevrolet-nova-name-spanish/ https://www.snopes.com/fact-check/chevrolet-nova-name-spanis... [2]: https://en.wikipedia.org/wiki/Chevrolet_Chevy_II_/_Nova https://en.wikipedia.org/wiki/Chevrolet_Chevy_II_/_Nova
- macintux 1y agoIf nothing else, perhaps this persistent myth helps reduce the naming conflicts when someone wants to use Nova.
- SoftTalker 1y agoI will check this out. Are you familiar with the Nitrogen framework? I've used it a bit and quite liked it, but not sure it's really an active project anymore. https://nitrogenproject.com/ https://nitrogenproject.com/ Could you compare/contrast Nova to Nitrogen?
- taure 1y agoWe did a fireside chat about it a couple of years ago. https://youtu.be/PgBzV1-E00k?si=sULVBvLsVPm2S3zl https://youtu.be/PgBzV1-E00k?si=sULVBvLsVPm2S3zl
- lelele 1y agoYou could add it to this Awesome Erlang list: https://github.com/drobakowski/awesome-erlang?tab=readme-ov-file#web-frameworks https://github.com/drobakowski/awesome-erlang?tab=readme-ov-...