Question originally asked on Musing.io - Click here to see other answers
When you design a smart contract on top of ethereum, it is like a backend server. Therefore in order for you to interact with the contract you need a front end. In front end, we use a library call web3.js which helps us to interact with the contract easily and intergrated with metamask.
- Advantage #1: User friendly
You can use desktop wallet that run will full node or partial node, it will works, because Ethereum Smart Contract is just a back end. However, it is not user friendly for non-developer because you have no idea what functions to call or send.
- Advantage #2: No need to download big files
With MetaMask, you are running on their network node, so you don't need to download a full blown full node or partial node on your desktop.
- Advantage #3: Easy to develop
As a blockchain developer, I prefer to use MetaMask in my development process because it helps me to test out my app quite effectively, Therefore it is useful to do a backend and design front end integrate with metamask