Tools for Web Developers on Windows
Doing Web development on Windows may seem hard and a lonely path, especially for setting things up. When you ask questions on Google, you often see responses that only applies for Linux and Mac users.
If you can install Ubuntu (or other Linux distributions) on your computer, I strongly recommend to try it, you will learn many things. But if you need to stay on Windows, you are in the right place!
In this article, I will show you the tools I use to work on Windows, that help me to be as productive as when I work on Linux or Mac. I’ve tested everything on Windows 8 and 10 and it’s possible that it also works on previous versions of Windows.
The terminal
It is one of the best friend of the developers. And let’s be honest, Windows command line sucks! If you find any tutorial online, you will see solutions for Unix commands (Linux and Mac), never for Windows.
Fortunately, you can install Unix-like terminals that execute bash commands, such as:
Cmder is the tool I use, because I find it powerful and beautiful. Cmder allows you to run Unix commands, use tabs and copy paste easily. Furthermore, Cmder integrates nicely with Git and MongoDB.
Most of the Unix commands works. But some of them not and you should adapt a little (the $
means the beginning of a command line):
$ sudo my-command
: This means you should have administrator rights on Unix andsudo
is not working with Cmder. Most of the time, you should run Cmder with admin rights (“Right click on Cmder.exe icon” > “Open as administrator”) and just write$ my-command
$ cd ~/my/path
: The symbol~
(home) is not working. But if you do$ cd
, you will go to your home.$ open my-file-or-directory
: You should convert it to$ explorer my-file-or-directory
$ apt-get install my-packet
: This command allows you to install packet. Unfortunately there is no similar equivalent with Cmder and you need to adapt (see next part).
A last nice point with Cmder is that it allows you to create easily aliases, just by writing $ alias name=command
. You can find more information here.
Manage software on Windows
On the web developer journey, you often need to install new command lines on your terminal, but the instructions are often for Unix users.
Many tools have Windows installer. For example, if you try to install Node.js, you just need to execute their “Windows Installer” file, relaunch your terminal and you see that the commands$ node
now works.
Sometimes when you install a software, you have an executable but it is not recognized by your terminal. To solve this issue on Windows, you just need to add its directory to your Path (you can find an example here) and reopen your terminal. This is the case with MongoDB Community Edition, where you will probably need to add “C:\Program Files\MongoDB\Server\3.4\bin\” (the folder that contains “mongo.exe”) to your Path.
A more command line solution is Chocolatey. It helps you manage all aspects of Windows software (installation, configuration, upgrade, and uninstallation) directly in the terminal. For examples, you can simply type $ choco install docker
to install Docker or $ choco upgrade nodejs
to upgrade Nodejs. It’s a nice tool but unfortunately they are lots of packages that can’t be installed with Chocolatey.
Text editor
Most editors work on all OS and so this part is not specific to Windows. But because the editor is the tool you spend more time on as a developer, I found relevant to give you a list of the best ones for web development:
- Atom: A great editor with many packages and that can be easily customized. Its greatest downside is its performance issues that often make the experience not fluid. Try it only if you have a good computer.
- Sublime Text: A fast and flexible editor, with a huge community, that works quite similarly to Atom.
- Vim: A raw editor that takes time to master, but that can make you very fast and efficient.
- Visual Studio Code: A new editor developed by Microsoft, quite close to Atom. Its main advantages is IntelliSense, the best autocompletion tool I have ever seen.
Personnaly I was a Sublime Text user for a long time and I just switch to Visual Studio Code, because it is fast, simple to use, has many packages, integrates very nicely Git and has the most powerful autocompletion tool.
As we have seen, the main issue with Windows is having a good terminal and be able to install software and packages easily. But when you have it, working on Windows is the same as working on other OS.
I hope this article will help you to code seamlessly. Feel free to ask questions in comments if you still face some issue to work on Windows ;)