Drab: remote controlled frontend framework for Phoenix

Hey @Max,
I understand you concerns. One of the reason I made Drab is because the projects I’ve been interested in - first Nagare, then Volt Framework, were abandoned.

I consider Drab beyond the proof of concept - in the beta stage. Drab.Core API is stable now, I am not planning to change it. About Drab.Query, despite the comments in this thread, I want to keep the existing API. Drab has the integration (end-to-end) tests, documentation (could be improved, I know) and the tutorial. I am surprised myself how mature it looks :wink:

The rough plan for the future is:

  • minor changes in the next version, 0.3.5, described in TODO.md
  • head to 0.5.0, the next “major” release with the new main module (so make Drab.Query optional)

The new module in 0.5.0 is not to replace Drab.Query (it will stay and will be supported). I started with the jQuery, as it was the easiest way to archive my first goals - to prove it works, and it can be usable. Drab.Query is in fact just a bunch of helper functions, everything could be done using Drab.Core only; for ex the following function:

Drab.Query.select(socket, attr: :href, from: "#selector")

translates directly to:

Drab.Core.execjs(socket, "$('#selector').attr('href')")

The new main module will not rely on any existing JS library, it rather should be a new approach, more elixir/phoenix-like. I had some great suggestions in this thread, and I have some my ideas - I will be back with some RFC later.

Anyway, building Drab is not my full-time job, I am doing it on my free time only. Any help would be appreciated :slight_smile:

5 Likes