A Rails-centric frontend framework running over a permanent WebSocket connection.

What is fie?

fie is a framework for Ruby on Rails that shares the state of your views with the backend.

For each controller within which you wish to use fie, you must create a commander. fie uses commanders in the same way a Ruby on Rails application uses controllers.

When an instance variable is changed in the commander, the view is updated. Likewise, if the same variable is modified within the view (through a form for example), the change is reflected in the commander and within other instances of the variable in the view. This means that fie supports three-way data binding.

fie therefore replaces traditional Javascript frontend frameworks while requiring you to write less code overall. If you implement fie within your application, you will no longer rely on Javascript for complex tasks, but rather use it only for what it was intended to be used for: to be sprinkled in your views and make them feel more dynamic (through animations for example).

Features

Three-way data binding

A change in an instance variable anywhere in the application will be permeated throughout.

HTML bindings for DOM events

fie provides custom HTML bindings to call methods in your commander upon DOM events.

Support for deeply nested structures

fie tracks changes within child objects infinite levels down (e.g. Active Record relations).

Built-In Pub/Sub system

fie provides a built-in Pub/Sub system called pools.

Isomorphic

fie allows you to almost eliminate your project's dependency on Javascript.

Faster Development

Forgo DOM manipulations and update your page by simply modifying variables.

Quick Start

Get started with fie on your project.

Guide

Guide to the different components of the framework along with examples.

Showcase

More intricate examples than in the components section to show you what fie can do.

FAQs

A knowledgebase of the questions we are most frequently asked through Gitter or our issues page on Github.

Benchmarks

We are commited to ease of use and performance, we are therefore working hard to improve these numbers every day.

License & Credits

Formal important stuff you are probably not interested in...