A simple guide to the web3 developer stack - Blog

Fbk4w_maMAAvzzS.jpeg

Building in Web2 vs Web3

Software development is the process of building computer programs. There are three main components to a given program:

  1. The front-end (what users interact with)
  2. The back-end (what users don’t see)
  3. Database (where critical data is stored)

The front-end that a typical user interacts with through a mobile or desktop browser is basically the same in web2 and web3. A web3 app like Uniswap looks similar to a typical web2 app because both front-ends are mostly created using React — a popular developer framework for web and mobile apps.

https://images.ctfassets.net/c5bd0wqjc7v0/3L3GfpD8ucFYUO0sEhw0Qw/32fcd69bbee52e8cec3d7daa686293d0/1_lMnDLgwcEguhzYST1QSwJQ.png

It’s under the hood where web2 and web3 differ. The backend frameworks and types of databases that make web3’s defining characteristic — user-defined ownership — possible are new and unique.

Where web2 applications largely rely on centralized databases, web3 applications are built on decentralized databases (blockchains). This requires entirely new backends and new primitives like wallets.

The tools that aid in the creation, deployment, and maintenance of web2 applications are incredibly developer-friendly, thanks to decades of cumulative development. Out of the box solutions, mature infrastructure, shared code libraries, and easy to use frameworks largely make building in web2 a breeze.

Web3 on the other hand still requires specialized expertise to interface with complex infrastructure and commonly involves many redundant processes given that the stack is less developed, leaving teams to have to reinvent the wheel. That said, the tooling that will help onboard the next 1M+ web3 developers is rapidly improving.

Let’s take a (non-exhaustive) look at the evolving Web3 developer stack layer by layer (* denotes Coinbase Ventures portfolio company).

Protocol layer

https://images.ctfassets.net/c5bd0wqjc7v0/5xCETj39oBbESp0qYK6fBJ/781334af329ddeadd2515152426b4cdf/1_ngqel2kCbfpPAy9lQBPdPQ.png

The first decision a web3 developer has to make is which blockchain protocol to build on. Building on Bitcoin is entirely different from building on Ethereum, and Solana differs from Ethereum, etc.

For faster and lower-cost applications, developers might want to build on a layer2 protocol — OptimismArbitrum, etc. For applications that need to port value from one chain to another, developers will want to leverage cross-chain bridges like Hop* or Synapse*.