Tero Parviainen's Blog, page 3
March 2, 2015
Change And Its Detection In JavaScript Frameworks
In 2015 there is no shortage of options when it comes to JavaScript frameworks. Between Angular, Ember, React, Backbone, and their numerous competitors, there's plenty to choose from.
One can compare these frameworks in various ways, but I think one of the most interesting differences between them is the way they manage state. In particular, it is useful to think about what these frameworks do when state changes over time. What tools do they give you to reflect that change in your user interfa...
January 28, 2015
A Dash of Queueing Theory
I participated in the Static Showdown hackathon last weekend, and came up with an article about queueing theory, with some interactive simulation visualizations.
I read Donald Reinertsen's Principles of Product Development Flow last year, and loved it. I've been looking for an excuse ever since to get deeper into the technical aspects of the book, and this hackathon presented a chance to do it. Learned a lot, and now I just hope I get another similar excuse soon to continue the exploration! It...
November 1, 2014
Why I Think Angular 2 Will Still Be Angular
Since the announcements of all the Angular 2.0 changes last week, the Internets have been hot with people voicing their concerns and criticisms over what the Angular team is doing. Many of these criticisms are perfectly valid, but there's also plenty of hyperbole and even some straight-up misinformation being spread around.
There's one particular meme making the rounds that I feel like addressing. That is the idea that Angular 2.0 is going to be a completely new framework that shouldn't even b...
October 24, 2014
How I've Improved My Angular Apps by Banning ng-controller
The "Angular 2.0 Core" talk by Igor Minar and Tobias Bosch was an ng-europe highlight for me. What they basically did was announce a mass slaughter of Angular 1.x features and API cruft, worthy of a Game of Thrones wedding.
One of my favourite moments was when they announced the removal of controllers. This is because I've recently come to a realization that using standalone controllers, as with ng-controller, rarely leads to an optimal design.
RIP controllers. Angular 2.0 will just use compone...
August 10, 2014
Web Components and Bottom-Up Design - Or, how I may have been missing the point
I've been having a hard time getting excited about Web Components. I mean, I'm pretty sure I get why they're useful and I expect to be using them a lot in the future. It's just that I haven't been able to see Web Components as the "tectonic shift" people make them out to be.
One reason for this lack of excitement might be that Web Components don't really enable me to build new kinds of things in the way that, say, WebGL or Device APIs do. Instead, Web Components enable me to do the kinds of th...
June 4, 2014
AngularJS Dependency Injection from The Ground Up
Much has been written about Angular's dependency injection framework. As I've been recently writing the dependency injection chapters of Build Your Own AngularJS, I thought I might as well join the club and provide my own introduction to Angular DI.
This article addresses the dependency injector of Angular 1.x, which is the version everyone is currently using. The 2.0 version will be very different, and is an interesting topic in its own right. I've written a bit about it earlier.
There's also...
April 24, 2014
CraftConf 2014 - Day 1 Summarized
The CraftConf conference has me back in Budapest for some industrial strength geekery, and what a conference it is! The speaker lineup is what originally attracted me here and it certainly hasn't disappointed. But everything else has just worked as well: The venue is fantastic, the Wifi uncharacteristically functional, the pacing of the schedule just right and the coffee in between sessions good. Kudos to the organizers!
Here's a hopefully semi-cohesive summary of some of the talks I attended...
March 23, 2014
AngularJS Expressions Cheatsheet
Documentation on exactly what you can do in Angular expressions is kind of scarce. To help with that a little bit, I've compiled the following cheatsheet. It's available as a PDF and a PNG.

I've licensed the cheatsheet with Creative Commons Attribution 3.0. Grab the original OmniGraffle document here.
March 18, 2014
Angular 2.0 Dependency Injection - Applied To Backbone TodoMVC
Bits and pieces of AngularJS 2.0 are starting to surface: The design docs are out there for everyone to read, and there are initial implementations available for change detection, logging and profiling, templating, zones, type assertions, and the HTTP client. These are exciting times for an Angular developer!
I like how these components are being developed as independent modules in independent repositories. This makes it possible for app developers to mix and match Angular libraries with other...
February 10, 2014
Kicking The Tires on AngularDart
I've been playing around with AngularDart, the up-and-coming Dart web framework from the Angular team. Not only because we have a Dart Flight School event in Espoo next weekend, but also because it's an interesting piece of technology to me as an AngularJS developer: Many of the ideas and features that will eventually ship with AngularJS 2.0 are already in AngularDart today.
In this article I'll talk about a few of the observations I've made about AngularDart, mainly comparing it to AngularJS....


