Introduction to T3.js

What is T3.js?

  • Minimal (2.9k gzip/minified) architectural framework created by Nicholas Zakas
  • Used at Box in production since 2013
  • Stands for Take 3
  • Designed for server side rendered architectures
  • Apache 2.0 License

T3 is a client-side Javascript framework for building large-scale web applications. It's design is based on the principles of Scalable JavaScript Application Architecture, specifically:

  • Enforcing loose coupling between components
  • Making dependencies explicit
  • Providing extension points to allow for unforeseen requirements
  • Abstracting away common pain points
  • Encouraging progressive enhancement

Building Blocks of T3

  1. Modules - represents an area of a webpage
  2. Services - utility libraries that provide additional functionality
  3.  Behaviors - mixins for modules

A Basic Module

Module Communication

Module Configuration

Understanding Services

Understanding Behaviors