What is the best OS for web development? (Community Protip)
The following is a community driven protip, intended for helping others who browse-to or google this topic. This means anyone can contribute to this protip via the comments, but only information that is helpful is posted in the article.
Over the years I have heard all sides of this argument, saying that, "<platform name>
is the best for this or that reason." In an effort to clear the fog of what is best for your type of development, this article lists the differences in each platform in relation to general web development.
The competing operating systems are: iOS, Linux, & Windows
The sections below are listed alphabetically to avoid the appearance of favoritism
Cross-Platform Features
- Most languages can be developed on any platform
- Most IDE's and other developer tools are cross-platform (within reason)
- All Platforms (that I know of) can use Git
- Most platforms have the ability to run another platform along-side or within themselves, in some way. (Usually via a 3rd party application)
iOS Features
- Almost everything is visually well polished
- Many things are not free
- Can use Photoshop
- Is POSIX
- Installs programs via GUI by default (moderate - fast)
- Many useful applications pre-installed with some bloatware
- Upgrades major version every few years (easily installed)
- Few servers use this platform, but it is closely related to the most commonly used platform.
Linux Features
- Most things are open source (aka free-for-developers)
- Has a "sink or swim" learning curve (aka not typical-user friendly)
- Has a dozen Photoshop alternatives, but no Photoshop
- Is POSIX
- Typically installs programs via CLI by default (fast)
- Some useful applications pre-installed with minimal bloatware, if any.
- Typically upgrades major version every 1 or 2 years, occasionally less. (easily installed)
- Most servers use some variation of this platform
Windows Features
- Most products/services are designed for this platform
- Has many security issues
- Can use Photoshop
- Is not POSIX
- Installs programs via GUI by default (slow)
- Few useful applications pre-installed. Unless you install the OS, it always has a lot of bloatware.
- Upgrades major version two or three times in a decade, occasionally more/less. (pain in the *** almost every time)
- Some servers use this platform
Conclusion
I personally prefer Linux (specifically Ubuntu). The ability to have a development environment identical or nearly identical to the production environment is priceless. Because I know my command line's pretty well, I don't mind using them. I especially like the ability to upgrade the OS or even change the flavor of the OS with ease.
No matter what kind of development you do, you should always choose your OS based on how much it will benefit you; and not what ever is most convenient.
Thanks for reading
If you enjoyed what I wrote, consider upvoting this protip or endorsing me.
If you want to see more of my stuff, you can see other protips I have written or visit my profile.
Related protips:
Written by Nicholas Jordon
Related protips
13 Responses
In my experience, running a sandbox through something like Vagrant will give you everything you need in developing on an environment identical to the production machine(s). This gives you the benefit to then freely choose your OS as well as eliminating any risk of making changes on your dev machine that would affect how your code is run or the setup of the server itself.
Who is developing on iOS?
Why iOS instead of Mac OSX?
I've been web-developing for a while on Debian and haven't had a problem ever. My favorite IDE is Sublime Text, which is available for every OS. Whenever I need to try my stuff on IE, I simply open my windows virtual machine and that's it.
( mac brew, brew cask ) + ( parallel windows for ie or virtual box for all IE ) + ( vagrant for docker ), done you have the best in all worlds
if you developp web interface , it's a constraint to can't use the adobe solution.
Most of web design use it (you can use free alternative but sometime you don't want learn the wheel again and you want be able to work with psd files ...)
I 'm surprise to see most of developpers demo work on MacOS (iOS) (just look for a tutorial of web dev on youtube and you'll see)
I never use this OS and don't want, because a Mac OS is so expensive...
I don't want buy a >1000$ laptop just for code web applications or dynamic websites...
I look for an alternative between Windows and Linux and the only way i found is to have a Virtual Machine with Linux on it (ubuntu) but it's still constrain.
people can tell just using linux but it's not very friendly (and no adobe) in a corporate environement. (most using ged with Office (word, outlook, excel with long formula, pdf, ...), adobe, ... )
so i still lookin for a perfect solution between designer env, developper env., but not on a expensive hardware !!
Why are you looking at iOS when it's a mobile OS and Linux and Windows are PC OS. If you should compare the OS you will need to compare macOS, Linux, Windows.
I am personally a big fan of dual booting a Windows System with an Ubuntu partition. A close second is running a well configured VM inside Windows. It gives you the ability to still develop using Linux which I think is the better platform for Web development and still have access to all the top notch design software like Adobe photoshop, InDesign, and Illustrator. Plus still have access to Visual Studio for ASP.NET if you are into that sort of thing.
I am using dual booting a Windows System with an Ubuntu partition
Thank you for providing this information – I have found it most useful, Its really useful post on the Web Development Tools and Resources.
Regards,
Priya
I use Linux and MacOS. I like Linux all the more because its free.
good article
Here're my thoughts on the subject.
Windows
Clearly, it's the most most popular OS as for the market share. Besides, Windows-based devices are likely to be more affordable and configurable compared to iOS. But it won't do the trick for more sophisticated development like getting Docker containers to run. Linux, in this case, compares favorably with Windows. But Windows works just fine for simple and moderate web development.
Also, open source technologies should bridge the gap between the Windows and Unix based OSs.
MacOS
If you can afford Apple devices, I'd recommend to opt for this option. Build quality and flexibility of the BSD Unix are something to live for. Also, if you are a back-end web developer MacOS is close to Linux in terms of servers. Finally, one of the less known advantages is that MacOS PCs can run all major browsers for testing.
Linux
Linux is inescapable, with Android built on top of this OS. However, it's less popular than its aformentioned brothers. If you appreciate the OS to be free and need to quickly install everything you need for your dev environment, then Linux is definetely your choice.