Could someone make a list with development tools for Ethereum together with a short description what they are good for?
High Level Languages for smart contract developing:
See the differences here.
Command Line Development Management Tools for creating a basic structure of an DAPP project:
Testnode with RPC Interace for deploying contracts on a virtual node and make transactions without the need to be mined:
Browser based IDE to get instant feedback for solidity code:
Work in Progress...
A MUST MENTION: I see that most people are offering advice for test networks. I recommend you to use them however when you want to switch to Rinkeby or the main Ethereum network, make sure you connect to the right provider/node.
For example, infura.io could offer you a node to connect to the network. All you need to do is setting up the provider with the mnemonic + link offered by infura
- Populus (https://populus.readthedocs.io/en/latest/quickstart.html), that is also Development framework for Ethereum smart contracts. GitHub page: https://github.com/ethereum/populus.
etherlime is an ethereum development and deployment framework based on ethers.js.
This framework provides alternative to the other web3.js based frameworks and allows for ultimate control by the developer. It also adds much needed verboseness in the deployment process so that you can be aware of what is really going on (as opposed to the general shooting in the dark technique).
Think Ganache should get a mention here. For setting up your personal blockchain for Ethereum development.
The most important Tools & frameworks you'll need to get started with Ethereum development are:
Remix IDE - The easiest way to get started. https://remix.ethereum.org/
IDE of your choice with Solidity plugin - For example IntelliJ + solidity plugin
- Ganache - This is your local Ethereum node for development
- MetaMask - Browser plugin (Needed to interact with the Ethereum network from the browser)
Here is an extensive list of tools provided by ConsenSys.