Toast is
- Understandable
- JAMStack/Serverless
We are moving away from leaning heavily on webpack and other systems that can be so complex as to be very intimidating. Toast code should be well-commented, preferring simplicity to complexity, and when we require complexity it should be adequately abstracted.
We view JAMStack and Serverless as operationalized approaches to building products that are very similar in nature. We don't think of either as a specific stack or technology but rather the processes by which results are achieved. This informs our view of Devops later in this document.
The future is
Tools like Rollup, Snowpack, Deno, and others have adopted ESModules as their default over CommonJS. Modern browsers already support ESModules and dynamic imports natively. HTTP2 introduced "multiple files down one pipe" and is widely supported while HTTP3 will improve upon this and has started making it's way into browsers (Chrome and Firefox).
While there are complex and powerful tools that exist
Serverless itself doesn't necessarily refer to functions and lambdas alone, but rather extends the philosophy that leads to a low-ops approach to building and maintaining production infrastructure. This is a particularly good fit for the JAMStack community, which often
Tools like webpack are powerful and complex. There are meta-frameworks that choose to lean heavily into taking advantage of these tools, which adds more complexity on top. We feel that that end of the spectrum is well occupied and seek to come at the problem of shipping JS performantly from the other perspective: Unbundled by default.
This approach allows us to take advantage of the browser's native ESModule support, dynamic imports, and other features in a way that reduces the overall complexity of the applications we ship.
- Build performance is table-stakes JS by nature tends to have longer builds than other ecosystems. The more you publish and push the more slow builds hurt. Therefore build performance is not an "add on", it is table stakes.
- Dev ops practices are critical The continuous delivery of both code and data is critical to supporting high-performing teams with stable production environments that can ship on a Friday without fear.
- Building together is better than building apart There are a great many projects and products in the ecosystem. From Vue and Gridsome to Svelte and Sapper, React has many too. We believe that there is enough room for everyone. Similar to how Rome can build opinionated tooling because Babel exists, we are not the first meta-framework and won't be the last. As a restult, we may point you to a project better suited for your needs. We also hope that the work we do will help provide other projects with more room to focus on their differentiating factors
Toast is a JAMStack meta-framework. This means we will not:
- implement our own React/Vue/Svelte/etc
- implement our own serverless deployment solution