Description
CanJS is a MIT-licensed, client-side, JavaScript framework that makes building rich web applications easy. Use it because it’s:
canjs alternatives and similar libraries
Based on the "MVC Frameworks and Libraries" category.
Alternatively, view canjs alternatives based on common mentions on social networks and blogs.
-
Vue.js
Intuitive, fast & composable MVVM for building interactive interfaces. -
react
A library for building user interfaces. It's declarative, efficient, and extremely flexible. Works with a Virtual DOM. -
angular
Angular is a development platform for building mobile and desktop web applications using Typescript/JavaScript and other languages. -
meteor
An ultra-simple, database-everywhere, data-on-the-wire, pure-Javascript web framework. -
svelte
Svelte is a new way to build web applications. It's a compiler that takes your declarative components and converts them into efficient JavaScript that surgically updates the DOM. -
backbone
Give your JS App some Backbone with Models, Views, Collections, and Events. -
preact
Fast 3kb React alternative with the same ES6 API. Components & Virtual DOM. -
ember.js
A JavaScript framework for creating ambitious web applications. -
nativescript
Build truly native cross-platform iOS and Android apps with JavaScript -
inferno
An extremely fast, React-like JavaScript library for building modern user interfaces -
Alpine.js
offers you the reactive and declarative nature of big frameworks like Vue or React at a much lower cost. -
mithril.js
Mithril is a client-side MVC framework (Light-weight, Robust, Fast). -
feathers
A minimalist real-time JavaScript framework for tomorrow's apps. -
knockout
Knockout makes it easier to create rich, responsive UIs with JavaScript. -
marionette
A composite application library for Backbone.js that aims to simplify the construction of large scale JavaScript applications. -
derby
MVC framework making it easy to write realtime, collaborative applications that run in both Node.js and browsers. -
chaplin
An architecture for JavaScript applications using the Backbone.js library. -
donejs
DoneJS is an open source JavaScript framework that makes it easy to build high performance, real-time web and mobile applications. -
Monkberry
Monkberry is a JavaScript library for building web user interfaces -
FoalTS
Elegant and all-inclusive Node.JS framework for building web applications (TypeScript). -
espresso.js
A minimal javascript library for crafting user interfaces. -
rxweb
Tons of extensively featured packages for Angular, VUE and React Projects -
finity
A finite state machine library for Node.js and the browser with a friendly configuration DSL.
Scout APM - Leading-edge performance monitoring starting at $39/month
* 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?
Popular Comparisons
README
CanJS
CanJS is a collection of client-side JavaScript architectural libraries.
Web Components
CanJS’s StacheElement allows you to create Web Components with observable properties and live-bound templates.
class Counter extends StacheElement {
static view = `
Count: <span>{{ this.count }}</span>
<button on:click="this.increment()">+1</button>
`;
static props = {
count: 0
};
increment() {
this.count++;
}
}
customElements.define("my-counter", Counter);
Model layer
Components shouldn’t be concerned with how data is fetched, updated, or cached.
CanJS provides the right abstractions for your model code to be cleanly separated from your UI code. [Learn more…](./readme-feature-model-layer.md)
Promises in templates
CanJS’s stache templating language can directly read the state and values from Promises.
No need to write any extra code to determine whether a Promise is pending, resolved, or rejected. [Learn more…](./readme-feature-promises-in-templates.md)
{{# if(this.promise.isPending) }}
Loading…
{{/ if }}
{{# if(this.promise.isRejected) }}
Error: {{ this.promise.reason }}
{{/ if }}
{{# if(this.promise.isResolved) }}
Result: {{ this.promise.value }}
{{/ if }}
Real-time list updating
After data is created, updated, or destroyed, CanJS automatically updates your lists for you.
Filtering and sorting are preserved, so you don’t have to manually update your lists or fetch the same data again. [Learn more…](./readme-feature-real-time-list-updating.md)
Getting Started
Ready to get started? See the Setting Up CanJS, API Docs and Guides pages.
Support / Contributing
Before you make an issue, please read our Contributing guide.
You can find the core team on Slack.
Release History
See Releases.
License
[MIT License](license.md).
*Note that all licence references and agreements mentioned in the canjs README section above
are relevant to that project's source code only.