DApp is short for 'Decentralized application' that relies partly on blockchain for its functionality. They are different than 'Smart Contracts' because it can be interacted with. It does not need to have a financial function. Dapps can be created using common programming languages like Javascript, PHP or C#. At the time of writing, most Dapps are using the Ethereum blockchain.