Connecting developer tools across desktop and web with Project Flux

EclipseCon France 2014

John Arthorne - IBM / @jarthorne

Eclipse as Tool Platform

  • Great language tools
  • Thousands of plugins
  • Works with other local tools
  • Great for working offline
  • Cross-platform (sort of)

Cloud as Tool Platform

Cloud Computing Source: Sam Johnston Creative Commons BY-SA 3.0

Cloud advantages

  • Truly cross platform (tablets, servers, desktops ...)
  • Extreme scalability (up and down)
  • Low cost tool configuration
  • Toolchain control

Current state of cloud tooling

  • Current tools demonstrate what is possible
  • Huge gaps in the available tool chain
  • Will take years to catch up to desktop tools ecosystem

A difficult choice

  • Stay with desktop tools and live with desktop constraints
  • Take the leap to the cloud, and leave existing tools behind
  • But what if you could have both?

Flux Demo

  • Connect Eclipse project to Flux
  • Java syntax validation
  • Content assist
  • Jump to declaration (F3)
  • Rename in file

What's a Flux?

late Middle English: from Latin fluxus, from fluere ‘to flow.’

  1. the action or process of flowing
  2. continuous change
  3. a new Eclipse project bridging gap between desktop and cloud
  4. a new architecture and infrastructure for connecting development tools across desktop, browser, and servers

Current Architecture

Flux Architecture Diagram Diagram by: Martin Lippert

Future Architecture

Flux Architecture Diagram Diagram by: Martin Lippert

Cloud Architecture

Flux Architecture Diagram Diagram by: Martin Lippert

Work Areas

  • Basic infrastructure: messaging system, repository synchronization
  • Cloud-based Java language tooling
  • Cloud-based JavaScript language tooling
  • Application deployment and execution services, possible debug integration
  • <enter your work area here>

References

Questions?

Flux Capacitor