Microsoft Windows, a popular consumer operating system, can be a capable platform for web developments. There are three hidden tricks to make that happen: utilize a package manager, use a powerful code editor, and run Linux within Windows.
Debian and Ubuntu users love apt-get, macOS fans swear by Homebrew (though Nix is gaining traction). What about the poor fellow who is using Windows? Fortunately, there is a Windows package manager called Chocolatey. Managing tools and applications on Windows become much much less painful with Chocolatey. Once it is installed, a lot of packages are available at your disposal. Want to install Chrome, Firefox, Node.js, OpenJDK, and Python in one go? Just run this:
choco install googlechrome firefox nodejs zulu python
Brew a cup of tea, and once you are back, all of those are installed, ready to be used. There are thousand packages available for Chocolatey, most of them are quite fresh (for instance, Node.js v7.6 was available for Chocolatey a few hours after the release was officially announced). Keeping your installation up-to-date and secure is easy as
choco upgrade all, no more hassle of hunting down the updates for each and every application. For more information on Chocolatey, please read its extensive documentation.
Doing web development without a powerful code editor will be disastrous. Fortunately, there are many choices available for this, from a commercial IDE (e.g. WebStorm) to an open-source lightweight editor (e.g. Vim). Full-featured IDEs such as Eclipse or NetBeans can be configured to handle the usual tasks of web development. On the other hand, there is a growing number of non-IDE code editors suitable for the typical development activities: Sublime Text, Atom, Visual Studio Code, and many more.
My favorite these days is Visual Studio Code (of course, it is installable via Chocolatey). Beside being actively developed by Microsoft, this open-source code editor can be extended to support various development platforms, whether it is Python, Go, Ruby, PHP, C/C++. C#, F#, Nim, Elixir, and even Java.
Last but not least, do not miss the opportunity of running Linux straight inside Windows, by using Windows Subsytem for Linux (WSL). For a detailed overview on WSL, read the blog post on its underlying technology. In a nutshell, this feature allows Windows to run unmodified Linux executables. In fact, when enabling WSL for the first time, you are installing and using Ubuntu with no modification whatsoever, exactly the same Ubuntu system if you would have installed on a blank machine. Don’t like Ubuntu? Use WSL-Distribution-Switcher to choose between a dozen other distributions, from the trusted OpenSUSE to the rock-solid Debian.
WSL is extremely powerful because a whole new ecosystem of Linux libraries, tools, and utilities are now a few clicks away. Can’t find the Windows equivalent of a tool that you like? Don’t bother, just use the (original) Linux version thereof. Need to verify a server-centric setup? Just provision this Ubuntu-inside-Windows to replicate the environment. Again, no emulation and no recompilation are necessary.
What is your own secret trick to make Windows work for you? Please share it with us!