The Worklet is a new concept introduced in Houdini
. It is the most important thing that will enable developers to use the Houdini
APIs in their work.
use the same ES6 classes to define the collect of methods as the Workers
, they are quite different in what they can do and how they are handled by the browser.
The Workers are run by the browser at a higher level and are relatively heavy-weight. These were not designed to run in large numbers. Houdini
Worklets, on the other hand, run at the low-level in the rendering engine. Worklets are designed to be fast with a small or negligible footprint. Several instances of a worklet can be run in parallel. They have little or no impact on the responsiveness of the browser.
Worklets have an isolated scope and a very small API surface allowing the browsers to better optimize their execution.
Some noteworthy characteristics of the Worklet are...
- The worklets are used by web-developers to run their custom routines in the rendering engine.
- The worklets use the ES6 classes to define a collection of methods.
- The signatures of the worklet are predefined by the type of the worklet for eg
- The worklets are light-weight and short lived.
- They are thread-agnostic - that is they are not defined to run on a particular thread. The browser decides when a worklet will be run and in which thread.
- The worklets have an isolated scope, i.e. no access to the global objects like - window, document etc, or high-level functions like alert etc.