MetaMask / metamask-docs

Developer documentation for MetaMask
https://docs.metamask.io
Apache License 2.0
649 stars 929 forks source link

Compare convenience libraries #1008

Open alexandratran opened 9 months ago

alexandratran commented 9 months ago

Add table or comparison chart laying out features supported by each third-party/convenience library.

httpJunkie commented 7 months ago

Here are a list of what I think are true convenience libraires:

For me, I'm conflicted on using the term convenience libraries as I know that this term makes sense to us, but I think is a confusing term for developers. I think that we should update our "convenience libraries" page and call it "Third party libraries" or "Web3 Frameworks".

As for creating a comparison chart "Third party libraries" or "Web3 Frameworks" gives us more of an ability to include tools that might fall out of the true definition of a "convenience library" which I still have a hard time defining today. And allows us to list a few extra tools and compare them.

Some good candidates for this table would be:

Cons of creating a table that compares third party libraries.

This would be a chart that would change quite often. So, it would need to either cover only the basic features or if more exhaustive would need to be maintained on a near monthly basis. Web3 tooling changes fast. Think about the differences between hardhat and truffle. In about a 6 month period Truffle had reduced the gap as far as features (in a rather short period of time) Now, Truffle and even Embark are no longer or sunsetted.

These are just some things to take iinto consideration. So, if we want to do this:

  1. We need a list of third party libs
  2. We need a list of columns we want to track
  3. We need a few people that are interested in maintaining and researching these changes and features

It's a tall task to maintain accurate features and changes in one product or maybe even Consensys products that we are familiar with, but third party libs could be a time consuming task.

Maybe just creating a chart with very basic descriptions and reasons a dev would use is the best idea. I'm interested in exploring this idea further despite my concerns.