canjs alternatives and similar libraries
Based on the "MVC Frameworks and Libraries" category
* Code Quality Rankings and insights are calculated and provided by Lumnify.
They vary from L1 to L5 with "L5" being the highest. Visit our partner's website for more details.
Do you think we are missing an alternative of canjs or a related project?
WARNING: This npm package is for the CanJS client-side MV* libraries. It was formerly the node-can project which has been moved to socketcan. A HUGE thanks to Sebastian Haas for letting us use the
canjsNPM package name is deprecated. Use
The best, most hardened and generally useful libraries in CanJS.
- Custom elements — can-component
- Data connection and service modeling — can-connect and can-set
- Routing — can-route and can-route-pushstate
- Live binding templates — can-stache, can-stache/helpers/route and can-stache-bindings
Utility libraries that power the core and ecosystem collections.
- Unique identifiers — can-cid
- Inheritable constructor functions — can-construct
- Declarative event bindings — can-control
- Event handling utilities — can-event, can-event/async/async, can-event/batch/batch, can-event/lifecycle/lifecycle
- An environment agnostic container for global variables - can-globals
- Namespace where can packages are registered — can-namespace
- Observable hooks needed by every other observable — can-observation
- Reflection for gets/sets, events, and type inference across object types - can-reflect
- Reflection to treat Promises as objects with value and state - can-reflect-promise
- Simple observable — can-simple-map
- A Symbol polyfill - can-symbol
- A stateful container for CanJS type information — can-types
- Common DOM and JS utilities — can-util
- View helpers
- Register custom elements or attributes in templates — can-view-callbacks
- Keeps part of the DOM up to date with a compute — can-view-live
- Read a view model from a custom element — can-view-model
- Maintains — can-view-nodelist
- Parses HTML and magic tags — can-view-parser
- Lookup scope within a stache template — can-view-scope
- A fast-path compile target — can-view-target
Useful libraries that extend or add important features to the core collection.
- Integrate can-connect with a FeathersJS Client (can-connect-feathers) or a SignalR Hub (can-connect-signalr)
- Call base functions from inside inheriting functions — can-construct-super
- Define property values using streams — can-define-stream
- Add validation methods and observables to a can-define/map/map using validate.js — can-define-validate-validatejs
- Simulate ajax requests (can-fixture) and socket.io services (can-fixture-socket)
- Cross-bind can events and jquery events — can-jquery
- Provides a set of converters useful for two-way binding with form elements — can-stache-converters
- Convert observable values into streams — can-stream and can-stream-kefir
- Shared utilities and type definitions to process validation errors — can-validate and can-validate-validatejs
- A virtual DOM that is able to run CanJS's templates — can-vdom
- Automatically render templates found in the document — can-view-autorender
- Import dependencies in CanJS views — can-view-import
- A StealJS extension that allows stache templates as dependencies — steal-stache
Former libraries that we still accept patches for, but are not under active development.
Support / Contributing
Before you make an issue, please read our Contributing guide.
You can find the core team on Slack.
*Note that all licence references and agreements mentioned in the canjs README section above are relevant to that project's source code only.