T3 literally stands for “Take 3”, the first two attempts seems to have failed. Those failed, indeed!
Though, only small percentage of frameworks succeed but then every failure leaves behind learnings to be incorporated in the next one.
It is a minimalist framework that is modular, made for collaboration and enforces best practices to build large and scalable client side web applications.
Components of T3js Framework
Module is the DOM element and is a standalone component on the UI. Any user actions or events on the DOM element are managed by the underlying module independent of everything else on the page.
Modules can interact with other modules on the UI indirectly but you have to define that specific behavior via the central controller, the Application Object.
This makes modules loosely coupled and self-contained units, until unless you explicitly create want them to interact with each other via event bus, the application object.
These are the reusable code libraries in the application; the simplest example is the piece of code that can be used to parse strings.
Behaviors are mixins for modules and can be used in multiple modules to avoid duplicity. Multiple modules might need an event to be handled in the same way and that is where behaviors come into picture. You do not need to write a separate piece of code for each module to respond to a given event of same nature.
T3 is dependent on jQuery and the main reason behind is to provide support for IE8. Of course, not many are using IE8 now and jQuery dependency is expected to be dropped pretty soon by the T3 developers.
This framework is licensed under Apache 2.0, You can fork the GitHub repository or start contributing to it at - github.com/box/t3js.
Read more about T3 framework and get detailed documentation on the official T3JS website.
Box has been using T3 framework for quite some time now in production and that gives some assurance for it being production ready straight "out of the box". However, it is yet in the initials days of its life as open source framework and we need to wait and watch on how it performs under varied set of requirements.
Keep watching for further updates. Happy coding!