I break dapps down in two broad categories -

  1. One’s that require you to write contracts
  2. One’s that don’t

Dapps in which you own the smart contract

Good examples - Tensor, jup, raydium

Pros

  1. Gives your business a huge MOAT
  2. Generally more impressive than a pure client side dapp
  3. Most Defi apps would require you to own this

Cons

  1. Needs to be heavily tested/audited
  2. Requires Rust knowledge

Client side/Centralized backend led apps

Good examples - Tiplink, RPC providers

Pros

  1. Easier to write
  2. A lot of times, you can use solana provided programs and build a lean app layer on top (token transfers, staking etc)

Cons