I'm trying to understand why this library was developed given that there already is a JavaScript library that does essentially all the same things, namely: https://github.com/RubaXa/Sortable
This is a sincere question. What advantages does Shopify/draggable offer? Why might I want to use this library instead of the tried and tested RubaXa/Sortable?
Thank you.
That is a very good question, it is something we do have to justify often. This library aims to be the complete solution for Drag and Drop on the web.
We often found that
The main driver for us was the flexibility and extensibility of Draggable. Things are nicely abstracted into sensors and modules that are also mostly tested. We also want to offer features that libraries currently don't offer:
Draggable core and create your own Sortable module for exampleThis the main gist ^ Let me know what you think
@tsov thank you very much for your detailed response鈥攖hat was helpful.
I do, however, have one more remark and two more (related) questions:
Thanks for all your work!
Adding to what @tsov said, while we are very proud of draggable and intend to continue to improve it, you should always pick your dependencies carefully. Consume whatever solution works best for your project 馃槃
As for your question about Shopify, both @tsov and myself work at Shopify _(and on the same team!)_. The part of the product we work on happens to use drag and drop quite heavily. When first implementing drag and drop, we found that existing libraries didn't give us everything we needed, which is when @tsov started work on the very first iteration of draggable.
Most of our work on draggable happens on our own time, but the very first prototype happened during a work hours "hackathon" we did over a year ago. Seems fitting to release this under the Shopify banner 馃槃
Most helpful comment
Adding to what @tsov said, while we are very proud of
draggableand intend to continue to improve it, you should always pick your dependencies carefully. Consume whatever solution works best for your project 馃槃As for your question about Shopify, both @tsov and myself work at Shopify _(and on the same team!)_. The part of the product we work on happens to use drag and drop quite heavily. When first implementing drag and drop, we found that existing libraries didn't give us everything we needed, which is when @tsov started work on the very first iteration of
draggable.Most of our work on
draggablehappens on our own time, but the very first prototype happened during a work hours "hackathon" we did over a year ago. Seems fitting to release this under the Shopify banner 馃槃