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

SpringOne Platform 2019: Bootiful Spring Toolin...

SpringOne Platform 2019: Bootiful Spring Tooling for Desktop and Cloud

Martin Lippert

October 10, 2019
Tweet

More Decks by Martin Lippert

Other Decks in Programming

Transcript

  1. Spring Tools 4 Bootiful Spring Tooling for Desktop and Cloud

    Martin Lippert (Pivotal, @martinlippert) Moritz Eysholdt (TypeFox, @meysholdt)
  2. 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.
  3. 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
  4. 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
  5. 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
  6. 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/
  7. 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
  8. 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
  9. 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
  10. 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
  11. 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
  12. 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
  13. 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
  14. 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?
  15. 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!
  16. 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
  17. 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
  18. 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
  19. 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
  20. 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!
  21. 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
  22. 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
  23. 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
  24. 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
  25. 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