Blog

Aug 24

The long and winding road to Dojo 2

By on August 24, 2016 10:46 am

Recently on GitHub, someone accused Dojo 2 of being vapourware. This opinion came from a position of misinformation. I was glad the individual then engaged with the Dojo 2 project to understand where we are today. We are making swift progress and a beta is on the horizon. It has taken Dojo 2 a long time to get here and to really solidify our vision. We first started brainstorming about plans for 2.0 almost 5 years ago! Around a year ago we solidified our plans and have been unwavering in moving down that path.

Jun 9

Dojo is Doing it Again

By on June 9, 2016 12:34 pm

Peter Higgins, former project lead for Dojo, gave an excellent talk at JSConf in 2013 titled “Dojo Already Did That” (which reflected a humorous meme started at the first JSConf). It was highly informative about how Dojo had already solved problems that the JavaScript community were solving again in 2013. Even 3 years later, there are a lot of modern solutions that were solved in Dojo 1.

Apr 7

On the leading Edge

By on April 7, 2016 12:55 pm

Microsoft Edge Web Summit Logo

I attended the Microsoft Edge Web Summit in San Francisco. I will be honest, outside of meeting a few people, I wasn’t expecting much. Instead, I found myself face-to-face with the “new” Microsoft. I have grown accustomed to the openness and true collaboration that the TypeScript team have engaged in, but I wasn’t expecting seeing this mode infecting cross-pollinating the rest of the company. What I saw was far from a marketing ploy. It felt as if Microsoft was going through a revolution from the inside out.

Nov 6

Death of Object.observe()

By on November 6, 2015 9:47 am

flight

Adam Klien, software engineer at Google, announced on ESDiscuss that they were withdrawing the proposal to implement Object.observe and plan to remove it from V8 by the end of the year.

While I was never sold on the approach of this API, I assumed long ago it was the API that would be used for data binding to plain old JavaScript objects. I am also surprised because I was discussing the state of Web Components with a member of TC39 just a few weeks ago. While I listed all the parts of Web Components that are in V8/Blink but not elsewhere, including Object.observe, they assured me the other browsers would eventually implement the rest of Web Components. I also missed that Polymer 1.0 abandoned Object.observe.

Nov 3

FullStack Conference Recap

By on November 3, 2015 8:10 am

I had the opportunity to speak and attend FullStack 2015 organised by Skills Matter and hosted at their CodeNode location in central London. It was a great experience and it’s clear that JavaScript is everywhere and permeating every aspect of technology today! It was no surprise that ES6/ES2015 and TypeScript were popping up in every conversation. Even at a full-stack conference, the front-end seemed to get a lot of focus, most likely because everyone is challenged with improving the web experience.

Oct 8

Stronger JavaScript?

By on October 8, 2015 8:23 am

The V8 team (the JavaScript engine that powers Chrome, Opera, Node.js, MongoDB, etc…) are moving forward with an experiment in defining a stronger version of JavaScript that ensures that code being run is behaving well, and introducing run-time typing based on TypeScript’s typings. V8’s motivation is always performance, and a more stringent set of ECMAScript would obviously allow them to tune the engine to streamline performance, but are there other benefits?

Sep 29

Code Coverage for TypeScript and Other Transpiled Languages

By on September 29, 2015 11:01 am

Transpiling or compiling code has become a necessity today for JavaScript-based web development. Whether you are using TypeScript, Babel, Dart, Traceur, or CoffeeScript to provide additional language features, or trying to optimise your code with the likes of UglifyJS, r.js, or Closure Compiler, once you have modified your source code, you start to run into challenges.

Sep 3

Intern and testing Grunt tasks

By on September 3, 2015 9:55 am

Intern

You can use Intern to test just about everything!  How about testing your Grunt tasks?  Even though Intern focuses on tests authored as AMD modules, it certainly can be used to test CommonJS modules, like those used with Grunt. (As well as TypeScript, ES6 modules, and non-module code)

Why would you want to test your Grunt tasks under Intern? Well, for all of the advantages that Intern brings, like integrated code coverage analysis, CI integration, etc. In a lot of cases, your Grunt tasks might be part of a larger project and you can use the same tool to fully test your Grunt tasks. In addition, you can encapsulate all of your Grunt configuration and execution without having to have a Gruntfile.js as part of your project (or at least have your test configuration separated from your “real” Gruntfile.js). So even if you just want to support Grunt, but not use Grunt for your task orchestration, you can. This way you can cover all of your code, including your build tooling, in one place. End-to-end test coverage nirvana!