<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>Forem: Sven Efftinge</title>
    <description>The latest articles on Forem by Sven Efftinge (@svenefftinge).</description>
    <link>https://forem.com/svenefftinge</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F118823%2Ff46f3cbe-ec88-4ccf-be31-f06490aa1bc9.jpeg</url>
      <title>Forem: Sven Efftinge</title>
      <link>https://forem.com/svenefftinge</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://forem.com/feed/svenefftinge"/>
    <language>en</language>
    <item>
      <title>Theia 1.0 - Finally a Good Browser IDE</title>
      <dc:creator>Sven Efftinge</dc:creator>
      <pubDate>Tue, 31 Mar 2020 08:49:03 +0000</pubDate>
      <link>https://forem.com/svenefftinge/theia-1-0-finally-a-good-browser-ide-3ok0</link>
      <guid>https://forem.com/svenefftinge/theia-1-0-finally-a-good-browser-ide-3ok0</guid>
      <description>&lt;p&gt;We are excited to announce Version 1.0 of Eclipse Theia, the vendor-neutral open-source IDE platform that runs in browsers and on desktops.&lt;/p&gt;

&lt;h1&gt;
  
  
  Single Source for Browser and Desktop
&lt;/h1&gt;

&lt;p&gt;&lt;a href="https://theia-ide.org"&gt;Theia&lt;/a&gt; is a unique IDE platform that supports building desktop and web-based IDEs from the same codebase. Therefore, as an adopter, you don't need to make an upfront decision about whether your new developer product should run in the cloud, on the desktop, or both.&lt;/p&gt;

&lt;h1&gt;
  
  
  Not Your Parents’ Browser IDE
&lt;/h1&gt;

&lt;p&gt;Theia is the first browser-based IDE platform that supports all the latest programming language smartness in a depth similar to your local IDE. &lt;/p&gt;

&lt;p&gt;First-generation online IDEs such as Cloud9 have paved the way towards browser-based development. However, keeping up with the plethora of programming languages and frameworks that modern desktop IDEs support has always been an uphill battle. This can be solved by growing a massive community of extension developers, or hiring an army of developers like JetBrains, but both are extremely hard to achieve and sustain in the long run.&lt;/p&gt;

&lt;p&gt;Theia solves this problem differently by leveraging the largest and most active IDE-extension community on the planet.&lt;/p&gt;

&lt;h1&gt;
  
  
  Theia Runs VS Code Extensions
&lt;/h1&gt;

&lt;p&gt;The VS Code team has done a great job of creating a protocol-based IDE extension model that runs all extensions in a light-weight sandbox process. Theia natively supports the &lt;a href="https://github.com/microsoft/vscode/blob/master/src/vs/vscode.d.ts"&gt;VS Code extension protocol&lt;/a&gt;. This means you can install any of the 16,000+ existing extensions developed by the open-source community in Theia.&lt;/p&gt;

&lt;p&gt;Adding this level of VS code extension support to Theia has been a lot of work and took us two years. But leveraging this flourishing community just made so much sense that we knew it was worth it.&lt;/p&gt;

&lt;p&gt;Unfortunately, Microsoft prohibits non-Visual Studio products from installing any binaries downloaded from their marketplace (see &lt;a href="https://cdn.vsassets.io/v/M146_20190123.39/_content/Microsoft-Visual-Studio-Marketplace-Terms-of-Use.pdf"&gt;terms&lt;/a&gt;). &lt;/p&gt;

&lt;p&gt;Considering that most extensions are open-source and not developed by Microsoft, that’s a pretty sad state of affairs. &lt;/p&gt;

&lt;p&gt;This limitation not only affects Theia and all of its downstream adopters, but also releases based on the open-source code of VS Code, such as &lt;a href="https://github.com/VSCodium/vscodium"&gt;VS Codium&lt;/a&gt;. Fortunately, we have a solution.&lt;/p&gt;

&lt;h1&gt;
  
  
  Open VSX
&lt;/h1&gt;

&lt;p&gt;&lt;a href="https://github.com/eclipse/openvsx"&gt;Open VSX&lt;/a&gt; is an open-source implementation of a VS Code extension registry that we have developed under the umbrella of the Eclipse Foundation. A publicly hosted version of it is available at &lt;a href="https://open-vsx.org"&gt;open-vsx.org&lt;/a&gt; and is currently in beta. With Open VSX we want to create a public registry for open-source VS Code extensions, accessible for everyone. We also want to enable organizations to host their own registries within their private networks - a long &lt;a href="https://github.com/microsoft/vscode/issues/21839"&gt;demanded feature&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;We encourage VS Code extension developers to push their extensions to Open VSX in addition to Microsoft's marketplace.&lt;/p&gt;

&lt;h1&gt;
  
  
  Who is Using Theia?
