I’m wondering why RoR is currently pushing Devcontainers with technologies like: Docker and VsCode. There are alternatives like Incus which fits well and are more community-friendly. By the way, VSCodium also exists and offers a true alternative to VsCode
In my opinion, the way RoR is going forward (Kamal, Docker, …) sounds odd to me. Kind of sticking to “enterprise” bloated solutions. Why not pushing community-driven solutions instead?
I’m not an expert, but the devcontainers project seems to describe a standard interop that is already implemented by multiple non-proprietary tools and editors. The Supporting tools and services page says podman can be used instead of docker, for example.
If you’re frustrated that the documentation includes a how-to that uses docker and vscode as examples, maybe you would be willing to contribute docs that demonstrate how to run Rails using other tools?
Like @flavorjones said, DevContainers is not restricted with VSCode. DevContainers is an open specification that that allows containers to be used as a complete development environment with all tools necessary for the development lifecycle. it is a specification that can be used with any editor or IDE (although the integration with VSCode has the best support). Check some videos using other editors with DevContainers:
DevContainers is just a thin layer on top of a container technology (docker or podman) and the CLI just builds the whole environment based on your environment described on devcontainer.json and the editor just connect to the container.
I don’t use VsCode or fancy plugins, I like to be minimalist and I just use a basic Vim with few plugins and a bunch of open terminals. So this is great in terms of Unix philosophy (“do one thing and do it well”): with one extra CLI tool I can launch a dev environment, and then use docker or docker compose to manage/stop the docker processes.
Edit: I spoke too fast, port forwarding doesn’t currently work with the CLI (issue), so the Rails server is not accessible. This makes the CLI of limited utility for now.
I had a quick glance at the DevContainers specs.
Look at the footer => this spec is powered by an only-one company and not a common one, merely the infamous Micro$oft corporation itself (which owns VsCode, Github, Copilot, Docker… and so on)
In my opinion, the Rails community should never rely on or even trust this “evil forever” corporation. I forecast this is a pitfall, and it won’t take too long to be ashamed of.
According to me, when M$ own the product and tools and write its own specification pretending it is an “open” standard, it always ends up as a treachery.
Remember the awful standardization of the OOxml specification a few years ago.
Microsoft believes its own format should be adopted. It has presented this argument on its “community web site”, a site owned and operated by Microsoft.