Web Apps vs. Distributed Apps: What's The Big Deal?
With the rise of blockchain technology, a new class of apps has emerged: decentralized apps, or dApps. How are these different from regular web apps? Since they both exist as SaaS, aren’t they just similar things with different names? Yes, but also no. It all comes down to the same difference that exists between Web2 and Web3; decentralization and transparency.
The Difference Between Web Apps and dApps
dApps, on the other hand, are decentralized applications that run on a decentralized peer-to-peer network such as the Ethereum blockchain. They're often open source, meaning anyone can contribute to their development. And because they're decentralized, they're not subject to the whims of any company or entity— meaning they're much more resistant to censorship or shutdowns. Common dApps include PancakeSwap, MakerDAO, and OpenSea.
What’s So Good About Web Apps?
Web apps have several advantages over their dApp counterparts. First and foremost, they're much easier to develop— since they don't require an in-depth understanding of blockchain technology. They're also more user-friendly since most people are already familiar with how to use a web browser. They can be as complex and functional as the developer needs (or very simple). And because they rely on central servers, they tend to be more reliable than dApps, though not always.
Regardless of the purpose of the web app, millions of people worldwide depend on them because they’re not OS-specific, and can be used across a mobile or desktop browser. They’re also capable of more dynamic updates, meaning that an update can be pushed out, and the web app is automatically updated for all users.
A key example of a web app would be Adobe Photoshop. They offer a version you can install onto a computer, a mobile app, as well as a web app. The mobile app offers simple functionality for quick edits, and other stripped-down tasks. The on-premises version, on the other hand, can only be used on the computer that has a license for it. The web app, however, allows you to use the full capabilities of Adobe Photoshop regardless of your browser, OS, or device. The same could be said for the web apps available from Gmail, Starbucks, and Uber. Offering similar experiences to the native mobile apps, they’re more nimble and dynamic due to their operation being web-based rather than app based.
Drawbacks of Web Apps
As useful as they can be, their main drawback is their centralization. The company that owns and operates the app fully controls it. They can shut it down, rebrand it, or restructure it into something less user-friendly (it’s been known to happen.) They're also subject to censorship— meaning governments or other entities can block access to them if they choose. That, however, isn’t all that grievous compared to the worst-case scenario with a web app: privacy breaches.
Many web and mobile apps collect users’ personal data and may even sell that personal data to other third-party apps to generate additional profits. And because they store data centrally, they can be hacked— which could compromise sensitive information.
That’s too high a cost for convenience.
What Do dApps Have to Offer?
dApps have a number of advantages over their web app counterparts. First and foremost, they're much more resistant to shutdowns and censorship since there's no central point of control. No one entity can block a user from submitting a transaction, deploying a dApp, or reading data. They’re built on a blockchain, and combine a smart contract with a frontend user interface. They're also generally more secure since their data is spread out across the decentralized network— making it much harder for hackers to access it.
Aside from the decentralization, there are further key benefits that include:
- The downtime is zero: Once you deploy the smart contract on the blockchain, it’s accessible to everyone. The decentralized nature of the chain ensures that anywhere on the network, a client will be able to find the contract and interact with it. This makes it immune to a DoS (Denial of Service) attack from bad actors.
- Privacy is paramount: There’s no need to provide a real-world identity to interact with a dApp - just a wallet address. On their own, dApps don’t make your data more private, but the use of a decentralized address means that your data cannot be easily tied to you.
- There’s integrity of data: The data stored on the blockchain is immutable and indisputable. It’s very difficult to forge transactions or manipulate data that’s already been made public.
- It’s trustless and verifiable: Smart contracts are guaranteed to execute in a predictable way (i.e. the way they were coded). There’s no need to trust a central authority or question the integrity of the contract.
And because anyone can contribute to their development, dApps have the potential to be more innovative than traditional web apps. Via their open API, anyone can contribute to a dApp to offer functional improvements or address additional pain points the original developers missed. In fact, on Ethereum, for example, dApps and their smart contracts are accessible and transparent to the point that a dApp can use a smart contract that someone else has written. Ownership of a dApp is virtually non-existent.
If you’re doing anything on Web3 at the moment, chances are you’re using a dApp, such as:
- Any cryptocurrency wallet: This dApp, such as Metamask, allows you to store, send, and receive digital currencies.
- Decentralized exchanges: These dApps allow you to trade cryptocurrencies and other digital assets without the need for a central authority. For example, you could be using PancakeSwap or Uniswap.
- Gaming/Gambling dApps: These dApps allow you to gamble online using digital currencies.
- Collectibles: A dApp like OpenSea allows you to buy, sell, or trade collectibles/NFTs.
That’s just a brief list of available types of dApps. It’s clear that dApps have a lot of potential and utility.
Is There a Downside to dApps?
Much like anything else in Web3, like DAOs and cryptocurrencies, this is still a nascent environment. Everyone is still learning and experimenting, and dApp developers are still working out a few kinks here and there.
We’d be remiss not to mention a handful of disadvantages dApps have compared to their web app counterparts. First and foremost, they're much harder to develop due to their reliance on blockchain technology. They’re harder to maintain because the code and data that lives on the blockchain is harder to modify once it’s published on the chain because it is permanent and immutable. If there’s an update that’s needed or a security risk is identified, it’s almost easier to release a new dApp than update the old one.
There’s also the issue of performance. It’s challenging to scale a dApp when every node on the network has to run and store the information. This attention to security, integrity, and transparency, but also relying on a proof-of-stake consensus, means that transactions take time. This can lead to the network becoming congested quickly.
Finally, they're also less user-friendly since most people are unfamiliar with how to use decentralized networks, and the average end-user isn’t familiar enough with the correct tool stack to build and interact with the chain securely.
The Big Deal With dApps
Centralized applications may currently dominate the web app landscape, but that's not likely to be the case for long. Decentralized apps—or dApps—offer superior security, transparency, and resistance to censorship, making them the clear choice for anyone looking to build or use a web application. While dApps have some drawbacks—such as slower transaction times and lower scalability—these issues are being addressed by developers and are likely to be resolved soon.
When that happens, it's only a matter of time before dApps become more mainstream and popular, working side by side with web apps.
We might even be able to make them talk to each other.