&lt;/h1&gt;

&lt;p&gt;Theia is used by TypeFox, Ericsson, RedHat, IBM and in many other organisations across the industry: &lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Theia powers &lt;a href="https://www.gitpod.io"&gt;Gitpod&lt;/a&gt;'s &lt;a href="https://dev.to/svenefftinge/continuous-dev-environments-the-next-step-in-devops-4ab7"&gt;continuous development environments&lt;/a&gt;. You can &lt;a href="https://gitpod.io/#https://github.com/eclipse-theia/theia"&gt;try opening Theia in Theia&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;Google runs Theia as the editor in the &lt;a href="https://cloud.google.com/shell/docs/viewing-and-editing-files"&gt;Google Cloud Shell&lt;/a&gt;, &lt;/li&gt;
&lt;li&gt;Arduino's new &lt;a href="https://www.arduino.cc/pro/arduino-pro-ide"&gt;Pro IDE&lt;/a&gt; is based on Theia , &lt;/li&gt;
&lt;li&gt;SAP have &lt;a href="https://blogs.sap.com/2019/10/15/showcasing-sap-business-application-studio-the-next-generation-of-sap-web-ide/"&gt;replaced their Web IDE&lt;/a&gt; with Theia , &lt;/li&gt;
&lt;li&gt;Arm's new &lt;a href="https://os.mbed.com/studio/"&gt;mbed Studio&lt;/a&gt; is based on Theia,&lt;/li&gt;
&lt;li&gt;D-Wave Systems have adopted Gitpod which allows anyone to &lt;a href="https://support.dwavesys.com/hc/en-us/articles/360043804213-Introducing-Leap-2"&gt;do quantum computing with Theia&lt;/a&gt;, and&lt;/li&gt;
&lt;li&gt;the Eclipse Che team has &lt;a href="https://che.eclipse.org/eclipse-che-7-extending-developer-workspaces-to-run-vs-code-extensions-in-the-cloud-cbe97e11d4d4"&gt;replaced&lt;/a&gt; their previous GWT-based IDE with Theia.&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;Ericsson deserves an extra mention here, as they have initiated the project together with us from TypeFox and have been fully supporting the effort from the first day.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;So why does Theia see so much adoption? &lt;/p&gt;

&lt;h1&gt;
  
  
  Flexible Architecture
&lt;/h1&gt;

&lt;p&gt;We have designed Theia, so that adopters can change it in very fine-grained ways without the need to patch or fork the core project. Leveraging dependency injection and a modularization that splits the whole application into individual npm packages provides the degree of freedom a product developer needs.&lt;/p&gt;

&lt;p&gt;Good examples for highly customized products are Arduino’s Pro IDE and Arm’s Mbed Studio.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--lsJXYexp--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/brvhco1vh45t2lr47i9a.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--lsJXYexp--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/brvhco1vh45t2lr47i9a.png" alt="arm's Mbed Studio"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h1&gt;
  
  
  Vendor-Neutral Open Source
&lt;/h1&gt;

&lt;p&gt;While the technical flexibility helps adopters to build the tool they need, Theia’s vendor-neutral governance at a well-established Open-Source foundation is equally important. The &lt;a href="https://www.eclipse.org/org/documents/"&gt;Eclipse Foundation&lt;/a&gt; provides adopters with the assurance that the project doesn't go away and evolves in a well-documented and business-friendly manner.&lt;/p&gt;

&lt;h1&gt;
  
  
  Community
&lt;/h1&gt;

&lt;p&gt;Most of our adopters are also regular contributors to the project. TypeFox, Ericsson, and RedHat even have dedicated teams working on Theia full-time. Today Theia counts 1k forks, &lt;a href="https://star-history.t9t.io/#eclipse-theia/theia"&gt;over 7,3k stars&lt;/a&gt; and the &lt;a href="https://spectrum.chat/theia"&gt;community forum&lt;/a&gt; is growing every day.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--DM0Mu4pQ--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/myrmc2h73pwwfjablrim.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--DM0Mu4pQ--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/myrmc2h73pwwfjablrim.png" alt="Star growth on GitHub"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h1&gt;
  
  
  Contributions Made Easy
&lt;/h1&gt;

&lt;p&gt;The Theia project uses Gitpod to provide contributors and maintainers with a ready-to-code development environment. Creating a Pull Request on a software project has never been so easy — you can get a fully prebuilt dev environment within seconds, and you don't need to clutter your local machine as everything runs in a browser tab. The same works for code reviews, when you open a Gitpod workspace from a Pull Request.&lt;/p&gt;

&lt;p&gt;Lowering the friction for contributors has a tremendous impact as we are waking up to high-quality pull requests from new contributors daily. (By the way, you can find other such contributor-friendly open-source projects at &lt;a href="https://contribute.dev"&gt;contribute.dev&lt;/a&gt;.)&lt;/p&gt;

