Recently, I read this article which stated that Frameworks are huge anti-pattern in Software Development. Most of the cases for any project, we don’t require frameworks, we just require some functionalities from those frameworks.

I agree with the author and here noting down the libraries/plugins which I think require most while developing any UI project, considering not depending on any Framework. Here are those things:

  • Module loader (Like Webpack)
  • Routing library
  • SVG Spritesheet (Inline SVG concept)
  • Validations
    • Field validations
    • Title validations (To show all field errors at one place)
    • Global validations (To show success or error messages from server)
  • API Library (A custom library)
    • Server API
    • Local API (.json files, when server api calls are not ready)
  • Maintaining states (Like Redux)
  • Date library (I prefer creating our own as per when requirements shows up)
  • Dropdown library, because default dropdown sucks
    • Editable dropdown (shows suggestions while typing)
    • Normal dropdown (shows options when clicked on dropdown icon)
  • Promises (for calling functions after completion of asynchronous calls, like Bluebird)
  • Task runner (like gulp)
  • Template engine (There are many, like nunjucks or marko)
  • Images lazy loading (layzr.js and lazysizes). You can also consider image preloading which doesn’t require any library.