Ractive.js blog

What's the difference between React and Ractive?

6 May 2014 Comments

The last post on this blog attempted to compare Ractive.js with Angular.js – two very different projects with superficial similarities. This time, we'll be comparing Ractive with React.js, which despite appearances is much closer to Ractive in terms of purpose and philosophy.

Continue reading »

What's the difference between Angular and Ractive?

2 January 2014 Comments

Lots of people have asked what the difference is between Ractive and other libraries and frameworks. It's long been my intention to write a series of articles attempting to answer, but I've always put it off because a) I didn't have anywhere to post the articles, and b) I didn't feel qualified to compare Ractive to libraries that I'm not particularly familiar with.

Now that I've got round to setting up this blog, a) is no longer an issue. As for b)... well, if I get stuff wrong, people will correct me – this is the Internet, after all. And I'll edit these posts as necessary to keep them accurate.

I was going to begin the series by comparing Ractive to React.js, which in my view is one of the more interesting JavaScript libraries of 2013. It has lots of philosophical similarities to Ractive, but also some stark differences. It should be an interesting study.

But the question I've had more frequently – and most recently – is how Ractive compares to Angular. So I'm going to start there.

Continue reading »

Ractive.js expressions and the new wave of reactive programming

1 January 2014 Comments

Originally posted at flippinawesome.org

Dedicated followers of JavaScript fashion will by now have noticed this season’s hot new trend. If you haven’t spotted it yet, here are a few projects sporting this style on the GitHub catwalk – React, Reactive.js, component/reactive and reactive.coffee.

That’s right: reactive programming is the new black.

At a high level, the idea behind reactive programming is that changes in state propagate throughout a system. Put crudely, this means that in a reactive system where a = b * 2, whenever the value of b changes, the value of a will also change, rather than forever being equal to whatever b * 2 was at the time of the statement.

When we take this idea and apply it to user interfaces, we eliminate the DOM manipulation drudgery that dominates web developers’ lives.

Continue reading »

The origins of Ractive

31 December 2013 Comments

Originally posted on Source, the blog for newsroom developers and hacker-journalists

Making interactives is hard. You have to:

...and you have to do all that against deadlines that would make most developers wince. And yet here’s the thing: in many newsrooms, the people building these interactive stories — and in so doing figuring out the rules of a fundamentally new form of media — are not experienced developers.

They’re journalist-hackers and lone crusaders, fighting for the future of news against (in some cases) bureaucratic overlords who still think video on the web is the next big thing. And they—we—deserve better weapons for the fight.

Continue reading »

Introducing Ractive.js

30 December 2013 Comments

Ractive.js is used to create guardian.co.uk interactives, such as '<a href='http://www.theguardian.com/global-development/interactive/2013/jun/07/food-game-what-do-you-know'>Food game: How well do you know the world?</a>'

Originally posted on the Guardian developer blog

Anyone with fond memories of the sound of dial-up internet will understand how ridiculous it would have seemed, to the web's pioneers, that we would one day be using this geeky information exchange format to play games, do grocery shopping, collaborate on spreadsheets and even build more webapps. Yet here we are.

But despite taking over the world, the web has a dirty secret: it's actually a lousy platform for creating many of the experiences we take for granted. Let me qualify that: it's an amazing technology for creating documents, but for creating apps – interactive experiences that respond to user input, and represent changing data – web development can be akin to pulling teeth.

Continue reading »