This project is no longer active. It will not be deleted, but will not receive any updates nor have any maintenance performed. It has been archived as a historical reference.
Sample projects and extensions to integrate Kendo UI with Backbone.js
Backbone provides a lot of great building blocks for creating well structured JavaScript application. It doesn't provide everything you need, though. You, as a developer or designer, are still responsible for implementing a lot of the actual user experience and this often means using control suites like Kendo UI.
Generally speaking, working with Backbone and Kendo UI's widgets is fairly straight-forward, as Derick Bailey has shown in this blog post. There are times, though, that additional integration points are needed. This project aims to provide an open source set of extensions and sample projects, and gather up any relevant information to help
All of source code can be found in the src folder of the repository, with sub-folders for each area of Kendo UI that has some integration with Backbone.
Downloads are separated in to distinct files based on the specific framework that the file targets: Web, Mobile and DataViz. Each of these files can be found in the build folder of the respository, under their respective framework folder.
Web
- Unminified (devevelopment version): kendo.backbone.js
- Minified (production version): kendo.backbone.min.js
- Source map (production debugging): kendo.backbone.map
Documentation is generally located in the docs folder, and is sub-divided by the Kendo UI suite, specifically.
Web
- kendo.Backbone.DataSource - use a Backbone.Collection instance as a DataSource for any Kendo UI web control
- kendo.Backbone.ViewEvents - bind
to Kendo UI widget events in a Backbone.View, like Backbone.View
events
The Kendo-Backbone project includes a few demo applications directly in the repo.
The demo projects are located in the demos folder.
To run the demos, you need to install NodeJS
and install the needed components through npm install
in a command
/ terminal window. Once you have installed all the needed components,
run node app.js
from the same command / terminal window. Then open
your browser to http://localhost:3000.
For examples on how to integrate Kendo UI's Web suite of widgets in to a Backbone application, see this blog post on KendoUI + Backbone.
There's also a blog post on wrapping a Backbone.Collection in a kendo.data.DataSource.
Kendo-Backbone is designed to work with Kendo UI's web control suite at this point, with additional support for the Kendo UI framework that supports the web controls. Additional work to include integration with Kendo UI Mobile is also in the works.
The Kendo-Backbone extension currently depend on the following libraries:
- jQuery v1.8.x
- Kendo UI v2013.1.226
- BackboneJS v0.9.10
- UnderscoreJS v1.4.4
These extensions have not been tested against any other versions of these libraries. You may find that versions other than these are compatible, but we make no claims to support those version, nor can we troubleshoot issues that arise when using those versions.
Kendo-Backbone relies on NodeJS and GruntJS for it's build and test process. Once you have downloaded NodeJS and installed it, run the following commands from a command prompt or terminal window, in the project folder:
npm install
npm install -g grunt-cli
grunt
If the first two steps were successful, you should see the build output from the GruntJS build process.
If you wish to run the specs in development mode for continuous testing, you can use one of the following commands:
grunt watch
or
grunt server
The grunt watch
command will start a PhantomJS server and run
all specs in the console window. The grunt server
command will
start an instance of the "grunt-contrib-connect" web server and
host the specs at
http://localhost:8888/_SpecRunner.html.
If you would like to contribute to Kendo-Backbone's source code, please read the guidelines for pull requests and contributions. Following these guidelines will help make your contributions easier to bring in to the next release.
The best way to get help is either by open issues on the project here at github, or by asking questions on StackOverflow. Be sure to tag your SO questions with kendo-ui and backbone.js so that we'll see them!
As a part of Kendo UI Labs, Kendo-Backbone is intended to be a community-run project, and not an official part of any Kendo UI SKU (Web, DataViz, Mobile or Complete). As such, this project is not a supported part of Kendo UI, and is not covered under the support agreements for Kendo UI license holders. Please do not create Kendo UI support requests for this project, as these will be immediately closed and you'll be directed to post your question on a community forum.
For change logs and release notes, see the changelog file.
This project has been released under the Apache License, version 2.0, the text of which is included in the LICENSE.md file. This license applies ONLY to the project-specific source of each repository and does not extend to Kendo UI itself, or any other 3rd party libraries used in a repository. For licensing information about Kendo UI, see the License Agreements page at KendoUI.com.