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.