Another JS Framework
I started working on Sweet.js about a month ago. It is inspired by Backbone.js. Sweet.js supports HTML5 states, so that you don’t have to go through work arounds like these. Sweet.js is not a MVC framework, but it has a views similar to Backbone.js, which supports inheritance without affecting events and initializations of super classes. And it’s written in Coffeescript.
class Router extends Sweet.Router @routes #You can add more routes from sub classes '': 'home' 'search/:what': 'results' home: -> View.home() results: (what) -> console.log @getState() #state View.results(what) router = new Router() router.start pushState: true #Emulate browser back button router.back() #Whether we can go back without leaving the web app router.canBack()
A generic form class.
class Form extends Sweet.View @events 'click .cancel': 'cancel' 'click .submit': 'submit' @initialize (options) -> @model = options.model cancel: (e) -> router.back()
A registration form class.
class RegistrationForm extends Sweet.View #Register new events without affecting events registered in Form class @events 'click .checkUsername': checkUsername #Both initialization functions (Form, RegistrationForm) will be called. @initialize (options) -> @userType = options.userType submit: (e) -> #Submit form checkUsername: (e) -> #Check availability
This is a very basic library and it will not suit you if you are looking for a MVC. I’m using this in some of my projects, so I will be maintaining it.