What is decentralised application (dapp) ?
Ethereum full stack decentralised application (dapp) structure and its analogy with traditional full stack application
Ajith Parmar

The applications that are build using any blockchain as its backbone are called as decentralized applications or dapps in short. If you are familier with the traditional structure of a full stack web application then understanding the dapps will be just a peice of cake for you.

Why are they called as dapps ?

You've now understood that the applications which uses the blockchain are dapps but the question remains then why are they called as dapps ? can't we just call them as applications on blockchain ?

If you understand the blockchain a little bit or even if you search what is blockchain then the results shown will definitly contain a word 'decentralized' and since the blockchain itself is a decentralized then the apllication built using blockcnain must also be decentralised. We will talk about the centralized and decentralized difference below when we will compare the traditional apps with dapps.

How dapps are different from apps ? 

First lets understand how traditional applications are built. The main terms that will be addressed when you talk about full stack development is frontend and backend. Generally when we talk about frontend that means we are referring to the part of application which is visible to the users like buttons, text, events, images, etc. but when backend is referred then server and databases comes into picture which are not visible to the users but are the essential part of the application. for deveoping the front end part generally html,css,javascript or frameworks like reactjs, vuejs, angular are used while for backend python, nodejs, java languages are used and for database purpose sql, mysql, mongodb, etc are used.

Let's take an example of the very popular term MERN stack developer. Which are MongoDB, Express, React and Nodejs. here react is used for front end, express and nodejs are for backend and mongodb is database.

but in the case of dapps particulary talking about dapps that are built on top of ethereum blockchain we use smart contracts. the complete flow is as follows

Now here we can also use server and database as well along with smart contract and blockchain but the main difference is that the complete working of the dapp is defined with smart contract itself. The smart contracts are deployed on ethereum blockchain and also the data is directly stored on the blockchain itself instead of using any traditional database. developer can also use traditional database along with ethereum as per the requirements.

What are smart contracts ?

Smart contract is just a piece of code that governs the complete process and flow of working of decentralized application (dapp). In case of the traditional app the code written in the backend(server side) will decide the working of application like that.

So, how does this smart contract looks like and where to start building one ?

for this you can refer to this article : link

Why should anyone build the dapp over traditional application ?

Since the dapp is build using the blockchain technology all the benefits and properties of blockchain are also applicable to the dapp. Like decentralized, distributed, immutable, etc.

You must have heard the news of hacking of a famous applications or if their server is down for sometime, this can be avoided with the dapps. Blockhain also eliminates the third parties and any single entity being owner of the complete application. Which one yould you prefer one single orgnization in control of the complete user data or a decentralised application where everyone is in charge of their own data ? thus blockchain is also good at protecting your privacy than a traditional application. Being an immutable nobody can erase or rewrite the data stored on blockchain.

More by author