I’ve been looking for an answer to a certain question. In the past, I’ve experienced problems with files having lots of screens (±150), so I started working with more nested components, to minimize the duplicated screens. After that, my projects started to perform extremely slowly due to the complexity of the nested components (I think). That, combined with the fact that the screens were using all components from a library, and afterward from a hierarchy of libraries, made it even slower. At the moment I am starting on a new project and I cannot seem to find the perfect solution with XD. Suppose I’ll have a web app with 3 different roles.
Solution 1: I thought of splitting the design files into 3 different ones, all of them communicating with a single design system file published as a library.
1 design system library -> 3 design files
Solution 2: Use a shared file published as library for atoms, other 3 files for patterns (each file containing specific components for each role) and other 3 files with the actual design using all components from libraries.
1 atoms library -> 1 component library for each role -> 3 design files
Solution 3: Use a shared file published as library for atoms. Other files for more complex organisms and templates, and another 3 files with the actual design using all components from the “nested” libraries.
1 atoms library -> lots of other component libraries-> 3 design files
Which of these solutions would you recommend in order to achieve maximum working speed? I would appreciate receiving some arguments regarding all of the solutions proposed. I am particularly interested in structuring XD files for larger projects so that it would be always easy to scale. Thank you!