-
Notifications
You must be signed in to change notification settings - Fork 19
扩展、插件与资源
Backbone 唯一的强制性依赖。 http://underscorejs.org
如果你想在旧版本浏览器中解析或者序列化 JSON 串,那么你需要它(比如说:Internet Explorer 浏览器) https://github.com/douglascrockford/JSON-js
如果你需要操作 DOM 元素或者 Ajax,推荐使用。 http://jquery.com
对于移动开发,推荐用它作为 jQuery 的替代品。 http://zeptojs.com
为你的模型架构生成可自定义的表单。特性包括自定义编辑器、封装的表单、可编辑列表与表单验证器。
对于模型和封装的属性提供增强的支持。Get 与 set 属性以及通过壹个 path 监听它们的更新。例如:get('user.address.ln1').
壹个让 Backbone 持续跟踪封装的属性的插件。
通过创建还原点来实现存储或者还原你的模型状态。获取源代码与文档信息请访问:
[Memento 模式]http://sourcemaking.com/design_patterns/memento使用比 Backbone.Memento 更加灵活的 API 实现 Backbone.js 的模型。
壹个简单的助手,从你的配置对象配置你的模型。
- 提供每个属性的序列化和反序列化 (使用了 Underscore-Awesomer 的 _.toJSON 和 _.parseJSON 的功能)。
- 有用的客户端本地化的字符串查找,自定义的日期存储(针对 CouchDB 视图),属性验证以及更多内容!
- https://github.com/kmalakoff/backbone-articulation
- https://github.com/kmalakoff/underscore-awesomer
- 提供每个属性的验证
- 记录每个属性发生的错误 (例如:'error:name')
- 维护原有接口
- http://github.com/n-time/backbone.validations
- 在模型中声明验证器
- 方便的更新你的 HTML 以及用于错误处理的类和错误提示信息
- 容易用自定义的验证器来扩展
- http://github.com/thedersen/backbone.validation
- 在模型中声明验证器
- 容易用自定义的验证器来扩展
- Provides the replacement of out-of-range values with data from the defaults hash
- http://github.com/toddself/Backbone.Validator
- 当你在等待模型加载时允许你创建自己的视图。
- Notifies you when a model unloads so you can change your view state.
- Compatible with Knockback.js (https://github.com/kmalakoff/knockback)
Pretty much just a collection and model id reference. Simple, but useful.
- Finite-state machine (FSM) for for Backbone.Model. Elegant syntax, and very short. Patterned after the Ruby workflow gem.
- https://github.com/kendagriff/workflow.js
- Lets you model attributes with dot-syntax.
- e.g. song.get('album.title')
- https://github.com/amccloud/backbone-dotattr
- Enables you to override getters and setters with logic
- https://github.com/asciidisco/Backbone.Mutators
- One Collection, different model objects, mapped easy via configuration
- https://github.com/asciidisco/Backbone.Chosen
- LocalStorage adapter that overrides Backbone.Sync
- https://github.com/jeromegn/Backbone.localStorage
- Making it easy to use backbone with couchdb.
- https://github.com/pyronicide/backbone.couchdb.js
- Bind Socket.io events to backbone models & collections.
- Includes optional replacement for Backbone.sync for use with Socket.io.
- https://github.com/logicalparadox/backbone.iobind
- WebSQL adapter that overrides Backbone.sync
- https://github.com/MarrLiss/backbone-websql
- Get and set local variables that won't persist on save() calls
- https://github.com/jrs2ea/backbone.slet
- Work with SharePoint items and list as Backbone Models and Collections.
- https://github.com/lstak/Backbone.SharePoint
- Connect to SAP business data through SAP Gateway.
- https://github.com/lstak/Backbone.SAP
- Allows your Backbone.js app to work offline
- https://github.com/Ask11/backbone.offline
- Allows your Backbone.js app to fetch and store data based on the JSON-RPC protocol
- https://github.com/asciidisco/Backbone.Rpc
- Relational associations for Backbone
- https://github.com/dbrady/ligament.js
- Get and set relations (one-to-one, one-to-many, many-to-one) for Backbone models
- https://github.com/PaulUithol/Backbone-relational
Load your collections piece by piece. Very useful for large model sets.
Simple helper function that makes it easy to work with nested Backbone collections
- Source: https://gist.github.com/1610397
Provides NoSQL queries (like MongoDB) for backbone.js collections
- good readme documentation
- runs on node.js and in the browser
- https://github.com/davidgtonge/backbone_query
Provides extensive querying, filtering, and searching functionality for backbone.js collections
- includes live interactive demo
- source-code documentation only
- runs on node.js and in the browser
- supports NoSQL queries (like MongoDB)
- supports filters (applying a filter function to a collection)
- supports search strings (useful for turning search input fields into useful queries)
- supports pills for search strings (e.g.
author:ben priority:important
) - supports optional live collections (when a model is changed, added or removed, it can automatically be tested against the collections queries, filters, and search string, if it fails, remove it from the collection)
- supports parent and child collections (when a parent collection has a model removed, it is removed from the child collection too, when a parent collection has a model added or changed, it is retested against the child collection)
- https://github.com/bevry/query-engine
- A manager for templates & layouts in Backbone.js
- Source: https://github.com/tbranyen/backbone.layoutmanager
- Screencast: http://tbranyen.com/post/announcing-backbonejs-layoutmanager
Make your BackboneJS apps dance with a composite application structure!
- Better application startup structure through application initializers
- Built in event aggregator, for convenient application level events
- RegionManagers to properly display / remove view instances, including memory leak cleanup
- Source: https://github.com/derickbailey/backbone.marionette
- Reference application: http://bbclonemail.heroku.com
- Data binding that's designed to feel familiar to Backbone users
- Examples: http://tantaman.github.com/yabbe/examples/YabbeViewExamples.html
- Project: https://github.com/tantaman/yabbe
-
Data binding between any object, bundled support for Backbone views, models, jQuery (and thus DOM elements or via CSS selectors), Zepto and plain objects (plain objects can only observe)
-
Use
new Synapse(object)
to return a Synapse object or leave off thenew
and it will return theobject
withobserve
,notify
andsync
methods for more transparent usage. -
Define your own hooks for custom behavior or to support other types of objects
- Minimal example: https://github.com/bruth/synapse/blob/master/src/synapse/hooks/object.coffee
- Robust example: https://github.com/bruth/synapse/blob/master/src/synapse/hooks/jquery.coffee
- Docs here: https://github.com/bruth/synapse/blob/master/src/synapse/hooks/README.md
- Register your hooks
Synapse.addHooks(hook1, hook2, hook3, ...)
-
Source: https://github.com/bruth/synapse
-
Docs & Examples: http://bruth.github.com/synapse/docs/
-
Interactive Demo: http://jsfiddle.net/bruth/bufeK/
Simple, flexible and powerful bidirectional view-model binding for backbone. A javascript only solution (no markup in html) that relies on jQuery delegates for binding. Similar to how backbone view event blocks work.
- Handles partial view binding, nested views, formatting, type conversion, arbitrary html attributes and most html element types.
- JS Weekly Article
- Git
Bi-directional bindings between Backbone.View elements and Backbone.Model attributes.
- Simple binding definitions like Backbone.View.events
- Bind to any element with by selector
- Bi-directional transformation
- Tested
- https://github.com/amccloud/backbone-bindings
Awesome model binding between models and form input elements, and more
- KnockoutJS-style
data-bind
attribute support - Bind form fields to models and vice-versa
- Convention based
- Pluggable with your own conventions
- Extensible to bind to more than just form input elements
Get the code and read the documentation:
Knockout bindings for Backbone.js models and collections.
-
includes localization hooks
-
integrates with Backbone.ModelRef (https://github.com/kmalakoff/backbone-modelref) for lazy loading scenarios
-
jsFiddle sample: http://jsfiddle.net/kmalakoff/QSkpv/
A little plugin for use in leanback apps, where someone is sat on the couch using a remote control to use your app.
- Simple use - keypad.bind("key:up", function(){//do something on up});
- Events can be triggered on anything that extends Backbone.Events
- Extensible to capture other key events
- http://tomphilip.me/index.php/backbone-on-the-couch/
Plugin that proxies jQuery/Zepto/$ functions for Backbone Views.
A small plugin that adds declarative model and collection event binding to Backbone Views.
- https://github.com/Codecademy/backbone.declarative
- Tested and passes all Backbone tests.
KnockoutJS-inspired declarative binding solution for Backbone Views.
- KnockoutJS-compatible binding handler API
- Explicit control over dependencies (e.g. cascading select boxes)
- Unobtrusive (i.e. code-based) and declarative (i.e. markup-based) configuration
- Multiple binding contexts for separating transient and persistent models.
- Tests, TodosMVC, and examples.
- https://github.com/politician/outback
- https://github.com/juggy/backrub
- Uses Handlebars.js and Backbone.View to keep your template updated on the page. Based on Sproutcore TemplateView.
- Source: http://github.com/teleological/slickback
- Example: http://teleological.github.com/slickback
- Documentation: https://github.com/teleological/slickback/wiki
- Homepage: http://wiki.iks-project.eu/index.php/VIE
- Annotated Source: http://bergie.github.com/VIE/
Backbone.Aura is a decoupled, event-driven architecture on top of Backbone.js for developing widget-based applications
- Homepage: http://addyosmani.github.com/backbone-aura/
- Source: https://github.com/addyosmani/backbone-aura
- https://github.com/azicchetti/jquerymobile-router - a replacement for Backbone's routing, which is compatible with jQuery Mobile
- https://github.com/angelo0000/backbone_filters - provide Rails-like before & after filters on your Routers; especially useful for user access control
- https://github.com/jhudson8/backbone-query-parameters - provides query parameter support to backbone routes; especially useful for routes with optional parameters. Traditional parameters can be used in conjunction with query parameters.
- https://github.com/tbranyen/backbone-boilerplate - A set of best practices and utilities for building Backbone.js applications
- https://github.com/jamuhl/backbone.CQRS - Backbone extension to provide CQRS integration down to clientside
- http://brunch.io - provides a powerful, rails-like directory structure & includes great "wheels" (eco, stitch, jasmine)
- Provides mixin classes for a local collections (not stored on a server) and for mixing Backbone.Events into any class (including a check if they are mixed-in).
- Provides a facility to use Backbone.Events trigger('destroy') to do memory cleanup instead of a destroy method (event-based instance life-cycles).
- https://github.com/kmalakoff/mixin
- Not a JS loader like require.js, but a way to structure your code in big Backbone app projects.
- Load JS without worrying about load sequence and dependencies between modules.
- Source: https://github.com/juggy/backbone-module
- http://fahad19.github.com/singool/ - lightweight framework on top of Backbone for developing single-page web applications.
- https://github.com/dgreisen/Backbone-Traversal
- Quickly write single-page apps following a hierarchical design pattern.
- 首页: http://lorenwest.github.com/backbone-callbacks
- Github 页面: https://github.com/lorenwest/backbone-callbacks
- 运行于浏览器和 node.js (commonJS)
- 类似于 Tiddlywiki 的管理外部内容的客户端,后端是 MangoDB 。
- 仍处于开发中,欢迎提供反馈信息。
- https://github.com/mlanza/thingy-client
- 在集成测试中简单的创建 Backbone 模型。
- https://github.com/SupportBee/Backbone-Factory
- 创建壹个超出任何对象的有限状态机。
- Backbone 中具有状态的视图。
- https://github.com/sebpiq/backbone.statemachine
- 定义和调度键盘快捷键。
- 利用 keymaster.js https://github.com/madrobby/keymaster
- https://github.com/bry4n/backbone-shortcuts
- 对 Backbone 的模型和集合的修改,以便他们能在 Django-tastypie 有好的表现。包括一个通过资源列表轻松分页的方式来访问相关的元信息。
- https://github.com/amccloud/backbone-tastypie
- 如果没有包含接口中所有必须的方法时,Backbone 实例将抛出错误信息。
- 更好的代码结构,保持接口和注释独立:壹个对于你的模型、集合、视图以及路由更好的记录参考点,不要用于产品环境。
- https://github.com/luke-siedle/backbone-interface