Run client side actions from Phoenix
Frankt is a small package that allows you to run client side actions from your Phoenix Framework project.
Frankt has worked great for us and solved a lot of problems, but it is not maintaned anymore and we don't recommend using it in production.
Since we initially created Frankt, we have discovered better approaches to provide the same functionality.
- Phoenix LiveView fulfills the same role that Frankt did, and also works with websockets. But it is maintained and developed by the Phoenix creators and the entire Elixir community.
- Intercooler.js and Unpoly are minimal and stable libraries that can provide dynamism in the client while still using our beloved controllers. Those libraries can be used with any framework and language, so they have really strong communities behind them.
Contrary to other solutions Frankt only provides a thin layer over Phoenix channels. If you already know how Phoenix channels work, there are no new concpets to learn. You can use your existing code, you have access to your templates, business logic and any other resource of your application.
For more detailed information and some examples take a look at the official documentation and guides.
Frankt is available in hex.pm.
To install Frankt on your project add it as a dependency on your mix.exs
:
def deps do
[
# Your other project dependencies
{:frankt, "~> 1.0.0"},
]
end
Frankt is an open-source project with MIT license from Acutario.
If you have a question about Frankt or want to report a bug or an improvement, please take a look at our issue tracker. Pull requests are also more than welcome.
Keep in mind that interactions in this project must follow the Elixir Code of Conduct.