Yep. The idea is that you code whatever you want to take place on the Ethereum Blockchain in Solidity and the rest in whatever language is best for your Dapp. Keep in mind that every action carried out on the Blockchain costs money. So you will want to write only what you have to in Solidity.
Does this answer your question?