Developer(s) | EclipseSource, Ericsson, Red Hat, STMicroelectronics, TypeFox |
---|---|
Initial release | March 2017 |
Stable release | |
Repository | github.com/eclipse-theia |
Written in | TypeScript |
Type | Programming tool, Integrated development environment |
License | Eclipse Public License 2.0 (EPL2) or GNU General Public License, version 2 (GPLv2) with the classpath exception [2] |
Website | https://theia-ide.org/ |
Eclipse Theia is an Eclipse open source project providing the Theia Platform and the Theia IDE.
The Eclipse Theia Platform is a free and open-source framework for building IDEs and tools based on modern web technologies. [3] Theia-based applications can be deployed as desktop and web applications. [4] It is implemented in TypeScript, reuses parts of Visual Studio Code, and emphasizes extensibility. [5] [6] [7]
The Eclipse Theia IDE [8] is a modern and open IDE for cloud and desktop. The Theia IDE is based on the Theia platform.
Theia was originally developed by TypeFox and Ericsson, and continually receives contributions from EclipseSource, Red Hat, IBM, Google, Arm Holdings as well as from individual contributors. [9] [10] It was first launched in March 2017. [11] Since May 2018, Theia has been a project of the Eclipse Foundation. [12] Eclipse Theia is now considered to be the next generation Eclipse Platform for tools and IDEs [13] .
Theia is built on the Language Server Protocol (LSP) and supports a variety of programming languages. [14] It can be used as a desktop application, a web application, or a hybrid application with separate front and back ends. All of Theia's features are implemented as extensions, which allows third-party developers to modify Theia's functionality by using the same application programming interfaces (APIs) as the application's default components. [15] Theia's layout consists of draggable docks. [15] [16] Theia is compatible with Visual Studio Code extensions. [17]
Theia is a free and open-source software project under the Eclipse Foundation and is licensed under the Eclipse Public License 2.0 (EPL2). [18]
Eclipse Che uses Eclipse Theia as its default IDE starting from version 7. [19]
In September 2018, the online IDE Gitpod was released which was based on Theia. [20] (In 2021, Gitpod switched to Visual Studio Code. [21] )
Arduino IDE 2.0 is based on Eclipse Theia, replacing the Processing-based IDE. [22]
In January 2019, JAXenter, a website and blog about coding, [23] ranked Theia as the third-most popular JavaScript integrated development environment of 2018 according to GitHub metrics, behind Visual Studio Code and Atom. [24]
An integrated development environment (IDE) is a software application that provides comprehensive facilities for software development. An IDE normally consists of at least a source-code editor, build automation tools, and a debugger. Some IDEs, such as IntelliJ IDEA, Eclipse and Lazarus contain the necessary compiler, interpreter or both; others, such as SharpDevelop, NetBeans do not.
Eclipse is an integrated development environment (IDE) used in computer programming. It contains a base workspace and an extensible plug-in system for customizing the environment. It is the second-most-popular IDE for Java development, and, until 2016, was the most popular. Eclipse is written mostly in Java and its primary use is for developing Java applications, but it may also be used to develop applications in other programming languages via plug-ins, including Ada, ABAP, C, C++, C#, Clojure, COBOL, D, Erlang, Fortran, Groovy, Haskell, JavaScript, Julia, Lasso, Lua, NATURAL, Perl, PHP, Prolog, Python, R, Ruby, Rust, Scala, and Scheme. It can also be used to develop documents with LaTeX and packages for the software Mathematica. Development environments include the Eclipse Java development tools (JDT) for Java and Scala, Eclipse CDT for C/C++, and Eclipse PDT for PHP, among others.
Arduino is an Italian open-source hardware and software company, project, and user community that designs and manufactures single-board microcontrollers and microcontroller kits for building digital devices. Its hardware products are licensed under a CC BY-SA license, while the software is licensed under the GNU Lesser General Public License (LGPL) or the GNU General Public License (GPL), permitting the manufacture of Arduino boards and software distribution by anyone. Arduino boards are available commercially from the official website or through authorized distributors.
The following tables list notable software packages that are nominal IDEs; standalone tools such as source-code editors and GUI builders are not included. These IDEs are listed in alphabetic order of the supported language.
TypeScript is a free and open-source high-level programming language developed by Microsoft that adds static typing with optional type annotations to JavaScript. It is designed for the development of large applications and transpiles to JavaScript. Because TypeScript is a superset of JavaScript, all JavaScript programs are syntactically valid TypeScript, but they can fail to type-check for safety reasons.
Mbed is a development platform and real-time operating system (RTOS) designed for internet-connected devices that utilize 32-bit ARM Cortex-M microcontrollers. These internet-enabled devices are often categorized under the Internet of Things (IoT) umbrella. The Mbed project is a collaborative effort led by Arm Holdings, in partnership with various technology companies and contributors.
The Chromium Embedded Framework (CEF) is an open-source software framework for embedding a Chromium web browser within another application. This enables developers to add web browsing functionality to their application, as well as the ability to use HTML, CSS, and JavaScript to create the application's user interface.
Codename One is an open-source cross-platform framework aiming to provide write once, run anywhere code for various mobile and desktop operating systems. It was created by the co-founders of the Lightweight User Interface Toolkit (LWUIT) project, Chen Fishbein and Shai Almog, and was first announced on January 13, 2012. It was described at the time by the authors as "a cross-device platform that allows you to write your code once in Java and have it work on all devices specifically: iPhone/iPad, Android, Blackberry, Windows Phone 7 and 8, J2ME devices, Windows Desktop, Mac OS, and Web. The biggest goals for the project are ease of use/RAD, deep integration with the native platform and speed."
Atom was a free and open-source text and source code editor for macOS, Linux, and Windows with support for plug-ins written in JavaScript, and embedded Git Control. Developed by GitHub, Atom was released on June 25, 2015.
Electron is a free and open-source software framework developed and maintained by OpenJS Foundation. The framework is designed to create desktop applications using web technologies that are rendered using a version of the Chromium browser engine and a back end using the Node.js runtime environment. It also uses various APIs to enable functionality such as native integration with Node.js services and an inter-process communication module.
B4X is a suite of rapid application development IDEs and proprietary programming language that allows the creation of applications on the following platforms: Google Android, Apple iOS, Java, Raspberry Pi and Arduino. Although the B4X syntax is very similar to BASIC, it is an entirely new language.
Eclipse Che is an open-source, Java-based developer workspace server and Online IDE. It includes a multi-user remote development platform. The workspace server comes with a flexible RESTful webservice. It also contains a SDK for creating plug-ins for languages, frameworks or tools. Eclipse Che is an Eclipse Cloud Development (ECD) top-level project, allowing contributions from the user community.
DBeaver is a SQL client software application and a database administration tool. For relational databases it uses the JDBC application programming interface (API) to interact with databases via a JDBC driver. For other databases (NoSQL) it uses proprietary database drivers. It provides an editor that supports code completion and syntax highlighting. It provides a plug-in architecture that allows users to modify much of the application's behavior to provide database-specific functionality or features that are database-independent. This is a desktop application written in Java and based on Eclipse platform.
The Language Server Protocol (LSP) is an open, JSON-RPC-based protocol for use between source code editors or integrated development environments (IDEs) and servers that provide "language intelligence tools": programming language-specific features like code completion, syntax highlighting and marking of warnings and errors, as well as refactoring routines. The goal of the protocol is to allow programming language support to be implemented and distributed independently of any given editor or IDE. In the early 2020s LSP quickly became a "norm" for language intelligence tools providers.
An online integrated development environment, also known as a web IDE or cloud IDE, is a browser based integrated development environment. An online IDE can be accessed from a web browser, such as Firefox, Google Chrome or Microsoft Edge, enabling software development on low-powered devices that are normally unsuitable. An online IDE does not usually contain all of the same features as a traditional desktop IDE, only basic IDE features such as a source-code editor with syntax highlighting. Integrated version control and Read–Eval–Print Loop (REPL) may also be included.