I just dive into developing "Ethereum Smart Contract". I started with Web3.js because I have some web developing experiences and before too long I found Truffle, the framework provides convenient developing environment(configuration, compiling, deploying, testing...) of Smart Contract. I realize that there are many options of tools and methods to develop a good Smart Contract, but I should understand how they work exactly before I can use them correctly and efficiently.
Therefore, I draw a chart as below, trying to illustrate how the web and Ethereum components work together to run a Smart Contract. I thought I must share this chart in order to measure I have right understanding and gather feedback for any missing part of it…PLEASE LET ME KNOW IF YOU HAVE ANY COMMENTS.