James Tikalsky

Ephemeral Developer Environment Setup

Code Editor

In networked computing, we say "if the program is smaller than the data it operates on, move the program (across the network) to the data. If the data is smaller, move the data to the program." Where we draw that line between "the program" (i.e. the data that is the program itself: the binary blob, any required configuration, etc.) and the data gets quite fuzzy when we start thinking about code editors, because we have to draw a line between what the programmer needs locally, and what can stay remote.

In an ephemeral developer environment setup, we need to decide whether to include a project-configured code editor as part of the environment, provide just the project meta-data that the developer's editors can use, or something else. Here's a list of editors, and a few notes on how to get them working in an ephemeral environment.

Code Mirror 6. "CodeMirror is a versatile text editor implemented in JavaScript for the browser." "CodeMirror 6 is a rewrite of the CodeMirror code editor. It greatly improves the library's accessibility and touchscreen support, provides better content analysis and a modern programming interface." I found this interesting project through CodeSandbox, an online IDE of sorts.

Gateway by JetBrains

GitHub Codespaces

StackBlitz WebContainers

Glitch

Replit

There are a lot more, obviously, I'm just getting started on this.

What people are saying about serverless development

A *magical* AWS serverless developer experience and the comments on Hacker News

Why local development for serverless is an anti-pattern by Gareth McClumskey

Miscellania

GitHub normalized project setup scripts