The essential tools to setup a new machine for web development
Development Tools #
VSCode IDE (integrated development environment) #
There are multiple IDEs available for web developers and one might suit a certain developer more than the other, but it seems like VSCode has taken the crown in recent years as the most popular IDE.
After using IntelliJ products for many years, I finally made the switch to VSCode a couple of years ago and have never looked back. IntelliJ offers amazing products that I still use like DataGrip, but VSCode is my go-to IDE.
NVM - NodeJS #
If you need to work on any server side tool or API, then you need nodeJS. But managing nodeJS versions on your local machine can be hassle - that's where NVM comes into picture. NVM stands for Node Version Manager and it makes it really easy to manage multiple nodeJS versions on your machine. Need to run a certain version on one terminal window and another version on a different window? Want the latest nodeJS version as default, but need an older version for that one specific tool? Want to test compatibility with multiple nodeJS versions? NVM can help you do all these things and more with a simple command line interface.
iTerm2 (macOS) #
This is a replacement for the default macOS terminal. It has features like split panes, search, hotkeys and autocomplete along with a bunch of configuration options. Once you use this, you will never go back to the default terminal!
Apple switched to zsh as their default shell on Mac starting with macOS Catalina. OhMyZsh is an open source essential tool for zsh users - it helps you manage your zsh configuration, and comes with adding like themes and plugins that make your development workflow much better. This tool is like a cherry on top of iTerm2.
Docker has become an essential tool for web development because it allows you to spin up a container instead of setup and manage multiple additional tools on your local machine. This one setup saves me from installing a bunch of other databases and apis.
Another must-have app not only if you need to develop APIs, but also if you need to integrate with APIs. Postman has become na all in one tool which handles all things API related. For advanced users, it even offers useful features like automation and collaboration. Even if you are getting started in web development, and need to call various APIs, it is a valuable tool.
Sublime Merge #
You may not need a git GUI, but for code reviews and cherry picking commits, sublime merge can save a bunch of time - a tool created by the same people at sublime text which is a popular IDE.
Summary and download links #
|NVM||Node Version Manager||link|
|Postman||API development tool||link|
|iTerm2||MacOS Terminal Replacement||link|
|ohmyz||Framework for managing your Zsh configuration||link|
|Sublime merge||Git GUI||link|