&lt;h1&gt;
  
  
  Summary
&lt;/h1&gt;

&lt;p&gt;With Theia, we finally have a no-compromise, browser-based developer experience without the typical short-comings of first-generation browser IDEs. Theia runs on any modern device such as tablets, Chromebooks, and, of course, your powerful developer machines.&lt;/p&gt;

&lt;p&gt;We are releasing Version 1.0 to tell the world that Theia is ready for prime time. As outlined above, it has already been adopted by many, and we are looking forward to seeing what you will build with Theia.&lt;/p&gt;

&lt;h1&gt;
  
  
  Acknowledgments
&lt;/h1&gt;

&lt;p&gt;A 1.0 release is the perfect opportunity for a shout-out to some of the key people who have helped to make Theia what it is.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Anton Kosyakov architected and authored huge parts of Theia and is the go-to person for anyone in the community. His dedication ensures that Theia stays technically healthy and sane. Thank you!&lt;/li&gt;
&lt;li&gt;Marc Dumais co-leads the project with me and is taking care of a lot of the formalities. I'm especially thankful for his consistency in getting all the paperwork done that was required to move the project to the Eclipse Foundation.&lt;/li&gt;
&lt;li&gt;Dominique Toupin kicked off the project with me when he was still working at Ericsson. He believed in Theia from the first second, and without his support, it wouldn't exist.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;There are, of course, many more, who have put their passion and time in getting Theia to where it is today. Instead of naming everyone here, I am pointing to the &lt;a href="https://github.com/eclipse-theia/theia/graphs/contributors"&gt;top 100 contributors&lt;/a&gt; list on GitHub.&lt;/p&gt;

&lt;p&gt;Thank you all and keep up the awesome work!&lt;/p&gt;

</description>
      <category>productivity</category>
      <category>vscode</category>
      <category>opensource</category>
      <category>devops</category>
    </item>
    <item>
      <title>Continuous Dev Environments - The Next Step in DevOps</title>
      <dc:creator>Sven Efftinge</dc:creator>
      <pubDate>Thu, 15 Aug 2019 06:20:40 +0000</pubDate>
      <link>https://forem.com/svenefftinge/continuous-dev-environments-the-next-step-in-devops-4ab7</link>
      <guid>https://forem.com/svenefftinge/continuous-dev-environments-the-next-step-in-devops-4ab7</guid>
      <description>&lt;p&gt;&lt;a href="https://en.wikipedia.org/wiki/DevOps" rel="noopener noreferrer"&gt;DevOps&lt;/a&gt; has been all the rage for the last couple of years. Today, something like GitHub / GitLab with Continuous Integration seems to be the absolute minimum for a decent development toolchain.  Such tools allow faster feedback cycles, better reproducibility, and generally more productivity.&lt;/p&gt;

&lt;p&gt;However, in one crucial aspect most of us are still wasting endless hours every day:&lt;/p&gt;

&lt;p&gt;Getting our dev environments into a ready-to-code state is usually still done manually, wasting an endless amount of precious developer time and energy.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Dev environment provisioning can and should be automated.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;&lt;strong&gt;Continuous dev environments&lt;/strong&gt; are a crucial part in a fully optimized DevOps toolchain, that allow to instantaneously spin up a ready-to-code development environment from any git state. Continuous dev environments reduce friction in onboarding and task switching and improves reproducability across the project.&lt;/p&gt;

&lt;h2&gt;
  
  
  Automated Dev Environments
&lt;/h2&gt;

&lt;p&gt;Automating dev environments is not new and usually focusses on the initial setup, but that doesn't quite cut it. Of course, we all have felt the pain of being on-boarded in a new project, spending the first week figuring out what tools to install and how to configure them correctly. Manually setting up a dev environment is a waste of energy. Surprising that we do such things, given that we developers are usually busy automating everything else in the world.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fthepracticaldev.s3.amazonaws.com%2Fi%2Ff0etywjpum2im8kqm76u.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fthepracticaldev.s3.amazonaws.com%2Fi%2Ff0etywjpum2im8kqm76u.jpg" alt="automated dev environments"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;But it is not only the one-off onboarding I want to discuss. Our projects change over time, and so do our dev environments. Developers are switching between different versions of a project. They, therefore, have to adjust parts of the dev environment accordingly, all the time.&lt;/p&gt;

&lt;p&gt;We should automate dev environments using code, just as we do with testing, staging and production environments for continuous deployments.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;When a developer wants to start a task, on some branch, in some project, she should be able to do so without spending hours of getting into the right environment.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;h2&gt;
  
  
  Disposable Dev Environments
&lt;/h2&gt;

&lt;p&gt;Automating a dev environment means we can recreate it any time. Starting fresh every time will make sure the setup works correctly and that you get a clean state. Since the build and the tests ran through and the dependencies are all fresh, you can be sure that any problems come from your changes. Such a setup makes it super easy to reproduce bugs, as well.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fthepracticaldev.s3.amazonaws.com%2Fi%2Fi3q6blfvwtq5am9bwjbi.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fthepracticaldev.s3.amazonaws.com%2Fi%2Fi3q6blfvwtq5am9bwjbi.jpg" alt="disposable dev environments"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Moreover, a use-once dev environment frees you from cleaning up afterward. You never pollute your local system with any heavy checkouts, dependencies, builds, databases, and the like. Enter zero-waste coding.&lt;/p&gt;

&lt;p&gt;It's almost 2020 and we understand that automating complex systems through code and configuration is vital. Now, let's apply those lessons learned to our dev environments.&lt;/p&gt;

&lt;h2&gt;
  
  
  Prebuilt Dev Environments - No More Waiting for Builds!
&lt;/h2&gt;

&lt;p&gt;Initial setups are annoying, but the real time sink is &lt;a href="https://www.gitpod.io/blog/prebuilds" rel="noopener noreferrer"&gt;waiting for builds&lt;/a&gt;. Compilers, generators, downloading dependencies, and running tests need to be executed to initialize your dev environment.&lt;/p&gt;

&lt;p&gt;Just like CI tools that build your project after you have submitted a change, a continuous dev environment service builds your project &lt;strong&gt;before&lt;/strong&gt; you need it. That way you can start on a clean state immediately.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;A tool for providing continuous automated dev environments should prebuild your project, so you don't have to wait.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;&lt;a href="https://www.gitpod.io" rel="noopener noreferrer"&gt;Gitpod&lt;/a&gt; prebuilds your branches continuously, so that you can start coding immediately without having to wait for builds to complete. Starting a new dev environment and seeing belows output in the terminal makes me smile every time.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fthepracticaldev.s3.amazonaws.com%2Fi%2Fkfknh92fuydcswjo7iyd.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fthepracticaldev.s3.amazonaws.com%2Fi%2Fkfknh92fuydcswjo7iyd.png" alt="🍌 This task ran as part of a workspace prebuild. 🎉 You just saved 5 minutes of watching your code build."&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Browser-based Dev Environments?
&lt;/h2&gt;

&lt;blockquote&gt;
&lt;p&gt;"Browser-based? I need professional tools!"&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Yes, I hear you. Until recently, browser-based tools haven't been as powerful as what we use locally.&lt;/p&gt;

&lt;p&gt;But times have changed. Today, &lt;a href="https://theia-ide.org" rel="noopener noreferrer"&gt;we can run a VS Code compatible IDE in a browser tab&lt;/a&gt; together with complete terminals to dedicated Linux containers. And everything is specially configured for your project.&lt;/p&gt;

&lt;p&gt;The Theia IDE open-source project is fully configured with continuously prebuilt dev environments. You can try it out yourself by clicking the link below.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;a href="https://gitpod.io/#https://github.com/theia-ide/theia" rel="noopener noreferrer"&gt;https://gitpod.io/#https://github.com/theia-ide/theia&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fthepracticaldev.s3.amazonaws.com%2Fi%2Fy5ium1evh6wewcltyfch.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fthepracticaldev.s3.amazonaws.com%2Fi%2Fy5ium1evh6wewcltyfch.png" alt="Theia IDE"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  But my environment is different than those from my teammates!
&lt;/h2&gt;

&lt;p&gt;Yes, of course, there are personal preferences like themes, keybindings, or even one or the other tool. Some developers heavily use command-line tools and have very advanced configurations. Others use particular VS Code extensions that improve their workflow significantly.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fthepracticaldev.s3.amazonaws.com%2Fi%2Fi9i7vpt2zqtkdss6n4sr.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fthepracticaldev.s3.amazonaws.com%2Fi%2Fi9i7vpt2zqtkdss6n4sr.jpg" alt="Share with others"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Why don't we share all that goodness within the team?&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;While &lt;a href="https://www.gitpod.io" rel="noopener noreferrer"&gt;Gitpod&lt;/a&gt; lets you have user-specific settings, we see an opportunity in sharing the wisdom within the team to &lt;strong&gt;&lt;em&gt;build a perfect, friction-free setup for everyone&lt;/em&gt;&lt;/strong&gt;. This way, you can share your impressive terminal skills and configuration with your team, and you might learn a new thing or two as well.&lt;/p&gt;

&lt;h2&gt;
  
  
  The missing piece in DevOps
&lt;/h2&gt;

