Most of my development happens on a Linux-powered web server!
I have http://staticresource.com as a server running Ubuntu, and it's a special kind of server called a 'KVM' server, which means my server runs as a VM and I'm able to connect to the server hosting it via VNC (screen sharing) and watch it reboot :D I can also screen share with it and use it as a Linux desktop any time I need to test something in Linux or use linux-specific software, but for the majority of the time I'm just using it to serve websites.
I usually log in to that server via SSH so I can edit the projects I'm working on from any device I have to work on, and I'm able to preview the files I'm working on live online (on any/many devices) instantly. This has been a lot better for testing websites on different mobile devices, as well as being able to test sites I'm working on using online validation and testing tools than trying to work from localhost.
The other place I end up writing code is right on the device I'm working on. Usually just a throwaway test, technique, or a bit of code I'm preparing that later gets added to something else I'm working on!
So far:
Windows, some times Mac (especially for Swift, testing Safari and iOS). No VMs, everything is installed on local machine, I am not using even web servers anymore, for Node there is, well, node itself and for PHP - there is a built-in server as well. Windows 10 is a modern OS and there are no more problems installing whatever packages you need.
I also have own DigitalOcean with Linux and everything else I need sometimes to test and to make sure code will work on production.
Environment and infrastructure should be as simple as naturally possible. Any new team member should be able to start working on a project after only 5min and not wasting days on installing and setting up VMs or containers.
I currently just do it on a local machine, but I think I will be moving to a dockerized app for my next side project. I get pissed when I see that my local environment is different from the production environment. Let's assume that my application was hosted on Azure and I am suddenly out of credits and need to move to Digital Ocean. If I use docker, I don't have to go through the pain of setting up the environment, again.
At work I use Vagrant (which runs Virtual Box under the hood) and Docker. For side projects, I use the local machine, but I'm tempted to start using Docker for side projects as well.
I use Windows and Linux for development. However, most of the time, I have everything I need installed on the PC, so I do not use any additional VM. Everything is already in place, just as it has always been. No VM or container for me :)
Mostly local machine. Sometimes I use a remote one. No VM. A front-end developer in ClojureScript.
I use Virtual Box.
I continuously work on an extensive guide how to set it up: emilmoe.com/VirtualBox-For-Your-Web-Private-Serve…
I use virtual machines for developing. For deploying projects, I have some virtual machines that represent the real prod environment.
When I need a database, I use Docker to start one.
So for me, it's more a mix of Docker and virtual machines.
Tommy Hodgins
CSS & Element Queries
Abdo
Gergely Polonkai
You have to believe in things that are not true. How else would they become?
Depends on the project, and it's maturity.
Web project
Libraries, like an SDK
Desktop application