Giter Club home page Giter Club logo

brixjs's Introduction

BrixJS

Make your Marionette.js apps scale and evolve infinitely

Build Status

About

BrixJS - Lightweight, simple, but pretty powerful addition to Marionette.js framework, that helps you to build multi-page JS Apps.

The idea of BrixJS is similar to the one implemented at Google Web Toolkit (GWT). "Places" are defined as bookmarkable states, and when a user comes to some place the corresponding "activity" is run. With Marionette layouts and views you define different regions. With BrixJs you manage these regions.

That's it!

You start with one main region and then step-by-step split it to several smaller. On each hierarchy-level you can switch underlying layout to something absolutely different depending on current place.

Benefits from using BrixJS:

  • application could be divided to several absolutely independent modules, so their development could be easily paralled
  • view regions are updated independently - some could be re-rendered, some could stay untouched, that leads to better UI-performance
  • infinite hierarchy of view regions and their managers

Just checkout this demo to get better understanding how it works - BrixJS Demo

Requirements

This framework extends and is based on

Boilerplate application is using:

Classes

Brix classes description

  • Place: Represent bookmarkable state
  • PlaceController: Responsible for navigation between places and keeps browser history in sync
  • Module: Basic interface for Modules
  • Activity: Activity class
  • SimpleActivity: Helper activity class, that just renders some view
  • ActivityManager: Starts/Stops activity in response to place change events
  • DelegateManager: Allows to switch between managers for single region
  • CompositeManager: Creates Marionette.Layout and associate managers with regions

Boilerplate application

BrixJS Boilerplate application is available here - BrixJS Demo Online version is built with RequireJS optimizer.

To run and debug non-built application locally (it uses NodeJS):

npm run-script dev

or

node dev-boilerplate.js

and open http://localhost:3000/

Copyright (MIT License)

Copyright (c) 2013 Denis Davydkov

brixjs's People

Contributors

davydkov avatar yiwang avatar

Stargazers

 avatar

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.