Developers can choose to interact directly with Ethereum clients via the JSON-RPC API, however there are often easier options for dApp developers depending on their language preferences.
Polkadot clients have different libraries.
Many API libraries exist to provide wrappers on top of the JSON-RPC API. With these libraries, developers can write one-line methods in the programming language of their choice to initialize JSON-RPC requests (under the hood) that interact with Ethereum.
Examples of Ethereum libraries
The web3.js is a collection of libraries that allow you to interact with a local or remote ethereum node using HTTP, IPC or WebSocket.
The ethers.js library aims to be a complete and compact library for interacting with the Ethereum Blockchain and its ecosystem. It was originally designed for use with ethers.io and has since expanded into a more general-purpose library.
The Nethereum library is the .Net integration library for Ethereum, simplifying smart contract management and interaction with Ethereum nodes whether they are public, like Geth , Parity or private, like Quorum and Besu.