Spring Tools 4 - Eclipse and beyond
Kris De Volder, Martin Lippert
@kdvolder, @martinlippert
1
Unless otherwise indicated, these slides are © 2013-2017 Pivotal Software, Inc. and licensed under a Creative Commons
Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/
Safe Harbor Statement
The following is intended to outline the general direction of Pivotal's offerings. It is
intended for information purposes only and may not be incorporated into any
contract. Any information regarding pre-release of Pivotal offerings, future updates or
other planned modifications is subject to ongoing evaluation by Pivotal and is subject
to change. This information is provided without warranty or any kind, express or
implied, and is not a commitment to deliver any material, code, or functionality, and
should not be relied upon in making purchasing decisions regarding Pivotal's
offerings. These purchasing decisions should only be based on features currently
available. The development, release, and timing of any features or functionality
described for Pivotal's offerings in this presentation remain at the sole discretion of
Pivotal. Pivotal has no obligation to update forward looking information in this
presentation.
2
Unless otherwise indicated, these slides are © 2013-2017 Pivotal Software, Inc. and licensed under a Creative Commons
Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/
Our Mission
Support Spring developers around the globe
writing modern Spring applications
3
Unless otherwise indicated, these slides are © 2013-2017 Pivotal Software, Inc. and licensed under a Creative Commons
Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/
Our Journey
Spring IDE was invented
• back in 2005
• in a time where everybody used Spring with XML
• where Eclipse was THE best and market-dominating IDE on the planet
Spring IDE (and the Spring Tool Suite) were enhanced and improved a lot over time
• but it is time to take a fresh look
4
Unless otherwise indicated, these slides are © 2013-2017 Pivotal Software, Inc. and licensed under a Creative Commons
Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/
Time has changed
There is no longer a single market-dominating IDE (like Eclipse was back then)
• developers use the tools of their choice
• lightweight editors are rising in popularity (for good reasons)
• IDEs still improve, but diverge for different worlds (cloud IDEs)
Spring has changed a lot, too
• Spring Boot is now THE way to implement enterprise apps
• Spring XML is mostly gone, annotations are everywhere
• Spring configurations are becoming more and more dynamic (@ConditionalOn…)
5
Unless otherwise indicated, these slides are © 2013-2017 Pivotal Software, Inc. and licensed under a Creative Commons
Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/
This is why we introduce something new today
6
Unless otherwise indicated, these slides are © 2013-2017 Pivotal Software, Inc. and licensed under a Creative Commons
Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/
Introducing
Spring Tools 4
7
Unless otherwise indicated, these slides are © 2013-2017 Pivotal Software, Inc. and licensed under a Creative Commons
Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/
Spring Tools 4
All-new Spring tooling
• mostly implemented from scratch
• focused on Spring Boot and annotation-driven Spring app development
• lightweight and super fast
• and it is IDE agnostic
8
Unless otherwise indicated, these slides are © 2013-2017 Pivotal Software, Inc. and licensed under a Creative Commons
Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/
Key areas
Super easy getting started experience
9
Unless otherwise indicated, these slides are © 2013-2017 Pivotal Software, Inc. and licensed under a Creative Commons
Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/
Key areas
Ultra-fast navigating the source code
10
Unless otherwise indicated, these slides are © 2013-2017 Pivotal Software, Inc. and licensed under a Creative Commons
Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/
Key areas
See live information from your running apps directly in your source code
11
Unless otherwise indicated, these slides are © 2013-2017 Pivotal Software, Inc. and licensed under a Creative Commons
Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/
Key areas
Spring-aware smart code completion
12
Unless otherwise indicated, these slides are © 2013-2017 Pivotal Software, Inc. and licensed under a Creative Commons
Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/
Spring Tools 4 - Public Beta
13
Spring Tools 4
for Eclipse
Unless otherwise indicated, these slides are © 2013-2017 Pivotal Software, Inc. and licensed under a Creative Commons
Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/
Spring Tools 4 - Public Beta
14
Spring Tools 4
for Visual Studio
Code
Spring Tools 4
for Eclipse
Unless otherwise indicated, these slides are © 2013-2017 Pivotal Software, Inc. and licensed under a Creative Commons
Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/
Spring Tools 4 - Public Beta
15
Spring Tools 4
for Eclipse
Spring Tools 4
for Visual Studio
Code
Spring Tools 4
for Atom IDE
Unless otherwise indicated, these slides are © 2013-2017 Pivotal Software, Inc. and licensed under a Creative Commons
Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/
Spring Tools 4 - Public Beta
16
public beta available
https://spring.io/tools4
Spring Tools 4
for Eclipse
Spring Tools 4
for Visual Studio
Code
Spring Tools 4
for Atom IDE
Demo Time
Unless otherwise indicated, these slides are © 2013-2017 Pivotal Software, Inc. and licensed under a Creative Commons
Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/
Recap
What we have seen
• boot dashboard
• ultra-fast navigation to Spring elements (@/, @+, @)
• live information from running apps (wiring reports, profiles)
• different editors / IDEs
18
Unless otherwise indicated, these slides are © 2013-2017 Pivotal Software, Inc. and licensed under a Creative Commons
Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/
Much more
What we have not seen
• additional specialized navigation (e.g. @> for functions)
• live information for property values (@Value)
• code completions (@Value, @Scope)
• code templates (@…Mapping methods)
Working on more
• specific navigation for Spring Data repositories, WebFlux definition
• support for annotations in class files
• maybe more editors / IDEs
19
Behind the scenes
Unless otherwise indicated, these slides are © 2013-2017 Pivotal Software, Inc. and licensed under a Creative Commons
Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/
Introducing a New Tooling Architecture
Spring Tools 4
• re-written from scratch
• IDE agnostic
• focused on supporting Spring
New tooling architecture
• adopting the Language Server Protocol
21
Unless otherwise indicated, these slides are © 2013-2017 Pivotal Software, Inc. and licensed under a Creative Commons
Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/
22
Visual Studio Code
Spring Boot Java
Language Server
JSON
Separate Processes
Unless otherwise indicated, these slides are © 2013-2017 Pivotal Software, Inc. and licensed under a Creative Commons
Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/
23
Visual Studio Code
Spring Boot Java
Language Server
JSON
node.js JVM
Independent Platforms
Unless otherwise indicated, these slides are © 2013-2017 Pivotal Software, Inc. and licensed under a Creative Commons
Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/
24
Eclipse
Spring Boot Java
Language Server
JSON
JVM JVM
One Language Server to Serve Them All
Unless otherwise indicated, these slides are © 2013-2017 Pivotal Software, Inc. and licensed under a Creative Commons
Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/
Java Language Support
JSON
Spring Boot Java
Language Server
JavaScript Support
…
Visual Studio Code
Eclipse
Atom
…
Flexibility on Both Sides
Outlook
Unless otherwise indicated, these slides are © 2013-2017 Pivotal Software, Inc. and licensed under a Creative Commons
Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/
Timeline
Dec 4, 2017
• Spring Tools 4 Public Beta release
Dec 2017 - Jun 2018
• STS 3.9.x will continue to receive updates
• Spring Tools 4 Public Beta will continue to receive updates
Jul 2018:
• STS 3.9.x components will become add-on components (only)
• Spring Tools 4 will go GA
27
Unless otherwise indicated, these slides are © 2013-2017 Pivotal Software, Inc. and licensed under a Creative Commons
Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/
From STS 3.9.x to Spring Tools 4
Spring Tools 4 for Eclipse - Spring Tool Suite 4
• full featured Eclipse distribution (similar to STS 3.9.x, but more lightweight)
• allows you to install old STS 3.9.x components as add-ons
• allows you to have both
STS 3.9.x components
• will receive maintenance updates
• will continue to be available via update sites
• will be updated to Eclipse Photon (4.8)
28
Learn More. Stay Connected.
Spring Tools 4 - Public Beta
https://spring.io/tools4
Want a private demo? Join us at the booth!
29
#springone@s1p

