A General Review of dApp Development
Globally, dApps are becoming more and more popular. dApps (decentralized applications) connect users and developers directly without the need for a middleman to host and manage the code and user data. Permission is not needed to build a dApp and there is no company or centralized group of people that can change the rules of the platform. Today there are over 1000 dApps built on Ethereum, the leading dApp platform. A dApp has its backend code running on a decentralized peer-to-peer network. Contrast this with an app where the backend code is running on centralized servers. A dApp can have its frontend code written in any programming language that makes API calls to its backend. Furthermore, its frontend can be hosted on decentralized storage such as IPFS.
The biggest difference between dApp development and traditional app development is the level of rigour by which code must be scrutinized before it’s pushed to production. dApp development is actually more like hardware development than software development in that respect. In hardware development, rigorous testing and prototyping need to be done before the product is offered to the public. A hardware recall costs lots of money, takes a long time to fix, and tarnishes the reputation of the manufacturer. Likewise, in dApp development, a smart contract can’t be changed once it’s launched. A bug in the smart contract loses users’ funds and tarnishes the reputation of the dApp developers.