Windows for frontend developers

junho 26, 2017

If you’ve been working in the IT industry over the past couple of years, you’ve probably noticed that many developers now work on a Mac. This trend may be most obvious among people doing frontend web development.

The reason for this is quite simple: It may be true that doing frontend development in Windows has always worked, but it has also always been a bit clunky. Kind of like driving a car with manual window winders and poor sound insulation – it still takes you where you’re going, but it could have been done better.

In a way, this has cost Microsoft an entire generation of developers. But in recent years, the company has grown more open, and has started making moves on its lost generation.

Let’s take a look at the two most common tools as examples of how Microsoft has changed:

The text editor

The mandatory languages of the web – HTML, CSS and JavaScript – are very loosely typed. Large IDE’s such as Visual Studio or IntelliJ are adapted for strongly typed languages, but for plaintext this adaptation is sheer baggage that contributes nothing to the work. The underlying text management functionality is imperfect to say the least, often leading to poor performance.

The text editor focuses on performance, hotkeys and quick navigation. We’ve grown used to fuzzy finding: it’s enough to enter 3 to 4 characters to rapidly filter down to the file to be edited.

We’ve seen the number of pure text editors fluctuate in their popularity over the years. The first one was TextMate, followed by Sublime Text and then Atom. And all of them are at least as well supported for Mac as for Windows – except for TextMate, which was released for Mac only.

The latest on the scene is Microsoft’s Visual Studio Code, released in 2015. It’s free, it’s written in JavaScript, and really the only thing it has in common with Visual Studio is the colour scheme – plus it works just as well for Mac as it does for Windows.

The tool chain

It’s been many years since we wrote CSS and JavaScript that went straight into production unchanged. Both of these languages need to be “baked together” and minified, and we generally like to write them in preprocessor languages such as Sass/Less and TypeScript – or just compile ECMAScript 2015/2016 down to ES5 in order to support older browsers.

Some of these tools are written in Ruby, although by now most of them are written in JavaScript – all of them developed primarily for a UNIX shell.

And Mac is the clear choice if you want to run a sensible graphical interface on top of UNIX. That’s just the way it is.

And Microsoft has caught on. Finally, you might say: in BUILD 2016, they released a bomb: Windows Subsystem for Linux, a porting not only of the Bash shell, but of the entire Ubuntu environment, which can now run on top of Windows. All you have to do is install it as a Windows component.

This autumn things will get even simpler on that front, when the Windows Store releases first Ubuntu, followed up by SuSE and Fedora. The integration with Windows will also be getting a much-needed makeover – it is starting to look downright useful.

Windows for frontend developers

And that’s basically where we stand today. Microsoft has discovered that frontend developers don’t like Windows; they’ve learned why that is and have taken reasonable steps to fix it. It makes you want to shout out: “At last!”