Spring Tools 4 - Eclipse and Beyond

  • 1.
    Spring Tools 4- Eclipse and beyond Kris De Volder, Martin Lippert @kdvolder, @martinlippert 1
  • 2.
    Unless otherwise indicated,these slides are © 2013-2017 Pivotal Software, Inc. and licensed under a Creative Commons Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/ Safe Harbor Statement The following is intended to outline the general direction of Pivotal's offerings. It is intended for information purposes only and may not be incorporated into any contract. Any information regarding pre-release of Pivotal offerings, future updates or other planned modifications is subject to ongoing evaluation by Pivotal and is subject to change. This information is provided without warranty or any kind, express or implied, and is not a commitment to deliver any material, code, or functionality, and should not be relied upon in making purchasing decisions regarding Pivotal's offerings. These purchasing decisions should only be based on features currently available. The development, release, and timing of any features or functionality described for Pivotal's offerings in this presentation remain at the sole discretion of Pivotal. Pivotal has no obligation to update forward looking information in this presentation. 2
  • 3.
    Unless otherwise indicated,these slides are © 2013-2017 Pivotal Software, Inc. and licensed under a Creative Commons Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/ Our Mission Support Spring developers around the globe writing modern Spring applications 3
  • 4.
    Unless otherwise indicated,these slides are © 2013-2017 Pivotal Software, Inc. and licensed under a Creative Commons Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/ Our Journey Spring IDE was invented • back in 2005 • in a time where everybody used Spring with XML • where Eclipse was THE best and market-dominating IDE on the planet Spring IDE (and the Spring Tool Suite) were enhanced and improved a lot over time • but it is time to take a fresh look 4
  • 5.
    Unless otherwise indicated,these slides are © 2013-2017 Pivotal Software, Inc. and licensed under a Creative Commons Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/ Time has changed There is no longer a single market-dominating IDE (like Eclipse was back then) • developers use the tools of their choice • lightweight editors are rising in popularity (for good reasons) • IDEs still improve, but diverge for different worlds (cloud IDEs) Spring has changed a lot, too • Spring Boot is now THE way to implement enterprise apps • Spring XML is mostly gone, annotations are everywhere • Spring configurations are becoming more and more dynamic (@ConditionalOn…) 5
  • 6.
    Unless otherwise indicated,these slides are © 2013-2017 Pivotal Software, Inc. and licensed under a Creative Commons Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/ This is why we introduce something new today 6
  • 7.
    Unless otherwise indicated,these slides are © 2013-2017 Pivotal Software, Inc. and licensed under a Creative Commons Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/ Introducing Spring Tools 4 7
  • 8.
    Unless otherwise indicated,these slides are © 2013-2017 Pivotal Software, Inc. and licensed under a Creative Commons Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/ Spring Tools 4 All-new Spring tooling • mostly implemented from scratch • focused on Spring Boot and annotation-driven Spring app development • lightweight and super fast • and it is IDE agnostic 8
  • 9.
    Unless otherwise indicated,these slides are © 2013-2017 Pivotal Software, Inc. and licensed under a Creative Commons Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/ Key areas Super easy getting started experience 9
  • 10.
    Unless otherwise indicated,these slides are © 2013-2017 Pivotal Software, Inc. and licensed under a Creative Commons Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/ Key areas Ultra-fast navigating the source code 10
  • 11.
    Unless otherwise indicated,these slides are © 2013-2017 Pivotal Software, Inc. and licensed under a Creative Commons Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/ Key areas See live information from your running apps directly in your source code 11
  • 12.
    Unless otherwise indicated,these slides are © 2013-2017 Pivotal Software, Inc. and licensed under a Creative Commons Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/ Key areas Spring-aware smart code completion 12
  • 13.
    Unless otherwise indicated,these slides are © 2013-2017 Pivotal Software, Inc. and licensed under a Creative Commons Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/ Spring Tools 4 - Public Beta 13 Spring Tools 4 for Eclipse
  • 14.
    Unless otherwise indicated,these slides are © 2013-2017 Pivotal Software, Inc. and licensed under a Creative Commons Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/ Spring Tools 4 - Public Beta 14 Spring Tools 4 for Visual Studio Code Spring Tools 4 for Eclipse
  • 15.
    Unless otherwise indicated,these slides are © 2013-2017 Pivotal Software, Inc. and licensed under a Creative Commons Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/ Spring Tools 4 - Public Beta 15 Spring Tools 4 for Eclipse Spring Tools 4 for Visual Studio Code Spring Tools 4 for Atom IDE
  • 16.
    Unless otherwise indicated,these slides are © 2013-2017 Pivotal Software, Inc. and licensed under a Creative Commons Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/ Spring Tools 4 - Public Beta 16 public beta available https://spring.io/tools4 Spring Tools 4 for Eclipse Spring Tools 4 for Visual Studio Code Spring Tools 4 for Atom IDE
  • 17.
  • 18.
    Unless otherwise indicated,these slides are © 2013-2017 Pivotal Software, Inc. and licensed under a Creative Commons Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/ Recap What we have seen • boot dashboard • ultra-fast navigation to Spring elements (@/, @+, @) • live information from running apps (wiring reports, profiles) • different editors / IDEs 18
  • 19.
    Unless otherwise indicated,these slides are © 2013-2017 Pivotal Software, Inc. and licensed under a Creative Commons Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/ Much more What we have not seen • additional specialized navigation (e.g. @> for functions) • live information for property values (@Value) • code completions (@Value, @Scope) • code templates (@…Mapping methods) Working on more • specific navigation for Spring Data repositories, WebFlux definition • support for annotations in class files • maybe more editors / IDEs 19
  • 20.
  • 21.
    Unless otherwise indicated,these slides are © 2013-2017 Pivotal Software, Inc. and licensed under a Creative Commons Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/ Introducing a New Tooling Architecture Spring Tools 4 • re-written from scratch • IDE agnostic • focused on supporting Spring New tooling architecture • adopting the Language Server Protocol 21
  • 22.
    Unless otherwise indicated,these slides are © 2013-2017 Pivotal Software, Inc. and licensed under a Creative Commons Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/ 22 Visual Studio Code Spring Boot Java Language Server JSON Separate Processes
  • 23.
    Unless otherwise indicated,these slides are © 2013-2017 Pivotal Software, Inc. and licensed under a Creative Commons Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/ 23 Visual Studio Code Spring Boot Java Language Server JSON node.js JVM Independent Platforms
  • 24.
    Unless otherwise indicated,these slides are © 2013-2017 Pivotal Software, Inc. and licensed under a Creative Commons Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/ 24 Eclipse Spring Boot Java Language Server JSON JVM JVM One Language Server to Serve Them All
  • 25.
    Unless otherwise indicated,these slides are © 2013-2017 Pivotal Software, Inc. and licensed under a Creative Commons Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/ Java Language Support JSON Spring Boot Java Language Server JavaScript Support … Visual Studio Code Eclipse Atom … Flexibility on Both Sides
  • 26.
  • 27.
    Unless otherwise indicated,these slides are © 2013-2017 Pivotal Software, Inc. and licensed under a Creative Commons Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/ Timeline Dec 4, 2017 • Spring Tools 4 Public Beta release Dec 2017 - Jun 2018 • STS 3.9.x will continue to receive updates • Spring Tools 4 Public Beta will continue to receive updates Jul 2018: • STS 3.9.x components will become add-on components (only) • Spring Tools 4 will go GA 27
  • 28.
    Unless otherwise indicated,these slides are © 2013-2017 Pivotal Software, Inc. and licensed under a Creative Commons Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/ From STS 3.9.x to Spring Tools 4 Spring Tools 4 for Eclipse - Spring Tool Suite 4 • full featured Eclipse distribution (similar to STS 3.9.x, but more lightweight) • allows you to install old STS 3.9.x components as add-ons • allows you to have both STS 3.9.x components • will receive maintenance updates • will continue to be available via update sites • will be updated to Eclipse Photon (4.8) 28
  • 29.
    Learn More. StayConnected. Spring Tools 4 - Public Beta https://spring.io/tools4 Want a private demo? Join us at the booth! 29 #springone@s1p