It's a lot easier to work with 8GB of RAM when your IDE uses 1GB to be a thin client instead of 4GB (this was roughly my experience using Jetbrains Gateway vs native PHPStorm).
Another option I considered is Sublime, but it seems a lot of its extensions that I'd need are not very up to date.
I'm in South Africa, with spotty electricity. I need a laptop that can sustain work for 4-6h without charge without spending an extra arm. Anything non-Apple that does this competes on the top end range, not entry level.
Cheaping out on hardware here just means I need to buy bigger backup batteries, so either way I need to spend a ton of money if I really want to avoid Apple that much.
- People who don't own a computer, e.g. university students who only use the school's computers (or K-12 students even), but who still want their editor settings to be automatically saved and used, and who don't want to deal with installing things on the computers they use (or can't install things).
- People who own multiple computers and who don't want to deal with syncing configuration such as installed tools, editor settings, etc.
Onboarding with a remote setup like this can be very quick. Or really — the same tech (devcontainers) can be used locally just as easily with many of the same benefits. The onboarding/dev setup is reduced to building a few containers and getting the code. You don’t have to locally install packages or worry about incompatible versions of tools.
The remote aspect is available because it’s very easy for Microsoft to do with VSCode as an Electron app. Sadly, they are making it more difficult for anyone outside of vscode.dev to have a remote install without using their “tunnel”.
People who own a computer but prefer the iPad form factor, (taller aspect ratio is nice for code), and like having a portable 120Hz whiteboard, and arent afraid of operating said computer remotely via the iPad.
I tried it a year or two ago and I had issues with the keyboard shortcuts (had to disable keyboard shortcuts on ipados) and scrolling behaviour. I seem to recall having other issues with safari and the local files but it’s been a while.
I’m not in a place I can try it out, but if it works then that would open up remote web development.
I do web dev casually with it all the time via a vpn to my server back home and the inspect app for debugging
If you save it as a shortcut to your Home Screen, it almost comes across as a native app.
https://vscode.dev/theme/jaredkent.laserwave
It gives you a workspace with a handful of sample files to see various syntax highlighting bits. You can just about put any Theme extension ID in the marketplace after /theme/.
If you've got Settings Sync on, you get the see the theme in the context of your usual window layouts and some other things that interact with themes.
No install, no download, no need to switch back after you are done previewing it, just a quick easy URL to link.
For instance changing configuration files on a infra oriented repo, tweaking SQL on an ETL service, updating a internal library etc.
If those changes can be done in a quick and compact way, with the CI dealing with running the test, staging and release process, an online editor is the fastest approach.
This is the hinge. You're in the world of people who see this as opposition technology, as something opposed to your control.
But what about everyone else? How many different chaotic absurd onboarding tech systems do various companies have? We never had a good onboarding at my last job, my current job has two or three various onboarding paths - mine is a fairly fully featured Ansible and it works great but most existing devs piss upon automating our 30+ services & make their newbies go do everything by hand, including asking for .env files over slack again and again and again.
I think there's a general intransience-ness, a stuckness, that many devs have. They see cloud and automation as an enemy of what they know. But they are just stuck, unwilling to grasp for power, unwilling to figure out how to scale themselves & their world wider. It's not that manual slow systems afford better control, it's just that there's a colossal bias against getting better & newness that most people - including devs, those who should fight for mightierness - should be grasping for.
I'm also of the belief that every on-boarding is a great opportunity to improve the process, update documentation, etc. You have this person that knows absolutely nothing about your processes/environment. They're going to ask lots of questions, those should be written down and placed in your KB so your not relying on tribal knowledge as much.
The most annoying thing in their setup (which may differ from this one) was that some shortcuts would be captured by the browser, so I closed the whole thing multiple times with Ctrl + W while relying on muscle memory.