&lt;p&gt;I'm pretty sure, automated ready-to-code dev environments will become mainstream. The advantages and implications are just too good to be ignored. Everyone who has understood and experienced the benefits of a proper DevOps toolchain should understand how providing dev environments on-demand completes that experience. Ironing out that last area of non-reproducible and very annoying yak-shaving should be high on our todo list as it will improve developer productivity drastically.&lt;/p&gt;

&lt;p&gt;Gitpod.io is a Saas service and is available &lt;a href="https://www.gitpod.io/pricing" rel="noopener noreferrer"&gt;to open-source projects for free and affordable for commercial projects&lt;/a&gt;. &lt;a href="https://www.gitpod.io/pricing#enterprise" rel="noopener noreferrer"&gt;Gitpod Enterprise&lt;/a&gt; will soon be released, allows self-hosting Gitpod on any Kubernetes cluster, and integrates with GitHub Enterprise, GitLab, Jenkins, Jira and other tools in your DevOps toolchain.&lt;/p&gt;

&lt;p&gt;This post has first been published on &lt;a href="https://www.gitpod.io/blog/continuous-dev-environment-in-devops/" rel="noopener noreferrer"&gt;gitpod.io&lt;/a&gt;.&lt;/p&gt;

</description>
      <category>devops</category>
      <category>docker</category>
      <category>productivity</category>
      <category>showdev</category>
    </item>
    <item>
      <title>Your Favorite VS Code Extension in an Online IDE</title>
      <dc:creator>Sven Efftinge</dc:creator>
      <pubDate>Mon, 05 Aug 2019 07:05:57 +0000</pubDate>
      <link>https://forem.com/svenefftinge/your-favorite-vs-code-extension-in-an-online-ide-3en5</link>
      <guid>https://forem.com/svenefftinge/your-favorite-vs-code-extension-in-an-online-ide-3en5</guid>
      <description>&lt;p&gt;Today, we are excited to announce the start of our public beta phase for VS Code extensions in &lt;a href="https://www.gitpod.io"&gt;Gitpod&lt;/a&gt;, the next generation cloud IDE.&lt;/p&gt;

&lt;p&gt;So far Gitpod supported the mainstream languages like JavaScript, Java, Python, Ruby, Rust, C++ and Go, but many others weren't covered yet. With today's release, we have added support for installing any of the 10K+ existing extensions for VS Code. Finally, Scala, Swift and F# developers will feel at home in Gitpod, too.&lt;/p&gt;

&lt;h2&gt;
  
  
  Part of Your Project’s Configuration
&lt;/h2&gt;

&lt;p&gt;Gitpod automatically creates fresh, disposable dev environments on demand. Unlike traditional dev environments which you setup once and then have to maintain over time, you get a fresh one for every task. Therefore any installed extensions would normally be gone when discarding the workspace.&lt;/p&gt;

&lt;p&gt;That’s because a Gitpod dev environment is tailored and optimized for the project at hand. I might work on multiple different projects, e.g. a Scala project as well as some Node.js projects. Why should I need to have the Scala extension in all my projects?&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Traditionally you would maintain one bloated editor for all your projects or alternatively maintain multiple per project.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Gitpod solves this problem for you by providing a small configuration that is part of your git history. This includes information about dependencies, start up tasks and now also lists the extensions needed for the project at that point in time (version).&lt;/p&gt;

&lt;p&gt;Here is how it works:&lt;/p&gt;

&lt;h2&gt;
  
  
  Installing an Extension
&lt;/h2&gt;

&lt;p&gt;Installing extensions is a matter of dragging and dropping a *.vsix file into the extension view. Gitpod will automatically install and activate the new extension, and add an entry to the .gitpod.yml file. You can now test the experience and if you are happy with it share this new experience with your team by pushing the change to your remote Git repository.&lt;br&gt;
Here’s a small screencast:&lt;/p&gt;

&lt;p&gt;&lt;iframe width="710" height="399" src="https://www.youtube.com/embed/hEqmXM62cjo"&gt;
&lt;/iframe&gt;
&lt;/p&gt;

&lt;h2&gt;
  
  
  Where Do I Find Extensions?
&lt;/h2&gt;

&lt;p&gt;Microsoft prohibits the direct use of the &lt;a href="https://marketplace.visualstudio.com/vscode"&gt;Visual Studio Marketplace&lt;/a&gt; for any other software but their own. Although most extensions are open-source and not even developed or maintained by MS, the access to the Marketplace is restricted.&lt;br&gt;
However, if you have the &lt;code&gt;.vsix&lt;/code&gt; file available, you can upload the extension yourself. &lt;code&gt;.vsix&lt;/code&gt; files are not only available from the Visual Studio Marketplace but can be found on GitHub as well, e.g. &lt;a href="https://github.com/prettier/prettier-vscode/releases"&gt;prettier-vscode&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;An extension only needs to be uploaded once and is available for you and your teammates afterwards. Please make sure you comply with the licenses of those extensions.&lt;br&gt;
Additionally, of course, you can develop and upload your own extensions. They won’t be listed anywhere publicly except in your own &lt;code&gt;.gitpod.yml&lt;/code&gt; file.&lt;/p&gt;

&lt;h2&gt;
  
  
  Your extension doesn't work as expected?
&lt;/h2&gt;

&lt;p&gt;Covering the full API surface of VS Code extension is a huge task and the Theia community has been working hard on that for over a year now.&lt;/p&gt;

&lt;p&gt;As we are approaching 100% coverage of the implementation it is time to expose this feature to more users. Which is why we decided to make it available as a beta feature to the Gitpod community.&lt;/p&gt;

&lt;p&gt;So if you want to help us hardening this exciting new feature, please try your favorite extensions and &lt;a href="https://github.com/theia-ide/theia/issues/new"&gt;submit issues on the Theia project&lt;/a&gt; for anything that you think needs improving.&lt;/p&gt;

&lt;p&gt;Happy coding!&lt;/p&gt;

</description>
      <category>vscode</category>
      <category>github</category>
    </item>
    <item>
      <title>Introducing Gitpod – Frictionless Coding on GitHub</title>
      <dc:creator>Sven Efftinge</dc:creator>
      <pubDate>Mon, 08 Apr 2019 06:46:55 +0000</pubDate>
      <link>https://forem.com/svenefftinge/introducing-gitpod-frictionless-coding-on-github-397g</link>
      <guid>https://forem.com/svenefftinge/introducing-gitpod-frictionless-coding-on-github-397g</guid>
      <description>&lt;p&gt;Every day developers waste millions of hours switching contexts between projects and branches, setting up development environments, or simply waiting for builds to complete.&lt;/p&gt;

&lt;p&gt;This friction is not only time consuming but is a serious barrier for contributors. Reading through a long list of setup instructions and messing up your own laptop is just too much effort.&lt;/p&gt;

&lt;p&gt;Today, we are happy to announce the launch of &lt;a href="https://gitpod.io" rel="noopener noreferrer"&gt;Gitpod.io&lt;/a&gt;, an online service that provides disposable, ready-to-code development environments for GitHub projects.&lt;/p&gt;

&lt;h2&gt;
  
  
  One-Click Dev Environments for GitHub
&lt;/h2&gt;

&lt;p&gt;Here's how Gitpod works: You are on GitHub and want to start working on a project. Instead of going through the manual setups, etc. you simply click a button to start a ready-to-code dev environment in your browser. You can now code, review, or just try out the project. Once you are done you simply close the tab.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fthepracticaldev.s3.amazonaws.com%2Fi%2Frqbhmyoic23uzmaw300t.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fthepracticaldev.s3.amazonaws.com%2Fi%2Frqbhmyoic23uzmaw300t.png" alt="GitHub button"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Don’t see the button on GitHub yet? You need to &lt;a href="https://www.gitpod.io/docs/20_Browser_Extension" rel="noopener noreferrer"&gt;install a small browser extension&lt;/a&gt; to get it. Alternatively, you can just prefix any GitHub URL with “&lt;a href="https://gitpod.io/#%E2%80%9D" rel="noopener noreferrer"&gt;https://gitpod.io/#”&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;You can try Gitpod right now. It's free for public repositories.&lt;/p&gt;

&lt;h2&gt;
  
  
  No Setup
&lt;/h2&gt;

&lt;p&gt;Not all projects are equal. We maintain a &lt;a href="https://github.com/gitpod-io/workspace-images/blob/master/full/Dockerfile" rel="noopener noreferrer"&gt;developer friendly docker image&lt;/a&gt; that includes all the commonly used tools and version managers. But you can point to your own docker image in a &lt;strong&gt;.gitpod.yml&lt;/strong&gt; file. Gitpod will pick it up and even build the image if needed. Read &lt;a href="https://www.gitpod.io/blog/docker-in-gitpod" rel="noopener noreferrer"&gt;Gero's post&lt;/a&gt; for more details.&lt;/p&gt;

&lt;p&gt;With Gitpod, contributors don’t need to go through a list of usually outdated setup instructions. Instead, they get exactly what they need for the project at hand with no additional effort. As a side-effect, any "works-on-my-machine" scenarios are eliminated, because every team member uses the same working setup on the same kind of machine in the cloud. Since the &lt;strong&gt;.gitpod.yml&lt;/strong&gt; is versioned with the code, going back to old releases and branches becomes super easy, too. We call this &lt;a href="https://dev.to/blog/dev-env-as-code"&gt;dev environment as code&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;To optimize the experience, the &lt;strong&gt;.gitpod.yml&lt;/strong&gt; accepts &lt;a href="https://dev.to/docs/40_Configuration"&gt;further configuration&lt;/a&gt;, where you can automatically start builds, watchers and dev servers in multiple terminals. You can configure how they appear in the IDE layout and hook up all your web ports and previews.&lt;/p&gt;

