|
| 1 | +--- |
| 2 | +layout: post |
| 3 | +title: RESThub 2.0 Spring and Backbone.js stack released |
| 4 | +author: bclozel |
| 5 | +tags: [resthub, java] |
| 6 | +published: true |
| 7 | +--- |
| 8 | + |
| 9 | +We are pleased to announce the second major release of RESThub! |
| 10 | + |
| 11 | + |
| 12 | + |
| 13 | +RESThub 2.0 stack is based on **Spring and Backbone.js**, and is designed to build HTML5 applications easily and efficiently. RESThub focuses on modular web applications, made of **stateless REST web services** and **client-side state managed by MVVM JavaScript clients**. |
| 14 | + |
| 15 | +Spring stack |
| 16 | +------------ |
| 17 | + |
| 18 | +RESThub Spring stack 2.0 is based on: |
| 19 | + - Java 7 by default, but Java 6 is fine too |
| 20 | + - Tomcat 7 |
| 21 | + - Spring 3.1 including Profile and JavaConfig support |
| 22 | + - Spring MVC 3.1 and Jackson 2 for REST webservices (including full handling of Object Graphs with cyclic references) |
| 23 | + - SQL and NoSQL persistence with Spring Data |
| 24 | + - Logging with SLF4J and Logback |
| 25 | + - Maven 3.0 is the reference build tool used |
| 26 | + - TestNG, FEST Fluent Assertions 2 and Mockito for testing |
| 27 | + |
| 28 | +It provides the following features: |
| 29 | + - Guidelines for your project and configuration layout |
| 30 | + - Project templates for Spring + Backbone.js web applications (simple or multi-module) |
| 31 | + - Zero config support for JPA (with automatic JPA Entity scanning) or MongoDB databases |
| 32 | + - Generic CRUD webservices (XML and JSON by default) with builtin Exception to HTTP response mapper |
| 33 | + - Helpers for running web tests |
| 34 | + - Easy to use HTTP client based on AsyncHttplient with OAuth 2.0 support |
| 35 | + - Logging bridge allow to send Javascript logs to the server |
| 36 | + - High performance and easy to monitore [RPC mechanism based on RabbitMQ and Hessian](https://github.com/resthub/spring-amqp-hessian) |
| 37 | + - [Spring MVC router](https://github.com/resthub/springmvc-router) allow to use routes à la Ruby On Rails/Play Framework |
| 38 | + |
| 39 | +Backbone Spring stack 2.0 artifacts are available on Maven Central. |
| 40 | + |
| 41 | +[Reference documentation](http://resthub.org/spring-stack.html) | [Javadoc](http://resthub.org/javadoc/2.0) | [Tutorial](http://resthub.org/tutorial/spring.html) | [Sources](https://github.com/resthub/resthub-spring-stack) |
| 42 | + |
| 43 | +Backbone.js stack |
| 44 | +----------------- |
| 45 | + |
| 46 | +RESThub Backbone.js stack 2.0 is based on: |
| 47 | + - Backbone.js 0.9.2 + carefully selected extensions |
| 48 | + - Powerful Pageable/Sortable datagrig with Backbone Datagrid (made by Loïc Frering, a RESThub developer) |
| 49 | + - Get and set relations (one-to-one, one-to-many, many-to-one) for Backbone models with Backbone relational |
| 50 | + - Form validation with Backbone Validation |
| 51 | + - Parameters support on view routing with Backbone Query Parameters |
| 52 | + - Require.js 2.0 for script loading including JS/CSS optimizer |
| 53 | + - Handlebars 1.0 for templating |
| 54 | + - jQuery 1.7 |
| 55 | + - Twitter Bootstrap 2.1 |
| 56 | + - Asynchronous calls with Async |
| 57 | + - Dispatching keyboard shortcuts with Keymaster |
| 58 | + - Parsing, validating, manipulating, and formatting dates and times with Moment |
| 59 | + |
| 60 | +If provides the following features: |
| 61 | + - Guidelines for your project layout |
| 62 | + - Project templates for easy project bootstrapping |
| 63 | + - Resthub.View extends Backbone.View to provide the following enhancements: |
| 64 | + - Default rendering implementation based on Handlebars |
| 65 | + - $root attribute used to specify the container root element where the view should be attached (since $el is the view itself) |
| 66 | + - Default template attribute with context management |
| 67 | + - Zombie view and event handler cleanup |
| 68 | + - A new populateModel function that automatically populate a model objet from form values (mapped on element names) |
| 69 | + - A client to server Javascript logger, a simple but lifesaver feature when your application run in production |
| 70 | + - Additional Handlebars helpers |
| 71 | + - A Require.js/Handlebars plugin |
| 72 | + - A simple Publish/Subscribe mechanism |
| 73 | + |
| 74 | +[Download](https://github.com/downloads/resthub/resthub-backbone-stack/resthub-backbone-stack-2.0.0.zip) | [Reference documentation](http://resthub.org/backbone-stack.html) | [Tutorial](http://resthub.org/tutorial/backbone.html) | [Sources](https://github.com/resthub/resthub-backbone-stack) |
| 75 | + |
| 76 | +Try it now! |
| 77 | +----------- |
| 78 | + |
| 79 | +You can try now the [example "Todo application" live](http://resthub.org/todo/) and [take a look at the code](https://github.com/resthub/todo-backbone-example). |
| 80 | + |
| 81 | +[Reference documentation](http://resthub.org/) is available for both Spring and Backbone stacks. |
| 82 | + |
| 83 | +Feel free to contact us on [RESThub discussion group](https://groups.google.com/forum/?fromgroups=#!forum/resthub-dev) if you need help or want to send us some feedbacks. |
| 84 | + |
| 85 | +The rationale behind RESThub 2.0 |
| 86 | +-------------------------------- |
| 87 | + |
| 88 | +RESThub is all about **integrating and bundling frameworks with tools, best practices and documentation**. The RESThub team works everyday with those frameworks on high traffic, enterprise-grade applications for their customers. |
| 89 | + |
| 90 | +That's why **we value developer experience** on those libraries and despise the "Not Invented Here" syndrome above all. |
| 91 | + |
| 92 | +RESThub is a two-part web framework: you can use the JavaScript stack part with a Ruby-on-Rails or Node.js backend; or you could use the Java stack with an Angular.js frontend! |
| 93 | + |
| 94 | +We strongly believe in Open Source Software, so the whole thing is available under the Apache License 2.0 on [Maven Central](http://search.maven.org/#search%7Cga%7C1%7Cg%3A%22org.resthub%22) and [Github](http://github.com/resthub/). |
| 95 | + |
| 96 | +Roadmap |
| 97 | +------- |
| 98 | + |
| 99 | +Expected new features for upcoming RESThub 2.1 are : |
| 100 | + - Uprade to Spring 3.2 |
| 101 | + - Upgrade to Backbone.js 1.0 |
| 102 | + - Bean Validation + Backbone Validation plugin : do not duplicate your validation anymore on client side |
| 103 | + - RESThub Identity manager : User/Group/Role webapp with Backbone.js GUI (alpha version available [here](https://github.com/resthub/resthub-identity)) |
| 104 | + - ElasticSearch integration |
| 105 | + - Websocket support |
| 106 | + - Improved Exception to HTTP response mapper (JSON/XML serialization of i18n aware messages) |
| 107 | + - More examples applications |
| 108 | + |
| 109 | +Contributions and feedbacks are welcomed !!! |
0 commit comments