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: ->

 results: (what) ->
  console.log @getState() #state

router = new Router()
router.start pushState: true

#Emulate browser back button

#Whether we can go back without leaving the web app

Views #

A generic form class.

class Form extends Sweet.View
  'click .cancel': 'cancel'
  'click .submit': 'submit'

 @initialize (options) ->
  @model = options.model

cancel: (e) ->

A registration form class.

class RegistrationForm extends Sweet.View
 #Register new events without affecting events registered in Form class
  '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 #


Now read this

Visualizing Numerical Lists

Underline doesn’t take away space in a table or a list of data and by varying the length of the underline you can help readers scan much faster and get an idea of the data and its distribution without having to read each number. Here’s a... Continue →