Using Typescript in Criteo Labs

By: Erik Uzureau / 28 Oct 2015

A few weeks ago, Criteolabs hosted the Paris TypeScript Meetup #3 here at our R&D headquarters in the 9th arrondisement of Paris.

In the last 18 months, we’ve started running quite a few new projects using TypeScript. Some people here love it, most people are OK with it, and some people can’t stand it.

Since we had such an array of reactions, we thought it might be interesting to share our experience with the community.

So we put together a presentation for the meetup: Do you really want a layer above your JavaScript? The format was a lively back-and-forth between the two sides of the debate, highlighting how aspects of a TypeScript integration that are a boon for some developers can be a downright curse for others. This sort of subject can easily degrade into religious/emotional drivel, so we did our best to keep it objective and professional, and we threw in a few interactive quizzes for the audience about how TypeScript really works.

Despite our differences of opinion, we all agreed that if you’re starting a new project and considering using TypeScript, you should consider the following:

  1. Size of Project: For a small project, maybe not worth the overhead of the project setup.
  2. Size of Team (#developers): The more developers, the more valuable the “code as documentation” aspect of adding typing.
  3. Team’s Experience: A team of C#/Java developers will take naturally to TypeScript, a team of experienced JavaScripters will likely be more squeamish.
  4. Lifetime of Project: For a proof-of-concept type project, the added value of typing may be less than the overhead (see #1 and #2).
  5. Team Motivation: TypeScript is maturing rapidly, but it’s still a pretty new language. Finding “best practices” or help on stack overflow will be harder, so it helps if you have genuine interest/buy-in from your team.

In addition, after spending three days with Angular 2.0 at the largest Angular conference to-date AngularConnect, we can add that we are more excited about TypeScript than ever…. even our staunchest TypeScript protester, whose response to Angular 2.0/TypeScript was “definitely thrilled”. You may have reservations about using TypeScript with your Angular 1.x app, but there’s no question you’ll want to use it with Angular 2.0. The official line in nearly all of the talks was “this will also work if you’re not using TypeScript” (not the other way around).

Heads up this Thursday, October 29th for some promising talks on using TypeScript with Polymer, Aurelia, and Angular 1.x at Paris TypeScript Meetup #4,

Slides from our talk: