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
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.’
the action or process of flowing
continuous change
a new Eclipse project bridging gap between desktop and cloud
a new architecture and infrastructure for connecting development tools across desktop, browser, and servers
Current Architecture
Diagram by: Martin Lippert
Future Architecture
Diagram by: Martin Lippert
Cloud Architecture
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
http://wiki.eclipse.org/Flux
http://github.com/eclipse/flux
http://github.com/jarthorn/EclipseConFrance2014
Questions?