Upgrade to Pro — share decks privately, control downloads, hide ads and more …

SpringOne2GX 2014: Developer Tooling - What's N...

Martin Lippert
September 09, 2014

SpringOne2GX 2014: Developer Tooling - What's New and What's Next

In this talk we take a look at the latest changes and new features of the Spring Tool Suite, the Eclipse-based IDE that comes packed with support for Spring, Groovy, Grails, Gradle, AspectJ, and Cloud Foundry. We dive into the new ways the tooling makes it easy and convenient to develop enterprise applications that are based on Spring Boot and how the Spring Tool Suite integrates will all the different parts of Spring IO. In addition to that we will show the Java8 language tooling that comes as part of the Spring Tool Suite and demonstrate how to get the most out of Java8 in your projects. In the second part of this presentation we take a look at our vision for how we are going to move developer tooling itself into the cloud era. We provide a sneak peek under the hood of what we are working on for the next generation of developer tooling. We will demonstrate what future cloud-based developer might look like, how real Java language tooling can look and feel when running in a browser-based code editor, and show how every developer can smoothly migrate into this new world of cloud-based developer tooling. All this is based on Flux, a new project at eclipse.org, that aims at providing new and innovative ways to move towards cloud-based tooling in a smooth, seamless way.

Martin Lippert

September 09, 2014
Tweet

More Decks by Martin Lippert

Other Decks in Technology

Transcript

  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/ - Developer Tooling - What’s New and What’s Next Andy Clement, Martin Lippert
  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/ Speaker Introduction ! Andy Clement [email protected] @andy_clement ! ! Martin Lippert [email protected] @martinlippert 2
  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/ 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
  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/ A talk in two parts • Where we are • Looking to the future 4
  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 5
  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/ 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
  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/ 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
  8. 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 seconds 0 125 250 375 500 3.6.0 3.6.1
  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/ Demo Time: Spring 9
  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/ 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
  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/ 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
  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/ Demo Time: Java 8 12
  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/ What’s Next? 13
  14. 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 ?
  15. 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?
  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/ 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
  17. 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?
  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/ 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
  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/ 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
  20. 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
  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
  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
  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
  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
  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
  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
  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
  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 [email protected] 29