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

TCP Echo Server Example in C++ Using Epoll

This example is a simple server which accepts connections and echos whatever data sent to the server. This example also demonstrates the use of epoll, which is efficient than poll. In epoll unlike poll all events that need to be... Continue →