Author Archives: jeff

Establishing Bindings

At the heart of Coherent is the process of binding values in your data model to views in your UI. But this can be rather confusing, since it’s an entirely different style from traditional web development.

There are two ways to establish bindings and each has its place. The first is straight programatic binding via calling [...]

Performance Tuning

So I’m deep in the middle of some performance tuning work for the release of Coherent 3.0. Everyone knows that optimising Javascript is a bit of a black art, but I almost think I’m doing something wrong.

Here are the performance metrics for Coherent 2.0 running on IE 8 (in a VM):

[...]

Resurrected Old Content

As part of getting the new coherentjs.org Web site ready, I dragged out a back up of the original content. The import for Wordpress went relatively smoothly, but it’s pretty clear this content either needs to be cleaned up or rewritten.

The biggest problem is that a lot of it is simply not accurate any more. [...]

Declarative Syntax for Child Widgets

One of my goals for Coherent 1.1 is the option of using a declarative syntax to set up child widgets. This would greatly simplify the average init method and make the code a bit clearer and easier to understand.

Favourable Reception for Coherent

I recently announced the upcoming release of Coherent 1.0 and I’ve been very pleased by the positive reception the library has received.

Lots of folks have come out of the woodwork to either say they’ve been looking for something like this for ages. I guess there are more fans of the Apple development model than I [...]

Selectors and Bindings

One of the routine complaints about Coherent (yes, I’m talking about you Ryan) is the use of custom attributes. It seems that some people like their HTML pure, like it was back in the old days.

Coherent 1.0 Release Candidate 1

I’ve been working somewhat furiously to get Coherent ready for its first release. There’s already code in the wild on a heavy-traffic e-commerce site that is using it, but there is still a bit more testing I’d like to do. And the documentation could use another brush up.

If you’ve downloaded either the ZIP file or [...]

Properties And Bindings

Possibly the two most important concepts in the Coherent library are properties and bindings. If you’re familiar with modern programming languages, you’ve probably run across properties before, but bindings may be new unless you’ve worked with Apple’s Cocoa library. In order to get the most out of Coherent, you’ll need to understand these two facilities.

Faster than a Locomotive?

After squashing a couple nasty bugs this weekend, I got to thinking about the performance implications of my solution. In a nutshell, the solution required wrapping getter methods with code to establish the ownership link between the value and the object. This wrapping only occurs for properties that are observed or part of a dependent [...]

New Tutorial on Writing Widgets

As the release of Coherent looms nearer, I’ve been encouraged to start writing some documentation. My first effort is up: Writing a Widget. This tutorial takes you through creating a widget using Coherent starting with raw mark up and ending with a functional (if simple) widget. Thanks to some great feedback (and encouragement) from Neil [...]