Today you can easily create a decentralized application (a dapp) on Ethereum blockchain if you know how to write in Solidity language. It’s a relatively new programming language that is blockchain oriented and its main purpose is to let you write transaction handlers for your dapp.
Here I would like to share with you my list of resources where you can learn and master Solidity and get a better understanding of how to write Ethereum dapps:
learnxinyminutes.com/docs/solidity — a quick overview of all features of Solidity language.
solidity.readthedocs.io — an official Solidity documentation.
CryptoZombies.io — an interactive tutorial where you create a collectible game right in your browser.
ethernaut.zeppelin.solutions — another gamified way to learn Solidity by guys from Zeppelin Solutions.
consensys.github.io/smart-contract-best-pr… — Ethereum Smart Contract Best Practices — this is a must read.
coursetro.com/courses/20/Developing-Ethere… - a video course for beginners.
Feel free to share any other useful resources on Solidity.