1 | # Partytown 🎉
|
2 |
|
3 | <img width="838" alt="Partytown github fit 2x" src="https://user-images.githubusercontent.com/452425/134568488-f36f4640-9ada-4a78-a969-2b8315cf7f47.png">
|
4 |
|
5 | - [Introducing Partytown: Run Third-Party Scripts From a Web Worker](https://dev.to/adamdbradley/introducing-partytown-run-third-party-scripts-from-a-web-worker-2cnp)
|
6 | - [How Partytown's Sync Communication Works](https://dev.to/adamdbradley/how-partytown-s-sync-communication-works-4244)
|
7 | - [How we cut 99% of our JavaScript with Qwik + Partytown](https://www.builder.io/blog/how-we-cut-99-percent-js-with-qwik-and-partytown)
|
8 | - [Partytown is now in Beta](https://www.builder.io/blog/partytown-is-now-in-beta)
|
9 |
|
10 | > A fun location for your third-party scripts to hang out
|
11 |
|
12 | Partytown is a lazy-loaded library to help relocate resource intensive scripts into a [web worker](https://developer.mozilla.org/en-US/docs/Web/API/Web_Workers_API), and off of the [main thread](https://developer.mozilla.org/en-US/docs/Glossary/Main_thread). Its goal is to help speed up sites by dedicating the main thread to your code, and offloading third-party scripts to a web worker.
|
13 |
|
14 | The philosophy is that the main thread should be dedicated to your code, and any scripts that are not required to be in the [critical path](https://developers.google.com/web/fundamentals/performance/critical-rendering-path) should be moved to a web worker. Main thread performance is, without question, more important than web worker thread performance. See the [example page](https://partytown.builder.io/example/) and [test pages](https://partytown.builder.io/) for some live demos.
|
15 |
|
16 | [Getting Started](https://github.com/BuilderIO/partytown/wiki/Getting-Started)
|
17 |
|
18 | ![Without Partytown and With Partytown: Your code and third-party code compete for main thread resources](https://user-images.githubusercontent.com/452425/149344822-53154491-fd70-47ad-8c92-3ff5e4ccb4ec.jpeg)
|
19 |
|
20 | ## Docs
|
21 |
|
22 | - [Introduction](https://github.com/BuilderIO/partytown/wiki)
|
23 | - [Third-Party Scripts](https://github.com/BuilderIO/partytown/wiki#negative-impacts-from-third-party-scripts)
|
24 | - [Goals](https://github.com/BuilderIO/partytown/wiki#goals)
|
25 | - [Web Workers](https://github.com/BuilderIO/partytown/wiki#web-workers)
|
26 | - [Trade-Offs](https://github.com/BuilderIO/partytown/wiki#trade-offs)
|
27 | - [Use-Cases](https://github.com/BuilderIO/partytown/wiki#use-cases)
|
28 | - [How Does It Work?](https://github.com/BuilderIO/partytown/wiki/How-Does-It-Work%3F)
|
29 | - [Getting Started](https://github.com/BuilderIO/partytown/wiki/Getting-Started)
|
30 | - [React](https://github.com/BuilderIO/partytown/wiki/Getting-Started#react)
|
31 | - [Webpack](https://github.com/BuilderIO/partytown/wiki/Getting-Started#webpack)
|
32 | - [Configuration](https://github.com/BuilderIO/partytown/wiki/Configuration)
|
33 | - [Forwarding Events and Triggers](https://github.com/BuilderIO/partytown/wiki/Forwarding-Events-and-Triggers)
|
34 | - [Sandboxing](https://github.com/BuilderIO/partytown/wiki/Sandboxing)
|
35 | - [Proxying Requests](https://github.com/BuilderIO/partytown/wiki/Proxying-Requests)
|
36 | - [Integrating Services](https://github.com/BuilderIO/partytown/wiki/Integrating-Services)
|
37 | - [Debugging](https://github.com/BuilderIO/partytown/wiki/Debugging)
|
38 | - [Enabling Atomics](https://github.com/BuilderIO/partytown/wiki/Enabling-Atomics)
|
39 | - [Distribution](https://github.com/BuilderIO/partytown/wiki/Distribution)
|
40 | - [Browser Support](https://github.com/BuilderIO/partytown/wiki/Browser-Support)
|
41 |
|
42 | ## Community
|
43 |
|
44 | - [Partytown Discord](https://discord.gg/hbuEtxdEZ3)
|
45 | - [@QwikDev](https://twitter.com/QwikDev)
|
46 | - [@builderio](https://twitter.com/builderio)
|
47 | - [Local Development](https://github.com/BuilderIO/partytown/blob/main/DEVELOPER.md#local-development)
|
48 |
|
49 | ## Related Projects
|
50 |
|
51 | - [Qwik](https://github.com/BuilderIO/qwik): An open-source framework designed for best possible time to interactive, by focusing on resumability of server-side-rendering of HTML, and fine-grained lazy-loading of code.
|
52 | - [Mitosis](https://github.com/BuilderIO/mitosis): Write components once, run everywhere. Compiles to Vue, React, Solid, Angular, Svelte, and more.
|
53 | - [Builder](https://github.com/BuilderIO): Drag and drop page builder and CMS for React, Vue, Angular, and more.
|
54 |
|
55 | ---
|
56 |
|
57 | Made with ❤️ by [Builder.io](https://github.com/BuilderIO/)
|