Let's say your team is building an application using React (but the same question appears with other library or framework like vuejs, emberjs or angular). You will need classical UI components with classical behavior (breadcrumb, toast, datepicker, and so on…).

What will be your strategy and how do you justify it?

  1. create a set of components from scratch using your graphic chart?
  2. use an existing components library (react-toolbox, grommet, rebass, material-ui, …) and overloading the style or behavior for specific application needs?
  3. use a css library (bootstrap, material.io, …) and build your needed components with this bunch of css and add needed behaviors?

For instance, you need a snackbar, aka toast, aka notification to give feedback to users' actions. Here is a list of existing components, but you have to tweak them to fit the graphic chart of your business application, and even sometimes for specific behavior:

Screenshot-2018-08-03-10:16:12.png

Write your answer…

The decision tree is basically: does your company differentiate based on design? If yes, you need to have a greater level of control than off-the-shelf is going to give you. If no, ie. design just needs to be good enough not to get in the way, then you can probably just apply your own colours to something off the shelf.

If building your own, my strategy is what I call "plunder". Take the best bits off the shelf and wrap them up into your own library. Only build the bits you have to build to get the results you need; and don't feel obliged to take the entire mess of any one off-the-shelf option.

I talked about this at Respond 2015 so the slides may help... bit dubious... but anyway: slideshare.net/200ok/ui-libraries-should-ro..

1 Beer1

I took a look at your slides, that was useful. Thanks for your answer.

Reply to this…

Hashnode is building a friendly and inclusive dev community. Come jump on the bandwagon!

  • 💬 A beginner friendly place

  • 🧠 Stay in the loop and grow your knowledge

  • 🍕 >500K developers share programming wisdom here

  • ❤️ Support the growing dev community!

Register ( 500k+ developers strong 👊)

Depends on the companies branding guidelines and the resources available. V1 of products tend to use an existing lib and just slightly alter on top of that. After that's released and bugs fixed then people start looking at building their own from scratch - if it's viable/useful.

1 Beer1