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.

Router #

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()

Views #

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.

I’m planning to remove the dependency on jQuery and use vanilla javascript.

Discuss on Hacker News #

 
62
Kudos
 
62
Kudos

Now read this

Using calendar view to see patterns in financial data

We first released a calendar view with Forestpin Lite early this year, where we visualized daily transaction volume. This was a simple analysis - simple to develop as well as understand. Calendar view was something we neglected first,... Continue →