Unless otherwise indicated, these slides are © 2013-2014 Pivotal Software, Inc. and licensed under a Creative Commons Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/
- Developer Tooling - What’s New and What’s Next
Andy Clement, Martin Lippert
Unless otherwise indicated, these slides are © 2013-2014 Pivotal Software, Inc. and licensed under a Creative Commons Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/
Speaker Introduction
!Andy Clement [email protected] @andy_clement
!!Martin Lippert
[email protected] @martinlippert
2
Unless otherwise indicated, these slides are © 2013-2014 Pivotal Software, Inc. and licensed under a Creative Commons Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/
Disclaimer
• This session may contain product features that are currently under development.
• This session/overview of the new technology represents no commitment from Pivotal to deliver these features in any generally available product.
• Features are subject to change, and must not be included in contracts, purchase orders, or sales agreements of any kind.
• Technical feasibility and market demand will affect final delivery. • Pricing and packaging for any new technologies or features
discussed or presented have not been determined
3
Unless otherwise indicated, these slides are © 2013-2014 Pivotal Software, Inc. and licensed under a Creative Commons Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/
A talk in two parts
• Where we are • Looking to the future
4
Unless otherwise indicated, these slides are © 2013-2014 Pivotal Software, Inc. and licensed under a Creative Commons Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/
General Updates
5
Unless otherwise indicated, these slides are © 2013-2014 Pivotal Software, Inc. and licensed under a Creative Commons Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/
General Updates
• Eclipse Platform • STS/GGTS now built on top of Eclipse Luna 4.4 only • update sites still available for Eclipse 3.7 - 4.4 • only shipping zips, not installers
• Language tooling • Latest Java8 support is built-in • Groovy 2.3 • AspectJ 1.8.2
• Runtime updates • tc Server 3.0.0, Grails 2.4
6
Unless otherwise indicated, these slides are © 2013-2014 Pivotal Software, Inc. and licensed under a Creative Commons Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/
New and Noteworthy
• New dashboard • Cloud Foundry tooling updates • Improved import wizard for guides • Improved Spring Boot support • Overall performance improvements • Gradle tooling updates • Groovy/Grails updates • Moved from forums to stack overflow
7
Unless otherwise indicated, these slides are © 2013-2014 Pivotal Software, Inc. and licensed under a Creative Commons Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/
Spring Tooling Performance Improvements
8
Customer Case - Incremental Build
Customer Case - Full Build
seconds0 125 250 375 500
3.6.0 3.6.1
Unless otherwise indicated, these slides are © 2013-2014 Pivotal Software, Inc. and licensed under a Creative Commons Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/
Demo Time: Spring
9
Unless otherwise indicated, these slides are © 2013-2014 Pivotal Software, Inc. and licensed under a Creative Commons Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/
Groovy/Grails
• Groovy-Eclipse 2.9.0 • Groovy 2.3 - the Java 8 compatible groovy • Traits • Smarter inferencing (content assist)
• Grails 2.4 - includes Groovy 2.3 and Spring 4
10
Unless otherwise indicated, these slides are © 2013-2014 Pivotal Software, Inc. and licensed under a Creative Commons Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/
Java8 language tooling in Eclipse/STS
• Full Java8 language support built-in • Full compiler support • content-assist, quick-fix, auto-complete • new refactorings • and more to come !
• Groovy-Eclipse integrates the Groovy compiler with Eclipse Java 8 compiler
• AJDT/AspectJ support Java 8
11
Unless otherwise indicated, these slides are © 2013-2014 Pivotal Software, Inc. and licensed under a Creative Commons Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/
Demo Time: Java 8
12
Unless otherwise indicated, these slides are © 2013-2014 Pivotal Software, Inc. and licensed under a Creative Commons Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/
What’s Next?
13
Unless otherwise indicated, these slides are © 2013-2014 Pivotal Software, Inc. and licensed under a Creative Commons Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/ 14
" What if we take a look beyond the existing desktop IDEs like Eclipse or IntelliJ ?
Unless otherwise indicated, these slides are © 2013-2014 Pivotal Software, Inc. and licensed under a Creative Commons Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/ 15
" Why can Google search the internet in 100ms, but my Eclipse IDE takes 5 seconds to open a type hierarchy?
Unless otherwise indicated, these slides are © 2013-2014 Pivotal Software, Inc. and licensed under a Creative Commons Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/
Observations
• more and more applications and tools are moving into the cloud • issue trackers • continuous integration systems • version control systems • collaboration tools !
• coding still happens on the desktop • but cloud IDEs emerge
16
Unless otherwise indicated, these slides are © 2013-2014 Pivotal Software, Inc. and licensed under a Creative Commons Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/ 17
" What happens if we want to move coding into the cloud, too?
Unless otherwise indicated, these slides are © 2013-2014 Pivotal Software, Inc. and licensed under a Creative Commons Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/
product challenges
• it is possible to have truly good language tooling in a browser-based editor? • including errors/warnings as you type? • including content-assist, auto-completion, refactoring? • for various languages, including Java, Groovy, Scala? !
• do I have to jump over the wall? • leave everything on my local machine behind • looks like an either-or decision
18
Unless otherwise indicated, these slides are © 2013-2014 Pivotal Software, Inc. and licensed under a Creative Commons Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/
implementation challenges
• how can cloud-based developer tooling be built? • do we have to re-implement everything in JavaScript? • can we somehow re-use existing language tooling/features?
19
Unless otherwise indicated, these slides are © 2013-2014 Pivotal Software, Inc. and licensed under a Creative Commons Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/
Demo Time
21
Unless otherwise indicated, these slides are © 2013-2014 Pivotal Software, Inc. and licensed under a Creative Commons Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/
The architecture
• Decomposing the IDE into micro services running in the cloud • Consumed by a variety of clients
• browser based editors • desktop IDEs
• asynchronous messaging as a back-bone • for communication (no RESTful API) • extremely loose coupling • build for the cloud
22
Unless otherwise indicated, these slides are © 2013-2014 Pivotal Software, Inc. and licensed under a Creative Commons Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/
The architecture
23
Unless otherwise indicated, these slides are © 2013-2014 Pivotal Software, Inc. and licensed under a Creative Commons Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/
future directions
• turning everything into a service • for all kinds of languages • for all kinds of additional features
• connecting more pieces • different desktop IDEs (not just Eclipse) • different cloud-based tooling environments (like Codenvy)
• continue to ensure a smooth migration path • Developers free to stop at any point along the path
24
Unless otherwise indicated, these slides are © 2013-2014 Pivotal Software, Inc. and licensed under a Creative Commons Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/
future directions
25
Unless otherwise indicated, these slides are © 2013-2014 Pivotal Software, Inc. and licensed under a Creative Commons Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/
status
• Not yet production grade • still a lot of work needs to be done • moving towards a public accessible beta !
• Wanna take a look at the code? • Eclipse Flux: https://github.com/eclipse/flux !
• Interested? Feedback? • Let us know!
26
Unless otherwise indicated, these slides are © 2013-2014 Pivotal Software, Inc. and licensed under a Creative Commons Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/
Conclusions
27
Unless otherwise indicated, these slides are © 2013-2014 Pivotal Software, Inc. and licensed under a Creative Commons Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/
Upcoming releases
• more frequent minor incremental releases • to get fixes and performance improvements out quickly • focus on stability, performance, and scalability !
• STS/GGTS 3.6.2 ships in early October 2014 (on Luna SR1) • STS/GGTS 3.6.3 ships in early December 2014 (on Luna SR1) • STS/GGTS 3.6.4 ships in early March 2015 (on Luna SR2)
28
Unless otherwise indicated, these slides are © 2013-2014 Pivotal Software, Inc. and licensed under a Creative Commons Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/
Q&A and thanks for your attention
!http://spring.io/tools
!Andy Clement
@andy_clement [email protected]
!Martin Lippert @martinlippert
29