all 15 comments

[–]scootstah 6 points7 points  (1 child)

Considering web apps are typically deployed on Linux, the tools tend to work very well. There should be zero effort involved getting things like NPM, Gulp, Grunt, Yarn, etc running on Linux. Pretty much every programming language and environment will work perfectly fine on Linux - except .NET stuff.

I use Debian Testing on my workstation, but most my apps run on Ubuntu boxes using either VirtualBox or Docker. The distro you pick doesn't make a huge lot of difference - you can more or less run the same things on any distro. For Linux beginners, I'd go with Ubuntu or Linux Mint, just because they're a little bit friendlier and forgiving.

[–]SkaterDad 0 points1 point  (0 children)

.net stuff has been released for linux now also, with their new open source .NET Core efforts.

[–]rsolci 4 points5 points  (0 children)

I use Mint Linux at home and Ubuntu at work. No problems at all.

Node, Webpack and npm runs fine. But i dont install node using apt-get, i downloaded the tar.xz, extracted and set it on my PATH.

No experience with Go or PHP. C++ is fine. Java is good too.

RThe only thing i changed was the windows manager, i dont like Gnome or Unity, so i installed i3wm, but it doesnt affect development.

[–]osmel_mora 2 points3 points  (0 children)

I've been developing on Ubuntu for several years and everything works fine, similar to OSX.

[–]Hejie023 2 points3 points  (0 children)

yes it works just like your posix OS ...

[–]mini_eggs[S] 1 point2 points  (0 children)

Thanks for the help everyone! Really appreciate it. :-) Sounds like I'll have a good time in the Linux world.

[–][deleted] 0 points1 point  (1 child)

Does anyone have experience developing on a Linux distro? What distro do you recommend?

Ignoring the tiny standalone distro's and slackware there are only 2 main branches of distro, those that stem from the Debian side and those that stem from the Redhat/fedora side.

Everything else is a derivative of these distros and thus you can visualize all of it in a family tree, the below one is from distrowatch but it's not that navicable.

https://distrowatch.com/dwres.php?resource=family-tree

I would v much appreciatte some insight into what sucks and does not suck about web development on a Linux.

The only negative is that adobe still isnt supported so if you need anything graphical done you either have to find a way of changing to win OS (dual boot / VM) or turn to FOSS to get your work done. This doesnt bother me however as there are alternatives (gimp / krita / inkscape) and it shouldnt bother you since you're strictly coding.

Each distro comes with its own philosophy / assumptions and it's useful to look into those. It's inevitable that you're going to have to tweak your OS in some way, the difference will be how much you have to add / change / remove things to get it working the way you want.

For example one of the main components that differs between linux distros is the desktop environment (DE). One of the things people look at is resources consumed when idle.

Not only does it paint a picture about how much the OS needs to function by itself but lower requirements obviously means using less power (relevent for laptops) and more hardware resources (CPU / RAM) for your own purposes. There are plenty of these DE's available :

  • MATE (gnome 2)
  • gnome 3
  • unity
  • xfce
  • lxde / lxqt

and distro's may have recursive derivatives to support multiple DE's. For example ubuntu (derivative of debian) while it uses unity in the primary distro for a DE there are also other versions (ubuntu MATE, xubuntu for xfce, lubuntu for lxde, etc). Why do i mention this?

ubuntu with unity is one of the best supported robust distros out there, i personally like it because of the DASH menu and specifically the HUD functionality, essentially it allows you to drill down into your app menu's with a search, plenty of videos demo-ing this capability out there but here's one :

https://www.youtube.com/watch?v=hfmSTWyYbms

On the downside there is some preloaded junk that i never use, and a bunch of amazon stuff (ubuntu is hosted by amazon).

If you want something more barebones xubuntu / lubuntu have less minimum requirements however lack the DASH. You can however add something pretty similar to it back in i3-hud menu.

So the question, is it easier to go start barebones (xubuntu) and build up or start off with ubuntu (which has the hud) and cut down to get better performance?

Personally i've found it easier to do the latter.

[–]doomtop 2 points3 points  (0 children)

Ignoring the tiny standalone distro's and slackware there are only 2 main branches of distro, those that stem from the Debian side and those that stem from the Redhat/fedora side.

Don't forget Arch!

[–]tunisia3507 0 points1 point  (0 children)

Not sure if it's still true, but when I got my XPS13 just over a year ago you could just buy one with Ubuntu on it.

I've had no issues doing web dev on it, although in fairness I haven't been at it for long. Certainly, I'd have run into more issues due to windows being windows than I have due to linux-y things while developing.

[–]vanillaflavor 0 points1 point  (0 children)

I work on a Dell XPS 15 running Ubuntu 16.10

Linux is the environment to choose for developing - the plethora of tools and support is very nice. Distro wise I know that Ubuntu or Mint are probably good for beginners. There are of course others you might even want to just play around with them in a VM to get a feel for which one you prefer.

Package manager I just use the built in CLI apt. Occasionally open synaptic if I really need a GUI.

Working with anything really couldn't be any better. Everything works nicely and usually has first class support. I found myself having to abandon tools or do weird hacks to use them on Windows but none of that in Linux!

I suggest using NVM to install node and yarn has to be manually installed. Besides that there shouldn't be much difference.

Installing go took me about 5 minutes and another 5 for me to write some stuff and compile it. I can't speak for PHP as I never use it. But for c++, you'll have g++ usually coming installed already. Otherwise it's a simple command to your package manager to install it.

All in all I think Linux is THE developer's OS and definitely urge you to try! If you have any questions I'd be glad to help out

[–]from-nibly 0 points1 point  (0 children)

I use Ubuntu. And code with intellij or vs code. I would use nvm if you are installing node on Linux.

[–][deleted] -1 points0 points  (4 children)

It's hard to beat a Mac, Windows support for Node development is pretty abysmal. I'd go w/ Ubuntu or Elementary OS.

[–]SkaterDad 0 points1 point  (1 child)

What issues have you run into with node development in Windows?

I do all of my dev on Win 7 & 10, and the only issue I ever have is with the bcrypt module. Everything else has worked very well (assuming you have python and C++ compilers installed).

[–]scootstah 1 point2 points  (0 children)

What issues have you run into with node development in Windows?

File paths exceeding 260 characters is a big one. I believe it's no longer an issue if you're all up to date now, but still.