Loading
Bitovi

Weekly Widget 6 - Instantaneous Web Apps

This week's widget shows how to make "instantaneous" web apps with queued AJAX requests using can.Model and the can/model/queue plugin. The plugin puts an end to spinners, progress-bars, and "loading" text. This article covers how to make apps more responsive with queued requests and recover from service errors.

The Bitovi Team

The Bitovi Team

Bitovi

Weekly Widget 4 - Show More with $.Range

This week's widget demonstrates the awesome power of jQuery++'s range helper. Text ranges are notoriously a pain in the butt, with major differences in API and implementation across browsers. Similar to jQuery with DOM elements, $.Range provides a simpler API and cross browser methods to create, move, and compare text ranges. If you need to create a custom text editor, text highlighter, or other functionality that understands text, $.Range can be a huge help. For example:

Justin Meyer

Justin Meyer

Bitovi

Weekly Widget 3 - Paginated Grid

This weekly widget was suggested by @Cherif_b. The article covers how to create a basic paginated grid. But even more important, it gives a glipse at how we organize large applications.

Justin Meyer

Justin Meyer

Bitovi

Weekly Widget 1 - TreeCombo

I, @justinbmeyer, am going to post a weekly widget made with CanJS. I hope to continue this for as long as I have widgets to write. If you want to see something, please tweet it to @canjs. These posts are going to be quick and dirty. Eventually, I will put these up on CanJS's recipe page with a full description.

Justin Meyer

Justin Meyer

Bitovi

Introducing jQuery++

Hello, my name is jQuery++. It's wonderful to meet you. Have you ever found yourself wishing jQuery had just one more feature or wanted it to be a tiny bit faster? I know I have, but I understand jQuery can't do everything. This is why the team at Bitovi created me, a collection of extremely useful DOM helpers and special events that complement jQuery.

Justin Meyer

Justin Meyer

Bitovi

Hashchange Routing with can.route - Part 2 - Advanced

This article is the second of a two part series (part1) on CanJS's hashchange routing system - can.route. This part walks through through can.route's advanced functionality. Specifically, it covers:

Justin Meyer

Justin Meyer

Bitovi

Hashchange Routing with can.route - Part 1 - Basics

This article is the first of a two part series on CanJS's hashchange routing system - can.route. This part walks through the basics of hashchange routing and how can.route can be used for basic patterns. Specifically, it covers:

Justin Meyer

Justin Meyer

Bitovi

Faster jQuery.event.fix with ES5 Getters

If you turn on a profiler in most of the apps we've built and click around like a user, after a while you'll notice jQuery.event.fix is often taking the most time (in the video below, it takes 6.34% of the total time). Following the logic behind Amdahl's law, it makes sense that making jQuery.event.fix faster would have the greatest impact on our apps. This article walks through:

Justin Meyer

Justin Meyer