could someone explain in plain english what Application Binary Interface is used for?

1)What's its purpose and why it should be used in order to make a DApp interface to communicate with the smart contract?Is it like an API that connects the UI with the smart contract?

2)And another question, when the ABI code is generated? Once the smart contract is compiled?


Browse other questions tagged or ask your own question.