A decentralized application (dApp) is a service that provides direct interaction between providers and end users providers through a blockchain or distributed ledger.
Front end of Dapps can consist of the usual HTML, CSS, or any other elements of traditional applications. Decentralized solutions for storing and sharing files are being developed such as IPFS/Filecoin, Storj, SiacoinSiacoin, Maidsafe and others.