I start my journey into web development world using Windows and the popular XAMPP at the time. Years ago, as a beginner, I wonder why, why they do web development on Linux? Even my first job as a developer, when I got the laptop from the company, that’s running on Ubuntu 10.04.
Most of the servers use Linux
Though some of them are using Windows server too. But, as far as I know, most of them use Linux.
Just take a look at both AWS EC2 instance and Digital Ocean droplet. Most of them always offering the Linux, and then Ubuntu as the server’s operating system.
So, it just makes sense if we, developers, build our web application on our laptop using Linux OS too. This will help us to run our application in a development environment that looks similar to that of the live server’s environment.
Linux is open source
Everyone can see its source code. Everyone in the community can watch it, modify it, and see the changes and updates on the codes. Unlike Windows Server, at that time, which is a proprietary operating system built by Microsoft, everyone can spot changes and updates on the codes.
This means if something is going rogue or something is causing a problem, many eyes will notice it sooner. Then, the community can take necessary actions to deal with it, to prevent further damages on the users.
This leads to the next reason.
We can use most of Linux distribution for free (though not all of them are free). For example, we can use Ubuntu without paying license fees for this distribution (reference: https://ubuntu.com/licensing)
Not only that, most of the web development technologies run on Linux like PHP, MySQL, Ruby, PostgreSQL are also open source.
This means there is no need to pay the license to use those tools. However, by participating in the development of such tools is appreciated. Consider it as the way we pay back to the community for such great tools they offered.
Almost all the tools are created for Linux
Not only web development technologies I have listed here, but the supporting tools are also originally created for Linux.
SSH which stands for the secure shell to go into the server directly and do some operations there as we do on our local terminal.
SCP – I often use this “secure copy” tool to copy a file from the server to my local terminal, from server to another server, or just uploading the file from local to the server.
Vim. The standard text/code editor, also originally created for Linux.
Other supporting libraries like ImageMagick are also running well on Linux. Most of the computation involved with image manipulation will require this ImageMagick package.
Supported by community
Most of Linux distribution is supported by the community. What does it mean for you?
It means the Linux OS we use will get keep updated for certain periods. Even if the version updates had been discontinued, it’s easy to “upgrade” to the next version.
I begin my journey on Ubuntu 10.04, and now I had updated it to Ubuntu 18.04.
The updates itself often runs smoothly. But, as usual, there may be some problems with compatibility on older libraries.
Yet, the solution is simple. As long as the maintainer of those libraries still maintains it, we can just update it to the newer version.
Then, as usual, it’s our job as a developer to adjust the codes as necessary to adapt to this new upgrade.
As long as the purpose of using Linux is for web development, I don’t see any significant drawbacks other than some compatibilities issues after each major upgrades.
It’s another story if you need to do something else with your laptop.
Personally, I use both MacOS Mojave on MacBook Air and Ubuntu 18.04 on Dell.
However, currently, I often feel it’s kind of overkill. Here are why:
Some years ago, most of the time I work, I mostly open two or three applications only: terminal, browsers (either Firefox or Chrome), and Gedit or Textmate if I am on Mac.
Since the introduction of CloudIDE like Cloud9, and most of the client’s projects are moving there, now I mostly open only one application on the laptop: the web browser . Sometimes, I even feel an entry laptop or Chromebook can do this.
Well, for those who plan to pursue a job as a web developer, using Linux, especially a popular distribution like Ubuntu, will help to lower the barrier.
Though Ubuntu is getting heavier and heavier, most of entry to a moderate level laptop should be able to run it.
Before you plan to buy a high-end laptop like MacBook Pro, consider this fact: that most of the web development now can be done through Cloud IDE.
Even with just my simple calculation, the cheapest MacBook Air on sale which is $1,215, is still much more expensive compared to old Cloud9 pricing at $19 per month.
You need to use that old Cloud9 for at least 64 months (5+ years) to make the cost comparable to that of the cheapest MacBook Air.
Now that old Cloud9 had moved to AWS Cloud9, I saw the potential of its cost is getting cheaper. As an alternative, another cool Cloud IDE Repl.it, cost you only $7/month for unlimited workspaces.
You get the idea why sometimes I feel my laptop is now a bit of overkill. With those Cloud IDE service, you can even use your PC or laptop that’s running on Windows to develop web on Linux.
Just fire up the Cloud IDE on the Firefox, Chrome or any of your favorite browser. Even better: I can run Cloud9 on my Samsung tab which runs on Android.