development

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...

Coping with Stateful Code

In this article we will: Learn why stateful packages challenge stability See an example of a stateful package Identify CanJS’s stateful packages Provide strategies that minimize the problems with...

HTTP/2 in DoneJS

The DoneJS core team has been experimenting with HTTP/2 for the past several months and the outcome is strong HTTP/2 support in DoneJS! HTTP/2 contains some exciting new features that we've...

Removing Side Effects - some juice isn't worth the squeeze

In this article, we will: Learn about modules with side effects Understand how CanJS removed side effects in plugins See a preview of how plugins in views might work

How to Manage Code Across Many Independent Repositories

The first, and most important step to supporting stability and innovation within CanJS's codebase has been breaking up CanJS into individual repositories, each with its own npm package and semantic...

Stable and Innovative Code Bases

CanJS’s mission is to make sure the code you write today is valuable years in the future. This starts by ensuring CanJS is thriving despite constantly changing techniques and technology. We’ve...

How To Use NDJSON Streams with can-connect

In our previous post, we talked about how to improve an app’s performance and user experience by incrementally updating our app’s UI as we received a stream of data from our API. Our example app was...

Faster Page Loads: How to Use NDJSON to Stream API Responses

Ever wish you could send your data as a stream so that the client can start manipulating it and rendering it as it arrives? Tired of waiting for your entire JSON object to resolve before your users...

How to Hire Better Developers by Learning from Used Car Markets

In many ways, hiring software services is similar to buying a used car. In this article, I’ll show how you can use research on used car market economics to improve your ability to hire high quality...

Utilizing HTTP2 PUSH in a Single Page Application

Web application startup time has a big impact on user engagement. When writing client-side applications, we deal with this problem in a variety of ways such as: