End of August, Sketch released a new feature in their beta version: Sketch Libraries.
And Sketch Libraries are π₯π₯π₯ π± πππ» π₯π₯π₯!
You can read about it and/or learn how to use some Sketch files as Libraries with Pablo Stanleyβs tutorial video:
Great, but, how does it work with Abstract?!
As Sketch users, Abstract (launched publicly in July) was the perfect solution to fight all the issues we had around collaboration (many designers working on the same file) and versioning (mocks-final-final-v4.sketch).
- π΄ Abstract helps to collaborate and version on a sketch file;
- π Sketch Libraries help to collaborate on a design system.
So, can we work with both of them?
The way π Sketch refers to Libraries
Libraries are declared in Sketchβs Preferences, which means that they will be available for any file opened in Sketch.
The reference to a Library is made through the name of the file and its location.
The way π΄ Abstract works with the file system
Abstractβs working folder is structured by project, branch, Sketch file and versions.
Abstract follows a Git logic: a project (repository) is made of a main branch (Master) and working branches (feat/homepage in this example).
Because of this structure, and because itβs collaboration and versioning oriented, one sketch file doesnβt exist as a single sketch file in the file system, but as many instances of this same sketch file.
So, is it a match?
If we follow some Atomic Design nomenclature, there is no way to both collaborate and version π΄ on an atom Sketch file (like Colors.sketch or Buttons.sketch) and to use it as a Library π.
On the other hand, we could use Abstract to collaborate and version on a page Sketch file. This page Sketch file would be able to use Libraries.
A possible architecture
Letβs consider the following assumptions:
- Each atom, molecule, organism has one and only one owner;
- Pages (or βscreensβ) need both collaboration and versioning;
- Sketch and Abstract would work together as I could force Sketch Beta to work with Abstract.