



The right decisions made for you.
Joosy claims to be conventions-centric. Concentrate on what you should do and not on how to achieve it. Incredible productivity out of box.
The dynamic rendering done right.
Bind your data to DOM without being limited to a specific template engine. Use HAML. Use helpers. And give it a sauce of identity map for a real joy.
Rails way to the browser.
Joosy inherits Rails' passion for conventions and happiness. It also inherits the typical solutions to the typical tasks. You are guaranteed to feel familiar and smile.
Don't wait for ECMA.
Joosy interface was designed to get best out of CoffeeScript. Filled with Sugar.JS it turns Javascript into something you will want to use every day. Even at the weekend.
Look, it's beautiful and easy to use:
Joosy.namespace 'Posts', -> | |
# Page that lists posts | |
class @IndexPage extends ApplicationPage | |
# Deterimes which Layout to wrap this page in | |
@layout ApplicationLayout | |
# Determines which template to use | |
@view 'index' | |
# Data fetching hook | |
@fetch (complete) -> | |
Post.find 'all', (posts) => | |
# Passes collection to the template | |
@data.posts = posts | |
complete() |
-# Your templates are in HAML out of box. | |
-# But you can use any other templating language as well. | |
-# Use Sugar.JS and Coffee! | |
- @posts.each (post) => | |
.well | |
-# Encapsulate your code with widgets | |
!= @widget 'div', => new TitleEditorWidget(post) | |
%hr | |
%p | |
-# Enjoy models interface | |
= post.body().truncate(20) | |
%a.btn.btn-mini{:href => "#!/posts/#{post.id()}"} | |
Read it! |