$30 off During Our Annual Pro Sale. View Details »

Dealing with Dependencies in JavaScript

Dealing with Dependencies in JavaScript

Lightning talk given at Beer.js Summit 2022

Radoslav Stankov

July 27, 2022
Tweet

More Decks by Radoslav Stankov

Other Decks in Technology

Transcript

  1. Dealing
    with
    Dependancies
    (in JavaScript)
    Radoslav Stankov


    01/08/2019

    View Slide

  2. https://rstankov.com/appearances

    View Slide

  3. ...imagine starting a new project 🤩

    View Slide

  4. View Slide

  5. View Slide

  6. View Slide

  7. View Slide

  8. View Slide

  9. 😴 JavaScript Fatigue

    View Slide

  10. View Slide

  11. View Slide

  12. View Slide

  13. View Slide

  14. What framework to use?
    How to manage state?
    How to fetch data?
    Which router to use?
    Which calendar component to use?
    Which chart component to use?

    ...
    🤔

    View Slide

  15. Dependency types

    View Slide

  16. Medium
    easy

    to change
    Big
    Medium
    Small
    Medium
    Small
    Small
    Small
    Small Small
    hard


    to change
    simple complex
    * totally unscienti
    fi
    c chart 👨🔬

    View Slide

  17. Medium
    easy

    to change
    Big
    Medium
    Small
    Medium
    Small
    Small
    Small
    Small Small
    hard


    to change
    simple complex
    * totally unscienti
    fi
    c chart 👨🔬

    View Slide

  18. What framework to use?
    How to manage state?
    How to fetch data?
    Which router to use?
    Which calendar component to use?
    Which chart component to use?

    ...
    🤔

    View Slide

  19. What framework to use?
    How to manage state?
    How to fetch data?
    Which router to use?
    Which calendar component to use?
    Which chart component to use?

    ...
    🤔

    View Slide

  20. What ecosystem to choose?
    How to manage state?
    How to fetch data?
    Which router to use?
    Which calendar component use?
    Which chart component use?

    ...
    🤔

    View Slide

  21. What ecosystem to choose?
    How to manage state?
    How to fetch data?
    Which router to use?
    Which calendar component use?
    Which chart component use?

    ...
    🤔

    View Slide

  22. View Slide

  23. History of JS Ecosystem
    2005 2022
    2013
    2010
    2006

    View Slide

  24. View Slide

  25. What ecosystem to choose?
    How to manage state?
    How to fetch data?
    Which router to use?
    Which calendar component use?
    Which chart component use?

    ...
    🤔

    View Slide

  26. What ecosystem to choose?
    How to manage state?
    How to fetch data?
    Which router to use?
    Which calendar component use?
    Which chart component use?

    ...
    🤔

    View Slide

  27. Medium
    easy

    to change
    Big
    Medium
    Small
    Medium
    Small
    Small
    Small
    Small Small
    hard


    to change
    simple complex
    * totally unscienti
    fi
    c chart 👨🔬

    View Slide

  28. View Slide

  29. History of React Ecosystem
    2013 2022
    2014 2015 2016
    Concepts
    Libraries
    Frameworks

    View Slide

  30. View Slide

  31. View Slide

  32. What ecosystem to choose?
    How to manage state?
    How to fetch data?
    Which router to use?
    Which calendar component use?
    Which chart component use?

    ...
    🤔

    View Slide

  33. Medium
    easy

    to change
    Big
    Medium
    Small
    Medium
    Small
    Small
    Small
    Small Small
    hard


    to change
    simple complex
    * totally unscienti
    fi
    c chart 👨🔬

    View Slide

  34. Picking Dependencies

    View Slide

  35. ⏹ Do we really need it?
    ⏹ Can something we already have do the task we are searching for?
    ⏹ Can we implement this ourselves?
    ⏹ Is this properly maintained?
    ⏹ Is it well documented?
    ⏹ When was the last version?
    ⏹ When was the last commit?
    ⏹ How often does it get a new version?
    ⏹ Does it have CHANGELOG?
    ⏹ Were there breaking changes recently?
    ⏹ Does it have security issues past or present?
    ⏹ How many dependencies does it come from?
    ⏹ What the dependency size?
    ⏹ What is its license?
    ⏹ Do you use this in any other project?
    📋 Checklist

    View Slide

  36. https://www.npmjs.com/package/lodash

    View Slide

  37. https://www.npmjs.com/package/lodash

    View Slide

  38. View Slide

  39. View Slide

  40. View Slide

  41. Thanks 😎

    View Slide

  42. https://rstankov.com/appearances

    View Slide