Unboxing JS

T3 JavaScript Framework announced by Box

Natali Vlatko
Open box image via Shutterstock

Box has announced their new, tried-and-tested JavaScript framework, T3. After overhauling and organising their own codebase, they’ve open-sourced their solution in a loosely coupled, model-less system for building large JavaScript applications.

Box, the personal cloud content management service for businesses, has unveiled a new, open-sourced, front-end JavaScript framework called T3. It’s been described as a minimalist framework that provides core structure to code.

Box Principal Architect Nicholas Zakas announced the news on the company’s blog, saying that T3 was a result of his team being tasked with the job of “getting our JavaScript into a better state”.

The name T3 stands for “Take 3” and symbolises the amount of attempts that Zakas’ team made at building a JavaScript framework for their web application. T3 isn’t an MVC framework as with their previous efforts, and builds on the concepts of Scalable JavaScript Application Architecture.

Our goal was to encourage our engineers to write small, single-purpose components. We believed that doing so would have positive trickle-down effects on all aspects of development.

When using T3, developers are forced to classify the component they’re building in order that it fit into one of three categories:

  • Services – Libraries that provide additional utilities for the application to use
  • Modules – A specific area of the web page rooted in a single element
  • Behaviours – Mixins for modules, intended to allow auto-wiring of events that are shared by multiple modules

By adhering to the above requirements, Zakas and his team found that “almost everything we build fits into one of these three components and the ability to mix and match them is powerful enough to create many different types of user experiences”.

As a small piece of an overall architecture that allows you to build scalable client-side code, T3 allows developers to work with frameworks such as Backbone or React in addition to it. It also enforces best practices such as loose coupling by limiting how certain components can communicate with each other, which comes as part of its design.

The Hacker News community can be forgiven for not being completely over the moon about the introduction of another front-end framework. While the team behind T3 have acknowledged that other frameworks can be used in conjunction with their client-side offering, user hendzen makes an interesting point:

Sorry JS developers. Guess you have to rewrite all your React apps in T3. Yes, I know you rewrote your Angular apps 6 months ago, your Ember apps a year ago, and your backbone.js apps before that, but that’s just how front-end dev works.

However, the Box team have backed up their creation by using it in-house for 18 months in order to assure the world that it’s stable and reliable. They’ll also be converting their web application entirely to T3 within the year. T3 components can be developed and tested independently, making it a great choice for large, distributed teams.

More information can be found at or over on GitHub.

Natali Vlatko
An Australian who calls Berlin home, via a two year love affair with Singapore. Natali was an Editorial Assistant for (S&S Media Group).

Inline Feedbacks
View all comments