The concept of a decentralized application was born in the era of the blockchain hype, when all the necessary tools for implementing logic appeared. And the most popular blocking with the necessary tools was Ethereum. Then there were a lot of examples of smart-contracts and examples of decentralized applications. The authors of these applications tried to shift all logic and storage of information on the blockchain. Where it was needed and where it was completely unnecessary. As a result, at it’s best, all the logic was implemented using the blockchain and the UI interacted directly. Such applications were quite slow and extremely uncomfortable.