Slide 1

Slide 1 text

Spring Tools 4 Bootiful Spring Tooling for Desktop and Cloud Martin Lippert (Pivotal, @martinlippert) Moritz Eysholdt (TypeFox, @meysholdt)

Slide 2

Slide 2 text

Unless otherwise indicated, these slides are © 2013-2019 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.

Slide 3

Slide 3 text

Unless otherwise indicated, these slides are © 2013-2019 Pivotal Software, Inc. and licensed under a Creative Commons Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/ Spring Tools 4 Most comprehensive + most widely used completely free Spring Tooling fully open-source freely available ready-to-use distributions plugins for existing tools

Slide 4

Slide 4 text

Unless otherwise indicated, these slides are © 2013-2019 Pivotal Software, Inc. and licensed under a Creative Commons Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/ Spring Tools 4 Built for modern application development based on Spring Boot deep understanding of your Spring code super quick navigation / overviews easy getting started experience unique combination of source code and runtime information

Slide 5

Slide 5 text

Unless otherwise indicated, these slides are © 2013-2019 Pivotal Software, Inc. and licensed under a Creative Commons Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/ Spring Tools 4 Eclipse IDE Visual Studio Code Theia https://spring.io/tools available for desktop-class IDEs lightweight editors cloud-based tools

Slide 6

Slide 6 text

Unless otherwise indicated, these slides are © 2013-2019 Pivotal Software, Inc. and licensed under a Creative Commons Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/ Spring Tools 4 Built on a modern foundation: Language Server Protocol implemented as a "language" server for Spring open to all kind of environments and "clients" https://microsoft.github.io/language-server-protocol/

Slide 7

Slide 7 text

Unless otherwise indicated, these slides are © 2013-2019 Pivotal Software, Inc. and licensed under a Creative Commons Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/ Updates

Slide 8

Slide 8 text

Unless otherwise indicated, these slides are © 2013-2019 Pivotal Software, Inc. and licensed under a Creative Commons Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/ Quick Text Search • contributed to the Eclipse Platform (as of 2019-09 release) • now ships to millions of users with every Eclipse release

Slide 9

Slide 9 text

Unless otherwise indicated, these slides are © 2013-2019 Pivotal Software, Inc. and licensed under a Creative Commons Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/ What happened since the GA in 2018? • Major work on reliability, performance, memory footprint • Opened up tooling to non-boot projects • Built-in support for WebFlux • Limited support for XML config files added • Coming up (preview included): • redesigned live information hover feature

Slide 10

Slide 10 text

Unless otherwise indicated, these slides are © 2013-2019 Pivotal Software, Inc. and licensed under a Creative Commons Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/ Performance: startup time 0 700 1400 2100 2800 4.1.2 4.2.0 4.2.1 4.2.2 4.3.0 4.3.1 4.3.2 4.4.0

Slide 11

Slide 11 text

Unless otherwise indicated, these slides are © 2013-2019 Pivotal Software, Inc. and licensed under a Creative Commons Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/ Performance: java + xml symbol scanning 0 3000 6000 9000 12000 4.1.2 4.2.0 4.2.1 4.2.2 4.3.0 4.3.1 4.3.2 4.4.0

Slide 12

Slide 12 text

Unless otherwise indicated, these slides are © 2013-2019 Pivotal Software, Inc. and licensed under a Creative Commons Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/ Live Demo

Slide 13

Slide 13 text

Unless otherwise indicated, these slides are © 2013-2019 Pivotal Software, Inc. and licensed under a Creative Commons Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/ Running Spring Tools 4 in a browser

Slide 14

Slide 14 text

Unless otherwise indicated, these slides are © 2013-2019 Pivotal Software, Inc. and licensed under a Creative Commons Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/ Cloud-based tooling If we run our IDE in the cloud… …how can this look like? …can we gain something? …what happens when we apply ideas of cloud-native?

Slide 15

Slide 15 text

Unless otherwise indicated, these slides are © 2013-2019 Pivotal Software, Inc. and licensed under a Creative Commons Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/ The new member of the family Theia IDE * runs in web browser (docker) * runs as desktop app (Electron) * gitpod.io / self-hosted Gitpod * runs Spring Tools 4 for Theia!

Slide 16

Slide 16 text

