For a developer, [Dapp](🔗) is a combination of front-end and smart contracts. The front end is used to interact with the user, and the smart contract is used to interact with the blockchain. This article will help users learn the development environment and development tools.

# Front-end

The developer community provides a js development tool [TronWeb](🔗) , and TronWeb encapsulates java-tron http api, and more friendly for developers. You can learn about these encapsulated functions through [here](🔗).

# Smart contract

The development of smart contracts requires you to understand and be familiar with the Soldity language, and we also provide [documents](🔗) to guide newbies. The developer community also provides a wealth of development tools:   _ [Tron-IDE](🔗) It is used to edit, compile, and deploy smart contracts, and interact with smart contracts.   _ [Tronbox](🔗) It is mainly used to deploy smart contracts and unit tests of smart contract functions.   * [Trongrid](🔗) Provide public nodes for mainnet and testnet