React Beautiful DND and Pragmatic Drag and Drop demonstrate different approaches to implementing drag-and-drop functionalities. React Beautiful DND ignores native browser capabilities, creating its own solution that enhances performance through features like a virtual DOM and built-in windowing. However, this approach requires shipping more code and involves React's rendering process, increasing the workload on React components. In contrast, Pragmatic Drag and Drop operates independently from React, managing its own state and initialization, which alleviates React from additional processing demands. This separation can lead to performance benefits, highlighting the importance of optimization by decoupling high-performance tasks from the primary framework.
Scott and Wes talk with Alex Reardon from Atlassian about developing drag-and-drop libraries, specifically the challenges with creating efficient and accessible drag-and-drop functionalities for the web. They also explore what it takes to build and implement a system that works seamlessly across various frameworks.
Show Notes
- 00:00 Welcome to Syntax!
- 01:18 Brought to you by Sentry.io.
- 01:51 What Alex does at Atlassian
- 04:38 What makes drag and drop tricky.
- 06:38 Use-cases.
- 10:54 What security is in place?
- 12:30 How to make it feel native.
- 19:20 Is the drag and drop spec ongoing?
- 20:03 How do you build this headless?
- 21:33 How does drag and drop work with frameworks?
- 23:48 Making drag and drop feel the same across mobile and desktop.
- 26:09 What’s the key to really good drag performance?
- 29:58 How do you make drag and drop accessible?
- 34:57 Pragmatic drag and drop code vs application code.
- 40:00 How does testing work?
- 43:15 Internal adoption at Atlassian.
- 44:27 Working on high-impact projects.
- 49:15 Versioning and internal adoption at Atlassian.
- 51:29 Sick Picks + Shameless Plugs.
Sick Picks
Shameless Plugs
Hit us up on Socials!
Syntax: X Instagram Tiktok LinkedIn Threads
Wes: X Instagram Tiktok LinkedIn Threads
Scott: X Instagram Tiktok LinkedIn Threads
Randy: X Instagram YouTube Threads