Code Monkey home page Code Monkey logo

theia-workshop's Introduction

Workshop: Building Cloud and Desktop IDEs with Theia

Theia is the new star on the dev tools sky: with Theia, you can write your own IDE-like applications that run as desktop tools as well as in the browser. Theia is web-native, entirely written in Typescript, and offers a degree of customizability similar to Eclipse RCP. It is an open-source Eclipse project, backed by companies like TypeFox, Ericsson, ARM, RedHat, Google, IBM and SAP.

In this workshop, you’ll get acquainted with the base architecture of Theia, you will learn how to compose existing building blocks to author your own specialized IDE, and you will see how to implement your own extensions.

Exercises

The workshop consists of several exercises, starting from learning how to build and run Theia applications and ending with developing react-jsonschema-form Theia extension. For each exercise, there are 2 branches in the repository: one with an exercise and another with a solution. The solution for exercise 3 is the final solution.

Getting started

During the workshop, you will use Theia-based Online IDE for GitHub - Gitpod. To start with the exercises you only need a modern browser. For the best experience, please use Chrome. You can open any branch on GitHub by prefixing its URL with gitpod.io#. For example, to open Gitpod for the exercise 0:

In this exercise, you learn:

  • the structure of a Theia extension project;
  • how to create a Theia application, build and run it;
  • how to configure a Theia extension with dependency injection.

In this exercise, you learn how to add a new widget to the shell and get familiar with widget's lifecycle.

In this exercise, you learn basics of React and how to integrate it.

In this exercise, you learn how to access file models and connect them with widgets.

theia-workshop's People

Contributors

akosyakov avatar spoenemann avatar

Watchers

James Cloos avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.