View project on GitHub

Lanes is a framework that makes writing web applications easy.

It does this by taking care of all the cumbersome details and providing a firm structure to guide developers to success.

As such it's highly opinionated and might not be for everyone. It turns the "integration" knob up to 11 and then rips it off and chucks it out the window. It does so with the best of intentions - the goal is to free the developer from worrying about anything that's not directly related to the app they are developing.

Notable Features of Lanes

  • In-place code reloading Lanes will automatically apply css and component updates to your code without reloading the entire page. Need to tweak the wording, or not sure exactly what color of blue is best? Tweak them in real-time. [more]
  • Rich Record Quering Clients can perform ad-hoc querys against server-side data and the the reply format can be extensively customized. Operators are provided for specifying which fields and associations are included in the result set, as well as ordering and pagination support. It's also easy to write custom query operators. ActiveRecord is used internally to eager-load associations in order to prevent N+1 queries. [more]
  • Real-Time data updates to clients Whenever a CRUD operation is performed on a model, the web-server will relay the event to client observers that have registered for updates. By default a model is registered for updates whenever it's bound to a view, which works to prevent unwanted updates and allows unused records to be garbage collected. [more]
  • Next-Gen web-framework Derived from ampersand state and React with a bit of glue code between them, the web framework completely written in CoffeeScript and uses defined properties to implement data getter and setters. [more]
  • Role-driven security Models can be marked as readable, writeable, or deletable for roles. Additionally, fields can be marked as read-only or invisible to prevent unauthorized access. [more]
  • Integrated continual testing environment When ran in development mode, Lanes watches for file changes and runs the appropriate spec for both your client and server code automatically. Minispec is utilized for the Ruby models, and client code tested via Jasmine. [more]
  • Embeddable and responsive Designed from the ground up to be embeddable in hostile environments. All code is non-conflicting and wrapped in closures. Sass is auto-namespaced. Detect changes in it's container's size and relay them to clasess for responsive layouts. A modified Bootstrap based css layout can optionally be loaded which will provide a responsive grid that's bound to the container's size, not the documents. [more]
  • Integrated web server Sinatra is used internally with RESTful routes auto-created for each model. This frees the developer from the hassel of integrating disparate systems and allows Lanes to provide tools that are guaranteed to work together. [more]