EOS dapp developer can buy cpu weight and net weight. I think cpu weight is gas in ethereum. But I can't understand what net weight is. What is the purpose of net weight? And Is bandwidth in EOS decided by minimum size of BP CPU performance, storage, memory? What do you think of how much EOS performance, storage, memory is?
What is the purpose of net weight?
From the whitepaper:
Bandwidth and computation have two components, instantaneous usage and long-term usage. A blockchain maintains a log of all Actions and this log is ultimately stored and downloaded by all full nodes. With the log of Actions, it is possible to reconstruct the state of all applications.
The computational debt is calculations that must be performed to regenerate state from the Action log. If the computational debt grows too large then, it becomes necessary to take snapshots of the blockchain's state and discard the blockchain's history. If computational debt grows too quickly then it may take 6 months to replay 1 year worth of transactions. It is critical, therefore, that the computational debt be carefully managed.
In regards to the other question:
Is bandwidth in EOS decided by minimum size of BP CPU performance, storage, memory?
It's decided by consensus. It can be lower than the minimum specs for BPs if they want to accommodate non-producing full nodes and typical consumer-grade harware, or it could be higher than the minimum specs for BPs if some BPs decide they can stay synched and provide sufficient performance to users without adhering to the recommended specs.