When comparing GitHub Codespaces vs Gitpod, the Slant community recommends Gitpod for most people. In the question“What are the best cloud IDEs?” Gitpod is ranked 9th while GitHub Codespaces is ranked 16th. The most important reason people chose Gitpod is:
Gitpod workspaces are very customizable. You can define a workspace with `.gitpod.yml` and define your own Dockerfile if you need tools that needs preinstalled automatically.
Ranked in these QuestionsQuestion Ranking
Pro Preferences are synced
Your Visual Studio local preferences and extensions are saved within GitHub, allowing you to use your configurations on the go.
Pro One-click experience
Designed to make contributing to a repository easier, all it takes to start the cloud IDE is its dedicated button within the repository page.
Pro Visual Studio Codespaces extensions works as-is
If you are a customer for Visual Studio Codespaces, your extension to control GitHub Codespaces will also work and you will be able to use your Visual Studio Code to interact to the Codespace instead of using the Web IDE if need be.
Pro Extensible and configurable
Borrowing from its bigger sister, Visual Studio Codespaces, which is also based on Visual Studio Code, any VS Code extensions work outside the box, no gotchas.
Pro Customizable environments
Environments can be customized in the user-level or the repository using a container declaration file, allowing the environments to be tailored according to the user and the target project
Pro Customizable Workspaces
Gitpod workspaces are very customizable. You can define a workspace with
.gitpod.yml and define your own Dockerfile if you need tools that needs preinstalled automatically.
Pro Open Source to the core
Gitpod is a Web IDE product by TypeFox, which created Theia, a open source IDE framework. They rely on Kubernetes, Docker, Theia, and Let's Encrypt to provide this service - providing a 100% OSS-based SaaS.
Pro Workspaces are created from GitHub URLs
Any GitHub repository can be prepended with
https://gitpod.io# to define a Gitpod workspace. Here's an example of it.
Pro VNC Support
Gitpod has VNC support out of the box, which allows you to test Desktop apps within the cloud.
Pro Pre-authorized Git Client
This is the only GitHub-based Web IDE that pre-authorizes the git client, saving you time to do setup.
Pro GitHub Pull Request Issues Comments are viewable on the IDE
No need to jump tabs when making needed changes for your GitHub Pull Request. Gitpod supports viewing the comments and resolving those through the IDE - so you can resolve comments without ever needing to mark it resolved manually on GitHub.
Pro Automatic Configuration
If your GitHub repositories does not have a manifest to make a stack, Gitpod will attempt to make a stack based on what it understood about your codebase. However, for popular projects, a central repository on GitHub exists to configure a workspace automatically for them without the manifest file to be present.
Pro Language Server Protocol support
LSP is a standard made by Microsoft to create a single common core that can be consumed by a development tool. Theia is based on Visual Studio Code and supports LSP natively.
Con Limited to GitHub
As this is a GitHub Product, do not expect it to work with the likes of GitLab or BitBucket. If you want to use third party VCS providers, you might want to use Visual Studio Codespaces instead.
Con Limited to 5 Codespaces instances
GitHub Codespaces currently limits you to 5 concurrent working codespaces. You have to delete another to start another codespace.
Con Early-Access Software
Currently invite-only, expect GitHub Codespaces to have some bugs until its GA release.
Con Does not create forks automatically for you
If you make a Gitpod workspace based on a GitHub repository you do not own,
git push will fail and you need to query the Git client to make the fork for you.
Con Can be slow on 3G Networks
The crux of this is because of the large
bundle.js that is needed to be transferred, this is a problem within Theia.
Con Packages can't be installed through the CLI
Gitpod doesn't support
apt installs yet due to the container mounting through an NFS. To alleviate this, you need to define a custom stack for your project if you need it.