Pour créer un DAPP, il y a deux étapes : la création des smart-contracts et le développement de la partie front-end.
Pour créer un smart-contract sur la Blockchain Ethereum, on utilise le langage Solidity. Solidity n'est pas compliqué à apprendre, il existe des sites et des tutoriels pour apprendre ce langage. Mais on peut aussi faire appel à OpenZeppelin et prendre des smart-contracts disponible dans cette librairie.
Et pour développer le front-end, on peut utiliser React.JS ou du HTML/CSS classique. Mais le plus important, c'est de lier Metamask à votre partie front-end en ajoutant un bout de code.