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.
-
nativescript
⚡ Empowering JavaScript with native platform APIs. ✨ Best of all worlds (TypeScript, Swift, Objective C, Kotlin, Java). Use what you love ❤️ Angular, Capacitor, Ionic, React, Solid, Svelte, Vue with: iOS (UIKit, SwiftUI), Android (View, Jetpack Compose), Dart (Flutter) and you name it compatible. -
GrapesJS
Free and Open source Web Builder Framework. Next generation tool for building templates without coding -
Adonis
AdonisJS is a TypeScript-first web framework for building web apps and API servers. It comes with support for testing, modern tooling, an ecosystem of official packages, and more. -
aurelia
The Aurelia 1 framework entry point, bringing together all the required sub-modules of Aurelia. -
Stimulus
DISCONTINUED. A modest JavaScript framework for the HTML you already have [Moved to: https://github.com/hotwired/stimulus] -
Rete.js
Rete.js is a framework for creating visual interfaces and workflows. It provides out-of-the-box solutions for visualization using various libraries and frameworks, as well as solutions for processing graphs based on dataflow and control flow approaches. -
litegraph.js
A graph node engine and editor written in Javascript similar to PD or UDK Blueprints, comes with its own editor in HTML5 Canvas2D. The engine can run client side or server side using Node. It allows to export graphs as JSONs to be included in applications independently. -
derby
MVC framework making it easy to write realtime, collaborative applications that run in both Node.js and browsers -
FoalTS
Full-featured Node.js framework, with no complexity. 🚀 Simple and easy to use, TypeScript-based and well-documented.
SurveyJS - Open-Source JSON Form Builder to Create Dynamic Forms Right in Your App
* Code Quality Rankings and insights are calculated and provided by Lumnify.
They vary from L1 to L5 with "L5" being the highest.
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.