© Anyware Technologies-All Right Reserved
Licence EPL
Photo: Colin Purrington
e4
What will
Eclipse be?
the future of
© Anyware Technologies-All Right Reserved
1.0
© Anyware Technologies-All Right Reserved
2.0
© Anyware Technologies-All Right Reserved
3.0
© Anyware Technologies-All Right Reserved
3.1
© Anyware Technologies-All Right Reserved
3.2
© Anyware Technologies-All Right Reserved
3.3
© Anyware Technologies-All Right Reserved
3.4!
Agenda
• Eclipse, a successful story
►±2000 ... Eclipse birth
►2008 ... Eclipse now
►2010 ... Eclipse Odyssey?
• The key technologies of e4
►SWT
►RAP
© Anyware Technologies-All Right Reserved
►Dojo, Flex, Silverlight, ...Android?
• The Application Model
►backward compatibility?
• DEMO!
• Discussion
© Anyware Technologies-All Right Reserved
Eclipse, a successful story
Eclipse History (1)
• 1999
►IBM (OTI) starts Eclipse as
an internal project
• 2001
►Eclipse 1.0
►Open-Source donation
(CPL) - www.eclipse.org
© Anyware Technologies-All Right Reserved
• 2002
►Eclipse 2.0
• 2003 Photo: Alessandro Paiva
►Eclipse 2.1
Eclipse History (2)
• 2004
►Eclipse Foundation
− not-for-profit organization
►Eclipse 3.0
− OSGi adoption
− Rich Client Platform
• 2005-2007
© Anyware Technologies-All Right Reserved
►Eclipse 3.1, 3.2, 3.3
►Simultaneous releases
Photo: Alessandro Paiva
• 2008
►Ganymede
►24 projects
Eclipse 3.4: state of affairs
• Many technologies are now the reference
►OSGi, Equinox : component/plug-in model
►RCP : rich client
►EMF : modeling
• A very active Open Source community
►Eclipse Foundation
© Anyware Technologies-All Right Reserved
e4: WHY?
• Entry fee is too high for
►plug-in developers
►potential contributors
• APIs are
►hard to find
►(sometimes) not documented well
►(sometimes) redundant
© Anyware Technologies-All Right Reserved
• Bad separation of concerns
• The Eclipse platform is too closed
The e4 Plan
• What e4 needs to address:
Photo: Sanja Gjenero
►new UI directions
►bring modeling to the IDE
►improve p2 integration
►keep on leveraging and
promoting OSGi and
Equinox
© Anyware Technologies-All Right Reserved
• Eclipse 4.0 SDK... built on
e4!
►Developers eat their own
dog's food!
The e4 Plan - UI
• (More) separation of appearance from content
►Scripting
►Styling (CSS-like)
• Declarative UI
• Other (better?) look&feel
►forget some « IDE » preconception
• Web
© Anyware Technologies-All Right Reserved
The e4 Plan - Modeling
• Expose a DOM of the Workbench
►secret dream: implement a CSS-like presentation layer
• Leverage the EMF infrastructure?
►code generation (with minimal footprint)
►notifications
►serialization
►...
© Anyware Technologies-All Right Reserved
The e4 Plan - p2
• Replace this good old Update Manager
• Two kinds of repositories
►artifacts
►metadata
• Much better management of
►dependencies
►profiles
© Anyware Technologies-All Right Reserved
►installation/removal
The e4 Plan - RT
• Eclipse is often seen as tools, but is in fact a platform
• One platform to rule them all!
►Consistent programming
►Common component model
− set of basic services
• ...many implementations
►Equinox
© Anyware Technologies-All Right Reserved
►ECF
►eRCP
►RAP
►Riena
►etc.
© Anyware Technologies-All Right Reserved
The technologies of e4
RAP
• Bring the Workbench to the Web
►Server-side: Equinox
►Client-side: qooxdoo
• The RAP widget toolkit is based on SWT
© Anyware Technologies-All Right Reserved
RAP vs. RCP
RCP RAP
OSGi on the server
Plugin Model OSGi
(inside a webapp)
Widget WWW Widget
SWT
Toolkit Toolkit (W4T)
JFace (adapted, as
© Anyware Technologies-All Right Reserved
Model View
JFace standard JFace has
Controller
references to SWT)
UI
Workbench Web Workbench
Framework
From SWT 3.x to SWT 4
• SWT
►The Eclipse graphical toolkit
►Efficient, portable, native
►Native code, Java interface
►Supported by many platforms
− Desktop : Windows, Macintosh, Linux, Solaris
− Embedded : Windows Mobile, Nokia phones, ...
© Anyware Technologies-All Right Reserved
− Web : RAP
Future of SWT
• Be more « webish »
• Because there are more and more web applications
• Choose one (many?) target platform
►« RAP 2 »
− qooxdoo, Dojo, ...
►Flex
− ActionScript
© Anyware Technologies-All Right Reserved
►Silverlight
− .Net
Rethink the Application Model
• Think in terms of services
►« Which service do I need? »
− and the UI should not be seen as a service, thus not part of the AM
►more than « Is this the A, B, or whatever plug-in that will
help me to do such or such thing? »
►strongly described
− automatically generated documentation
© Anyware Technologies-All Right Reserved
• The « Twenty Things »
►basic essential services Eclipse must address
►SelectionService, Adapters, Undo/Redo, Menus, ...
Ensure backward compatibility
• Strong business need for backward compatibility
►1000+ plug-ins in EPIC
• BUT e4 is the chance to clean-up fuzzy APIs
• Eclipse 3.x experience
►compatibility plug-in fragments
© Anyware Technologies-All Right Reserved
Timeline
• May 22-23, 2008: e4 Summit in Ottawa
►Project proposal to come
• Developments already started
►e4-incubator in the Eclipse CVS
• Try to sync-up with 3.x changes when possible
• Release in 2010!
© Anyware Technologies-All Right Reserved
© Anyware Technologies-All Right Reserved
DEMO!
Thank you!
Benjamin Cabé
Eclipse Expert
<[email protected]>
http://blog.benjamin-cabe.com
http://www.anyware-tech.com
© Anyware Technologies-All Right Reserved