Eclipsetheia

Eclipsetheia

Streamlining Contributions With EclipseTheia [email protected] EclipseCon Germany 2018 EclipseTheia Talk ● Developing today ● Cloud Development – Eclipse Theia ● Theia Development ● Deployement – Workspace managers 2/40 EclipseTheia Developing Today 3/40 EclipseTheia Developing Today ● Checkout the project ● Install the tools / Configure the tools ● Install dependencies ● Start contributing ● Rinse and repeat (⨉ projects ⨉ machines/users) 4/40 EclipseTheia Developing Today - More ● Use the correct Operating System ● Dependency collisions between projects? ● Not your habitual workstation? Have fun recreating something of an environment. 5/40 EclipseTheia What we would like to do ● Checkout the project ● Start contributing 6/40 EclipseTheia What we would like to do ● Removing contribution overhead ● It is about changing habits and the ways of working – Develop anywhere – No compromises 7/40 EclipseTheia Cloud Development 8/40 EclipseTheia Not a new concept ● vi over ssh (remote development) ● Cloud9 (proprietary) ● GitLab IDE (minimalist) ● JDT/CDT over remote desktop (lag) ● ... 9/40 EclipseTheia Theia 10/40 EclipseTheia Theia Framework ● Written in TypeScript ● Runs in the browser ● Server-side – Node.js ● Runs on your desktop – Electron 11/40 EclipseTheia Theia Features ● Code navigation – Code completion, go to definition, ... – LSP based ● Debugging – Breakpoints, step over/in/out – DAP based 12/40 EclipseTheia LSP/DAP? ● Language Server Protocol – Deep language understanding factorization ● Debug Adapter Protocol – Generic protocol to drive a debug session 13/40 EclipseTheia Theia Features ● Git support ● Terminal ● Tasks ● ... 16/40 EclipseTheia Theia Framework ● Extensibility – Extensions – Plugins 17/40 EclipseTheia Theia Application ● Composition of extensions – $ npm install <theia-extension> ● Two targets – “browser” (browser + Node.js server application) – “electron” (desktop application) 18/40 EclipseTheia Theia Development 19/40 EclipseTheia Theia Development ● Extensions (application build time) – Total control, rebinding of components, ... ● Plugins (runtime) – More rigid API via specific contribution points 20/40 EclipseTheia Theia Extensions ● Published as npm packages – $ npm search @theia/* ● Dependency injection – Add/Override any Theia component – InversifyJs 21/40 23 EclipseTheia Theia Extensions ● Various contribution points for extenders – Menus/Commands/Openers – Views/Widgets – Language Clients – TextMate Grammars – And more... ● Everything in the framework can be made as an extension 24/40 EclipseTheia Theia Plugins ● Self-contained (no dependency resolution) ● Runtime isolation ● Simple API 25/40 EclipseTheia Theia Plugins ● API can be extended by Extensions ● VS Code extensions compatibility underway 26/40 EclipseTheia Deployment 27/40 EclipseTheia Cloud? ● Cloud development requires infrastructure – Networked machines – Administration (docker/kubernetes, ...) – Teams to operate 28/40 EclipseTheia Docker ● Basic docker images available – github.com/theia-ide/theia-apps 29/40 EclipseTheia Gitpod ● TypeFox cloud development platform ● Checkout PR branch and review it ● Theia-based gitpod.io 30/40 EclipseTheia Eclipse Che ● RedHat cloud workspace manager ● Heavy-duty ● Theia-able www.eclipse.org/che 31/40 EclipseTheia Personal Use ● Remote – Workspace manager – Vanilla Theia application instance ● Local – Electron application 32/40 EclipseTheia Conclusion 33/40 EclipseTheia What does Theia change? ● Allows anyone to have its own IDE accessible from a browser ● Workspace managers can expose the IDE to work in the space 34/40 EclipseTheia Contributing now ● Contribute from (almost) anywhere ● Avoid setup overhead ● Focus on task at hand 35/40 EclipseTheia 36/40 EclipseTheia Contacts ● Presenter – Paul Maréchal: [email protected] ● Social – gitter.im/theia-ide/theia – github.com/theia-ide/theia/issues 37/40 EclipseTheia References ● github.com/theia-ide/theia ● eclipse.org/che ● gitpod.io 38/40 EclipseTheia Cue and Hay (Q&A) 39/40 .

View Full Text

Details

  • File Type
    pdf
  • Upload Time
    -
  • Content Languages
    English
  • Upload User
    Anonymous/Not logged-in
  • File Pages
    40 Page
  • File Size
    -

Download

Channel Download Status
Express Download Enable

Copyright

We respect the copyrights and intellectual property rights of all users. All uploaded documents are either original works of the uploader or authorized works of the rightful owners.

  • Not to be reproduced or distributed without explicit permission.
  • Not used for commercial purposes outside of approved use cases.
  • Not used to infringe on the rights of the original creators.
  • If you believe any content infringes your copyright, please contact us immediately.

Support

For help with questions, suggestions, or problems, please contact us