The  Ethereum native, statically-typed, object-oriented programming language used for writing smart contracts. The similarity of syntax to ECMAScript makes it especially developer’s friendly.
However Solidity runs on EVM machine, it is used for implementing smart contracts on various blockchain platforms.

Most commonly, with Solidity you may ensure high security and validation of operations such as voting, funding, blind auctions and multi-signature wallets.
At Idego we currently recommend those solutions associated with Solidity: starting with Truffle as development environment (Ganache CLI included) and OpenZeppelin library.