News for hackers. Stuff that matters.
Re:Hard-won lessons: Five years with Node.js by laser on Wednesday April 19, 2017 @11:53PM (#14153806)
Hmmm, that hasn't been my experience: http://www.phoenixframework.org/
Re:Hard-won lessons: Five years with Node.js by danneu on Thursday April 20, 2017 @12:25AM (#14153953)
I haven't used it, but it's still the same pseudocode:

    defmodule HelloPhoenix.UserController do
      def index(conn, _params) do
        users = HelloPhoenix.Repo.all(HelloPhoenixUser)
        render conn, "index.json", users: users
      end
    end
For CRUD, I'm not too convinced it's much different than what you'd be doing anywhere else.

For websockets, streaming, and other stuff beyond request -> database query -> response, then competing abstractions get more interesting.