Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Drawing the line between 3rd party and handcraf...

Drawing the line between 3rd party and handcrafted code

Often when we write new components, we might be like: Come on, there must be something out there! And most times there was already someone who faced the same problem... only that it's not quite the same. Should I use the 3rd party lib? Or go with my own? Let's find out the differences and drawbacks in this session.

Glenn Reyes

April 25, 2019
Tweet

More Decks by Glenn Reyes

Other Decks in Programming

Transcript

  1. @glnnrys Awesome!! Now we have collected all 534 different options!

    
 Let's setup a 3-day meeting in two weeks to talk about that and make a constructive bikeshedding workshop!
  2. @glnnrys Complexity Speed API Size Bugs Dependency Documentation Time Constraints

    Development Environment License https://stackoverflow.com/q/1236256/4149575
  3. @glnnrys How to decide what library to use? GitHub stars

    Active maintenance Active community Platforms
  4. @glnnrys if (el.classList) { el.classList.toggle(className); } else { var classes

    = el.className.split(' '); var existingIndex = classes.indexOf(className); if (existingIndex >= 0) classes.splice(existingIndex, 1); else classes.push(className); el.className = classes.join(' '); }
  5. @glnnrys if (el.classList) { el.classList.toggle(className); } else { var classes

    = el.className.split(' '); var existingIndex = classes.indexOf(className); if (existingIndex >= 0) classes.splice(existingIndex, 1); else classes.push(className); el.className = classes.join(' '); }
  6. @glnnrys if (el.classList) { el.classList.toggle(className); } else { var classes

    = el.className.split(' '); var existingIndex = classes.indexOf(className); if (existingIndex >= 0) classes.splice(existingIndex, 1); else classes.push(className); el.className = classes.join(' '); }
  7. “ ” @glnnrys Kent C. Dodds We should be mindful

    of the fact that we don't really know what requirements will be placed upon our code in the future.