0

I just started working on a project, and customizable dashboards is the main functionality of it. The dashboards consist of draggable and resizable boxes.

Now when we decided that IE11 will be supported as well, it turned out that the drag functionality performance is extremely bad on IE11, and it is an internal issue of the library that we are using.

https://github.com/tiberiuzuld/angular-gridster2

About this library:

  • 20 total questions about it on stack overflow.
  • 494 github stars
  • One active contributor
  • 7k npmjs weekly downloads which is not a lot
  • I've opened an issue on the Github page of this library 16 days ago and there has been 0 activity or comments on it.
  • We use Angular framework, and every time when the Angular version gets upgraded, this library version has to be upgraded, which will be a problem once this library is not supported anymore

The question is - what's the right thing to do:

  • Implement our own solution for this from the ground up
  • Keep using this kind of library for a critical app feature and be ready to fork the code whenever needed
GeForce RTX 4090
  • 3,091
  • 11
  • 32
  • 58
  • 1
    There's no right thing to do, it only depends on your choice. Personally, when I find myself in this situation, I tend to implement my own thing, because it gives me more control over it. I usually only install uber-libraries such as flex layout or material, and implement my own thing otherwise (when it comes to Angular libraries I mean) –  Mar 15 '19 at 12:19

1 Answers1

2

Well it is called open source for a reason, what about helping to improve the library? If the creators won't agree with your change you can still fork the repo and tweak it as you like.

Building something like that from scratch is definitely doable, to me it sounds more like reinventing the wheel but if you do have the resources, do it.

  • PS: re-reading your question I have the feeling you want to build the feature yourself and you're trying to convince someone to do so by asking here, is this the case? (Just curious, not judging) – Massimiliano Sartoretto Mar 15 '19 at 12:42
  • I don't necessarily want to convince someone that building this from scratch is needed. I might sound biased towards that, because I mentioned all the drawbacks of the library, but that's just so that the question can be fully understood. Also because everyone already knows the drawbacks of building this thing from scratch. This library has presented unexpected unwanted behavior in multiple scenarios, that's why I genuinely want know what the best solution to this problem is. – GeForce RTX 4090 Mar 15 '19 at 13:11
  • I agree with @gfels that there is no right solution here. You must take a decision based on the resources and experience you have. Honestly I wouldn't rewrite it, there's also other (probably better) libraries out there that provide the same functionality. You might want to try that before. – Massimiliano Sartoretto Mar 15 '19 at 13:55