What is a dapp?

Nowadays, it is more and more often heard that somebody is developing or using a “dapp” instead of a standard “app”. It can be taken like a…

What is a dapp?

Nowadays, it is more and more often heard that somebody is developing or using a “dapp” instead of a standard “app”. It can be taken like a mistake and many developers might think that there are no differences between these two terms.

Dapp is a decentralized application which is not controlled by a single authority, because it is run in the blockchain or another peer to peer network.

The main difference between a dapp and an app is that dapp is decentralized, what leads to not be under a control of a single authority. It provides more freedom and no censorship.


Let’s assume that I am developing new decentralized YouTube, the “D-youtube”. In standard app, many movies can be censored by an admin. It is totally up to him if the new released film will be available for others.

In a decentralized YouTube, whatever an user will release, it will be hosted and available to watch. The content will be saved on the blockchain and live in there as long as entire blockchain exists. Generally, it is the concept of DAPPs.

Advantages and disadvantages of DAPPs

Advantages:

  • Dapp is not storing your personal data, authentication process is made by using a digital wallet, like for example Metamask. You are logging to a decentralized platform by using a public address and sign it with private key. As long as only you own the private key, your account is super safe.
  • Dapp is resistant to censorship, because other members of an ecosystem, can not delete your messages, contents, transactions, etc.
  • Ethereum provided smart contracts which in combination with dapps, can improve banking system, licensing and even gaming. Smart contracts stored on a blockchain can be very powerful in defining the functionalities and features for future dapps.

Disadvantages:

  • Decentralization is still in early stage development. Blockchain is a very young technology, comparing it to smart contracts which are totally the latest trend, it leads to a question — will it be with us in the future? Is it scalable? Is it secure? This answears are defining the future of that branch, which can be very bright or will end as quickly as it started.
  • Coding dapp is very challenging, blockchain stores informations that can not be modified in a concrete block of data, it is only possible to add new block with latest changes which will cancel the previous ones. It can be very challenging and annoy developers, which can be hypothetical, even more prone to errors.
  • Storing every data on a blockchain can lead to a very slow user experience with a dapp. That is why it is very common to deploy some data to a standard database and the crucial ones in a blockchain. Handling this problem can boost dapps to another level, but now it can be a serious challenge.

How to develop a dapp?

Dapp can be developed in many ways, newest tools are released and it is easier and more intuitive to interact with a blockchain. However, it requires some coding skills, especially basic frontend and solidity language.

The basic “stack” which I have used for the very first time is:

  • Truffle framework,

It is an environment for blockchain development on local machine.

  • Solidity,

It is an object oriented programming language created for implementing smart contracts.

  • chai,

It is a JavaScript library created for unit testing, which can be super helpful in testing decentralized solutions. It is worth of tasting these lines of code, because blockchain does not allow to implement changes easily.

  • Html & css & JavaScript

For simple and easy user interface it is sufficient. Creating for example todo dapp does not require more tech. JavaScript enables to easy interaction with a blockchain by various of libraries and frameworks, that is a next reason, why this programming language is very powerful.


Conclusion

Dapps can be commonly used and be recognized in a society, if web3.0 trend will be more and more adopted. Every year new users have an access to the crypto world, get digital wallets, invest in bitcoin, altcoins and NFT.

Will it be a trend which can not be stopped and will be improved and boosted every day? It is hard to say, but it is definitely worth of trying to follow this tech branch from the beginnings. Personally, I see big opportunities and more freedom, which are given by a blockchain.