Slack
Slack logoSlack · Feature trail

Frontend Framework for Fast Booting

3 posts · Jul 2016 – Oct 2019

What this trail covers

This thread tracks the evolution of Slack's frontend architecture, focusing on improving application boot times and developer productivity. Initial posts detailed the challenges of legacy frontend decisions and the need for a unified approach. This post introduces Gantry, a fast-booting frontend framework designed to address these issues by enabling on-demand data fetching, client-side rendering, front-loaded API requests, lazy asset loading, and local caching via Service Workers. Gantry aims to improve the user experience by significantly reducing the time it takes for the Slack web app to become fully interactive. This post details the implementation of an incremental boot process for the web app, which fetches only the data needed for the initial view, making content visible much faster. It also covers the parallel fetching of the full model data and the subsequent re-enabling of the UI once all data is processed, resulting in faster 'content visible' and 'fully loaded' metrics.

All Slack trails