Unless otherwise indicated, these slides are © 2013-2019 Pivotal Software, Inc. and licensed under a Creative Commons Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/ Eclipse Theia? Started by TypeFox and Ericsson in 2017 to… * built single-sourced IDEs for Web and Desktop * vendor-neutral Open Source under the umbrella of the Eclipse Foundation * customisable via Dependency Injection * with user-experience similar to VS Code * using modern web-based technology, Typescript * extensible via VS Code Extensions, Theia Extensions Contributors & Adopters

Slide 17

Slide 17 text

Unless otherwise indicated, these slides are © 2013-2019 Pivotal Software, Inc. and licensed under a Creative Commons Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/ Live Demo: Theia from Docker docker run -it --init -p 3000:3000 -v "$(pwd):/home/project:cached" theiaide/theia:next

Slide 18

Slide 18 text

Unless otherwise indicated, these slides are © 2013-2019 Pivotal Software, Inc. and licensed under a Creative Commons Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/ Theia via Gitpod The Mission: Frictionless Coding! * from your context, within few seconds, launch an IDE that is ready-to-code * never lose time with occupied workspaces or workspace-cleanup. The Secret Sauce: * Dev Environment as Code * Prebuilt Workspaces * Parallel Workspaces

Slide 19

Slide 19 text

Unless otherwise indicated, these slides are © 2013-2019 Pivotal Software, Inc. and licensed under a Creative Commons Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/ Dev Environment as Code * think of „infrastructure as code“ applied to your workspace * think of „README.md“, but executable * version controlled (git) * easy to track changes * easy handling of branches, tags * easy to share in the team * maintenance effort per project, and not per workstation! * Docker is an enabler here

Slide 20

Slide 20 text

Unless otherwise indicated, these slides are © 2013-2019 Pivotal Software, Inc. and licensed under a Creative Commons Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/ Dev Environment as Code for Spring Boot On Git-Push, like in CI: 1. Clone branch 2. Build docker-container for workspace form Dockerfile 3. Run „mvn package“ in workspace container 4. Store workspace as „Prebuild“ On IDE-Open: 1. Open „Prebuild“ workspace 2. Connect to kubernetes (optional) 3. Launch Docker Engine, MySQL Database (both optional) 4. Start Coding! Fully Automated!

Slide 21

Slide 21 text

Unless otherwise indicated, these slides are © 2013-2019 Pivotal Software, Inc. and licensed under a Creative Commons Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/ Live Demo: Theia via gitpod.io

Slide 22

Slide 22 text

Unless otherwise indicated, these slides are © 2013-2019 Pivotal Software, Inc. and licensed under a Creative Commons Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/ Cloud-based tooling: Recap * Spring Tools, Java Tools, Java Debug: it’s the real thing * Dev Environment as Code * Launch new ready-to-code workspaces in seconds * Prebuilds * parallel workspaces * shared workspaces

Slide 23

Slide 23 text

Unless otherwise indicated, these slides are © 2013-2019 Pivotal Software, Inc. and licensed under a Creative Commons Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/ Outlook

Slide 24

Slide 24 text

Unless otherwise indicated, these slides are © 2013-2019 Pivotal Software, Inc. and licensed under a Creative Commons Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/ Outlook • Spring Tools 4 • shipping updates about every 4 weeks • always on top of the latest versions (Eclipse, VSCode, Theia) • Spring Tool Suite 3.9.x • still receives minimal maintenance updates • can be installed as add-ons into STS4 • Experimental work • Spring Boot language server compiled and running as native-image using GraalVM

Slide 25

Slide 25 text

Stay Connected. mlippert@pivotal.io moritz.eysholdt@typefox.io #springone @s1p

Slide 26

Slide 26 text

Unless otherwise indicated, these slides are © 2013-2019 Pivotal Software, Inc. and licensed under a Creative Commons Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/ STOP! Download Fonts Now PLEASE INSTALL FONTS BEFORE CREATING YOUR PRESENTATION Download Proxima Nova: https://brandfolder.com/pivotal/springone-platform Guest Password: keepitsimple Instructions on how to install fonts: http://www.fontspring.com/support/installing/how-do-i-install-fonts-on-my-mac http://www.fontspring.com/support/installing/how-do-i-install-fonts-on-my-windows-pc