&lt;p&gt;As a project owner you should do everything you can to streamline the experience for contributors, so everybody including yourself can focus on being creative and writing code. Gitpod lets you automate the setup and make sure developers can access a dev environment that really is ready to code.&lt;/p&gt;

&lt;p&gt;A great example is &lt;a href="https://github.com/ssloy/tinyraytracer/wiki" rel="noopener noreferrer"&gt;ssloy's tinyraytracer project&lt;/a&gt;. It's a tutorial for raytracing in C++ and is configured so it runs the build and automatically opens the rendered graphics. The author has even added Gitpod buttons to individual steps in the tutorial to make following along easier.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fthepracticaldev.s3.amazonaws.com%2Fi%2F5iz76lxsulimj6qoh71e.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fthepracticaldev.s3.amazonaws.com%2Fi%2F5iz76lxsulimj6qoh71e.png" alt="Tinyraytracer"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Less Waiting
&lt;/h2&gt;

&lt;p&gt;There is an additional bit of friction that every developer has to go through regularly:&lt;/p&gt;

&lt;p&gt;Running the build and downloading dependencies.&lt;/p&gt;

&lt;p&gt;Starting today, &lt;a href="https://github.com/marketplace/gitpod-io" rel="noopener noreferrer"&gt;the new Gitpod app is available on the GitHub marketplace&lt;/a&gt;. It is the first of its kind and the only one in the new IDE category.&lt;/p&gt;

&lt;p&gt;Once you've installed the app for your GitHub repository, it will pre-build dev environments on every commit. So when anybody opens a Gitpod environment on your project, the dev environment is opened as described above. But now also the build ran through and all dependencies are already there.&lt;/p&gt;

&lt;p&gt;We call this feature prebuilt workspaces and you can read more about it in &lt;a href="https://www.gitpod.io/blog/prebuilds" rel="noopener noreferrer"&gt;Chris' post&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fthepracticaldev.s3.amazonaws.com%2Fi%2F4q8342azejren48asati.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fthepracticaldev.s3.amazonaws.com%2Fi%2F4q8342azejren48asati.png" alt="Prebuilt Workspaces"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  More Flow
&lt;/h2&gt;

&lt;p&gt;Your dev environment opens differently depending on the GitHub page you are coming from. You can, for instance, open branches or files by simply going to the respective GitHub page and pressing the button (or prefixing the URL) there.&lt;/p&gt;

&lt;p&gt;When coming from an issue, Gitpod understands you want to fix it, so you’ll get a fresh local branch and the commit message is prepared with a reference to the issue.&lt;/p&gt;

&lt;p&gt;Starting a workspace from a pull request will open in code-review mode. The list of changes is opened on the left so you can easily go through them and view the details in diff editors on the right. Of course, you can comment within the IDE and even submit your code review.&lt;/p&gt;

&lt;p&gt;Even if you prefer your local machine for development, being able to do &lt;a href="https://www.gitpod.io/blog/when-code-reviews-lgtm" rel="noopener noreferrer"&gt;deep code reviews&lt;/a&gt; in a browser is a great way to improve your workflow.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fthepracticaldev.s3.amazonaws.com%2Fi%2F6vmtl1fb5lfof6w374pa.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fthepracticaldev.s3.amazonaws.com%2Fi%2F6vmtl1fb5lfof6w374pa.png" alt="Inlined Code Review"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  A Complete IDE Running in the Cloud
&lt;/h2&gt;

&lt;p&gt;While Gitpod keeps the convenience and accessibility of online coding playgrounds and sandboxes, it is not a toy but a complete dev environment running in the cloud.&lt;/p&gt;

&lt;p&gt;We teamed-up with Google, Ericsson, Arm and Red Hat to develop the open-source project &lt;a href="https://theia-ide.org" rel="noopener noreferrer"&gt;Eclipse Theia&lt;/a&gt;. The project puts &lt;a href="https://code.visualstudio.com/" rel="noopener noreferrer"&gt;VS Code&lt;/a&gt;’s state-of-the-art technology and UX into the browser based on an extensible architecture that is optimized for the cloud.&lt;/p&gt;

&lt;p&gt;Gitpod already comes with several VS Code extensions pre-installed (such as Go support from Microsoft’s own extension). We will be adding more popular VS Code extensions shortly, and later allow users to define any extensions they want.&lt;/p&gt;

&lt;p&gt;In addition to one of the best code editors, Gitpod environments provide full featured terminals backed by Linux containers running in the cloud. As a result, you get the same command line tools you would use locally together with the hottest IDE tech available today. And all of that in a browser tab.&lt;/p&gt;

