When developping whatever app/techno => install nothing except docker on your host machine!
All softwares (angular-cli, java, database... or even IDE like eclipse) are installled in docker containers so you can use different versions per projets and setup independant development environments on the same computer.
On your host machine:
- docker
- git
- use this project https://github.com/cwahl-Treeptik/jdev-env-java to setup IDE (see https://www.duchess-france.org/votre-environnement-de-dev-avec-docker/)