CanJS Debugging Tutorial

{% raw %}

This tutorial walks through some of CanJS's most useful debugging features. If you are new to CanJS, and want to be impressed, you might checkout it's two most unique and powerful features first:

  • Understand what happened with logStack - A change in one value results in a change in another value, which results in another value change. This relationship can be hard to understand and isn't visible in the stack.  Fortunately, CanJS has a stack that lays out exactly why something changed.
  • Understand what changes the DOM - If you inspect an element, CanJS can tell you all of the values that went into composing the element's values.
Justin Meyer

Justin Meyer

CanJS 5.0

{% raw %}

Dear Web Developers,

The humble DoneJS core team enthusiastically presents CanJS 5.0. Like 4.0 before it, this release continues to simplify CanJS and solve problems in new and ergonomic ways. If you are unfamiliar with CanJS, the common web development problems it tackles are:

  • Responding to user interactions and updating HTML with components (custom elements).
  • Retrieving and modifying service data with models.
  • Routing url changes to state changes and state changes to url changes with routing.

Driven by community feedback, CanJS 5.0 focused primarily on making CanJS easier to use and learn in modern development environments and improving the model layer. Yet, we still managed to improve components, routing and even testing with one new feature.

Justin Meyer

Justin Meyer

CanJS 4.0

{% raw %}
If you are brand new to CanJS, we suggest reading its technology overview for background information on what CanJS does and how it works.

Dear JavaScript Community,

The humble DoneJS core team is proud to present CanJS 4.0. Like previous major releases, it represents a unique enrichment of CanJS's vision. Where 3.0 was about making your app more stable and less affected by rapid technology changes, 4.0 is about simplifying CanJS and enhancing your understanding of your application.

So turn on your terminal, clean off your keyboard, boot up your browser, alt-command-I (⌥ ⌘I ) your console, and get ready for some fun as we walk through the most important improvements in CanJS 4.0!

Justin Meyer

Justin Meyer

How to Integrate Other Libraries using Symbols

CanJS, for better or worse, allows a near endless variety of design choices. If you like MVC, MVVM, centralized state management, etc, you can build your app that way.

Enabling this level of flexibility is difficult, especially because we don’t know what sorts of things people might want to integrate into CanJS.

Justin Meyer

Justin Meyer