&lt;h2&gt;
  
  
  Collaboration
&lt;/h2&gt;

&lt;p&gt;Gitpod comes with two major features supporting collaboration.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;&lt;a href="https://www.gitpod.io/docs/33_Sharing_and_Collaboration" rel="noopener noreferrer"&gt;Sharing running dev environments&lt;/a&gt; with other users comes in handy if you want to look at code with a colleague to hunt down a bug together or do some pair programming. Collaborators will see the same code you see and even the terminals are synced and shared.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;a href="https://www.gitpod.io/blog/workspace-snapshots" rel="noopener noreferrer"&gt;Snapshots&lt;/a&gt; are useful in many ways. In a nutshell, they allow taking an immutable copy of your dev environment at any point in time. You can share the provided link wherever you want. Users opening such a snapshot link will get an exact clone of the environment including all state and even UI layout. This feature is great for sharing reproducibles in issues, but also good for blog posts or solutions on Stack Overflow.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fthepracticaldev.s3.amazonaws.com%2Fi%2Folbfzi8zkdz8qxyq6a8m.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fthepracticaldev.s3.amazonaws.com%2Fi%2Folbfzi8zkdz8qxyq6a8m.png" alt="Collaboration"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Pricing
&lt;/h2&gt;

&lt;p&gt;An important part of leaving the beta was to find a good pricing model that addresses the needs for the various user groups.&lt;/p&gt;

&lt;p&gt;We think we have found a good balance by providing the following individual subscription options:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;a &lt;strong&gt;free 100-hour per month plan&lt;/strong&gt; for open-source development&lt;/li&gt;
&lt;li&gt;a &lt;strong&gt;paid 100-hour per month plan&lt;/strong&gt; for individuals working privately&lt;/li&gt;
&lt;li&gt;a &lt;strong&gt;paid unlimited plan&lt;/strong&gt; for professional use&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;em&gt;(I know some of you are lucky enough to do professional open-source. Decide what works best for you in that case ;-))&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;We also offer &lt;strong&gt;team subscriptions&lt;/strong&gt;, which allow managers to buy a batch of seats and assign them to the team.&lt;/p&gt;

&lt;p&gt;And, of course, a special &lt;strong&gt;students discount&lt;/strong&gt; is in store, eligible if your primary GitHub URL belongs to an educational institution.&lt;/p&gt;

&lt;h2&gt;
  
  
  Thank You ❤️
&lt;/h2&gt;

&lt;p&gt;I want to take the opportunity to thank all the people who have helped to make Gitpod a reality: all the &lt;a href="https://twitter.com/JeremyJaydan/status/1096742668137246721" rel="noopener noreferrer"&gt;enthusiastic&lt;/a&gt; &lt;a href="https://twitter.com/RalfDMueller/status/1054079167841660928" rel="noopener noreferrer"&gt;early&lt;/a&gt; &lt;a href="https://twitter.com/doppelganger9/status/1088926330857680896" rel="noopener noreferrer"&gt;adopters&lt;/a&gt; who provided &lt;a href="https://github.com/gitpod-io/gitpod/issues" rel="noopener noreferrer"&gt;great feedback&lt;/a&gt; during the beta phase; contributors who have helped by identifying bugs and by sharing their use cases; and of course the &lt;a href="https://github.com/theia-ide/theia/graphs/contributors" rel="noopener noreferrer"&gt;Eclipse Theia community&lt;/a&gt; working with passion on an open-source IDE platform for the future.&lt;/p&gt;

&lt;p&gt;Furthermore, I want to thank Michael Bernstein from &lt;a href="https://www.reifyworks.com/" rel="noopener noreferrer"&gt;Reify&lt;/a&gt; for clarifying our messaging with us and Kelly Fitzpatrick and the rest of the &lt;a href="https://redmonk.com/" rel="noopener noreferrer"&gt;Redmonk&lt;/a&gt; team for their guidance and helpful feedback.&lt;/p&gt;

&lt;p&gt;Finally, of course, I want to send a big shout out to my friends at &lt;a href="http://typefox.io/about" rel="noopener noreferrer"&gt;TypeFox&lt;/a&gt;. You are absolutely awesome and being able to work with you on such a great product is everything I want.&lt;/p&gt;

&lt;p&gt;&lt;sup&gt;(This post was first published at &lt;a href="https://www.gitpod.io/blog/gitpod-launch/" rel="noopener noreferrer"&gt;https://www.gitpod.io/blog/gitpod-launch/&lt;/a&gt; on April 5th, 2019).&lt;/sup&gt;&lt;/p&gt;

</description>
      <category>github</category>
      <category>productivity</category>
      <category>opensource</category>
      <category>cloudide</category>
    </item>
  </channel>
</rss>
