ENS support is available in many popular languages. If you know of a library that is not listed here, please send us a PR.
If you are already using web3.js, and do not require functionality such as creating subdomains, transferring ownership, or updating resolvers, use web3.js's ENS support.
If you are already using ethjs, and only need to do forward and reverse resolution of ENS names, use ethjs's ENS support.
If you are already using ethers.js, and only need to do forward and reverse resolution of ENNS names, use ethers.js's ENS support.
Otherwise, use ethereum-ens.
Once you've chosen a library, read Working with ENS to learn how to use your chosen ENS library in your application.