I recently started reading about developing decentralized apps using Web3.js, Ethereum, Solidity. But almost every tutorial talks about using the MetaMask chrome extension to access these apps on Google chrome. I checked some of the apps (eg. compound.finance), it asks to connect to wallet using MetaMask, but the chrome extension is not required, which turns our browser into a blockchain browser.
It seems to be difficult for adaption if the apps require users to install an extension. So how do apps work without the extension?