Various convenience libraries exist for dapp developers. Some of them simplify the creation of specific user interface elements, some entirely manage the user account onboarding, and others give you a variety of methods for interacting with smart contracts, for a variety of API preferences (for example, promises, callbacks, and strong types).
The MetaMask Ethereum provider API is very simple, and wraps Ethereum JSON-RPC formatted messages, which is why some developers use a convenience library for interacting with the provider, such as Ethers, web3.js, and Embark. You can refer to those tools' documentation to use them.
We recommend using MetaMask SDK, which provides a reliable, secure, and seamless connection from your dapp to the MetaMask wallet. It onboards users smoothly from multiple dapp platforms using the MetaMask browser extension or MetaMask Mobile, and your dapp can call any provider API method with the SDK installed. Get started by setting up the SDK.