The async tree pattern

A flexible way to work with objects, files, files, web resources, and more

The async tree pattern helps you tackle complex development tasks. You represent data as asynchronous trees and envision your project’s final output as the result of tree transformations.

You can use this software design pattern in many contexts, including:

  • web sites/apps
  • documentation
  • data sets
  • command-line tools
  • dev toolchains

At this level, there is no code library or framework. It’s the pattern itself that helps you:

  • Apply a higher level of mathematical rigor to your development tasks
  • Focus on the logical representation of the data instead of its physical storage and location
  • Reconsider how and where data is stored while leaving the rest of your project intact
  • Use a consistent model for manipulating one thing or an entire batch of things
  • Reuse code between projects

This async tree pattern serves as the foundation for the Web Origami project. If you use the async-tree library, the higher-level Origami language, or the command-line interface, you will find it useful to understand this foundational pattern.

You can follow the tutorial to see how to represent and transform data using the async tree pattern. The tutorial uses JavaScript and Node.js, but you can apply the pattern in other languages that support asynchronous futures or promises.


Next: Start the tutorial ยป