Coding in a Web Browser!

Intro to web IDEs

Learning Tools

Microsoft learning tool

JS, .NET, SQL, Regex, Elasticsearch, Python, R, GCC, Clojure, Logo, BF, Rust, Go, PHP, Scala, C++

REPLit - (Read-eval-print-loop)

52 Options, including Java, Lua, Rust, Haskell, Swift, Dart, etc

About 80 different languages (frontend/documents/coding)

click to edit

Streamlined web development. Code, then share website directly.

click to edit

Classic Website

Node.js

React Static Site Generator

Eleventy Static Site Generator

Self hosted alternatives, or pick your own cloud provider

Interviewing Tools

Free Cloud machine, start with source repo, web IDE

Collaboration-centric web tool for desktop IDE, includes collaborative code editing in web

click to edit

AWS Cloud9

GitPod

GitHub Codespaces

Google Cloud Shell Editor

The "notebook" for data or visualization sharing

Jupyter notebooks

GitPod and GitHub Codespaces in a little more detail

Demos

Questions?

Comparing GitPod and GH CS. Comparison Chart

GitPod available to everyone, Codespaces in Beta

GitPod has published Pricing, Codespaces free while in beta but may cost money

click to edit

GitPod has free tier, Codespaces free in beta, unknown in the future

GitPod:Use VS Code or Theia(deprecated) - Codespaces uses VS Code

GitPod connects to GitHub/GitLab/Bitbucket - Codespaces is GitHub-only

What do they BOTH do?

VS Code extensions

iPad Support

VNC Support (if your docker container contains VNC server)

GitHub integration

Your repo's environment can be customized

Codespaces - local VS Code can connect to codespaces - GitPod local companion is in preview, but currently less robust

Codespaces supports Live Share - GitPod lacks support but workspace some sharing options exist

GitPod can be self-hosted or hosted in GCP, Codespaces is linked to their own cloud services (presumably Azure, but not configurable).

Gitpod can open any repo in a browser by prefixing the URL with gitpod.io/# - I'm not aware of Codespaces being able to do this by default

Can a whole development team use this? Does it need to be purchased individually?

Both services appear to support using them and paying for them as a team, but I'm considering that out of scope for my session. My experience has been using the product as a single user, though I encourage anyone to open my public repos in GitPod/Codespaces if I've configured them.

Questions to ask before trying a web/cloud IDE

What am I coding? -- Certain programming languages have products tailored to them. Example: Jupyter Notebooks

Who am I coding with? -- Live Share is an option on Codespaces, though you may both need to be in the beta.

Where is my code? -- GitPod can connect to GitLab/Bitbucket, Codespaces cannot.

What is my output? -- If you're just trying a language for the first time, there may be a simplified REPL available for experimentation

Why am I using this? -- If there's a specific goal, like coding interviews, a specific product may be available.

When am I coding? Do I want to use it right away? --Codespaces is in a beta where you can request an invite, but GitPod is available right now

Do I have specific cloud credit to burn? -- Some services allow for putting the virtual machines in specific branded clouds, or simplified interfaces for cloud tools.