Skip to content


Subversion checkout URL

You can clone with
Download ZIP
Server side level framework right in your browser
JavaScript Other
branch: develop
Failed to load latest commit information.
demo CS
dist update version to 1.2.0
docs update doc about template tags and document fragment rendering
fixtures update fixture to handle template tag
src allow to set multiple values for a header by passing an array of values
tests add UT for http header parser
tutorial use a template for a list element in the tutorial
.bowerrc bower setup
.gitignore #31 ignore the tutorial vendors
.travis.yml set venus version to 2.3.1
AppKernel.js.dist activate event dispatcher bundle
Gruntfile.js typos Create
bower.json raise version number
package.json raise version number

Sy Javascript Framework

Build Status [develop]

Build Status [master]


The aim of this framework is to help you build Single-Page Application (SPA). The goal is not, like all other frameworks, to quickly build an app but instead build a strong code architecture to build build strong, large scale, applications.

Project state

Sy is still in development, but all the libraries available in the branch develop are fully functional.

Bear in mind that until the release 1.0 some methods of those libraries may change.


Please read the framework book, you should also take a look at the components documentations.

How to use

Head to the tutorial to understand step by step how to build an app.



To declare namespaces, use the UpperCamelCase syntax, examples:

  • App.Bundle.Foo.Controller.Bar
  • App.Bundle.Foo.Entity.Baz

A "class" naming also use UpperCamelCase.

An "instance" or any variables is declared using lowerCamelCase.

Services name are lowercase and words are separated by a double colon (ie: foo::bar::baz).


For better scalability, Sy uses a strong structure in the namespacing of your app. Your app folder should look something like this:

 |- Bundle
 |   |- DefaultBundle
 |       |- Controller
 |       |- Entity
 |       |- Config
 |       |- Service
 |- Library
     |- MyLibrary

Your app folder should reflect this namespace structure. If you worry about the number of files you'll have to load, I strongly recommend you to look at uglifyjs


Sy framework uses gitflow, so any pull request have to be made into develop.

Before submitting new issues, make sure no one already opened a discussion in the tracker related to yours.

Please follow the coding style explained above (Most of the coding style is checked via a grunt task, so any error will appear in travis).

Something went wrong with that request. Please try again.