SlideShare a Scribd company logo
Evolution of
Visual Studio Code
Java Ecosystem
Adi Polak
@AdiPolak
Microsoft
Java Cloud Native on Azure – Landscape
IaaS – Linux Distributions
Multi-Cloud Platforms Tools DevOps
Cloud Automation Kubernetes & Containers
OSS Foundations
JVMs, Frameworks, Runtimes
Azure Services
CosmosDB Service
Fabric
App
Service
Container
Instances
Container
Registry
Kubernetes
Service
Serverless
Functions
App
Insights
Azure
DevOps
SQL
Service
Event
Grid
Event
Hub
Service
Bus
Active
Directory
Microsoft SDKs for Java
Over 50+ services covered
On Microsoft Azure,
over 50% of workloads
are Linux-based.
And over 60,000 patents now open source under OIN.
Editors
jEdit
Java-based, multi-platform
http://www.jedit.org/
TextPad
Windows-only
https://www.textpad.com/
Sublime Text
Windows, Mac, Linux
https://sublimetext.com/
Atom Editor
Windows, Mac, Linux
https://atom.io/
Why Visual Studio Code?
Text
Editors
IDEs
• Keyboard centric
• Lightweight/fast
• File/folders
• Polyglot
• Project systems
• Integrated build
• Code understanding
• Debug
• Templates/wizards
• Designers
• ALM integration
• Keyboard centric
• Lightweight/fast
• File/folders
• Polyglot
• Code understanding
• Debug
• Lightweight editor
• Works on Windows, Mac,
Linux
• Free and open-source
• Any language, any
framework
Hundreds of programming
languages supported
Language Server Protocol !
https://langserver.org/
Hackathon from Red Hat, IBM,
Codenvy and Microsoft
eclipse.jdt.ls
• Started July 2016 by Red Hat
• 2 MSFT committers
Java Support
# downloads >
Popular Java Extensions
Comprehensive support built by
Microsoft, Red Hat, Pivotal and
open source community
JetBrains 2017 survey
JetBrains 2018 Survey
7/1/2015 7/1/2016 7/1/2017 7/1/2018
VS Code Java Developers
Setting up Java environment, repeatedly
Installing VS Code and Extensions
If you could streamline setting up a Java environment using
VS code that would help (solving) a lot of problems I've had
with it. I know that this isn't really a problem with you and
more a problem with the Java ecosystem, but regardless its a
barrier to entry because as someone who changes
computers, OS's, and environments often its pretty tedious to
manage Java installation and then debug problems if there is
a version mismatch.
– Visual Studio Code Java Developer
Auto-detect environment, then
pull components online, install
and configure
Java Development Kit
Visual Studio Code
Java Extensions
Demos
Create/Run/Debug Java Plain Code
Unit Testing on VS Code
Create/Run/Debug Spring App on VS Code
Using Spring Boot Dashboard
Spring Initializers: on Azure and VS Code
aka.ms/spring-init-azure
IntelliCode
AI-assisted development
Recommends code
completion
Machine Learning
Learns from GitHub
projects
Java support
@AdiPolak
Live Share - Real-time
collaborative development
Live
Editing
Audio
Call
Video Live Share
How development often looks like
@AdiPolak
Remote Development
SSH
Open a remote folder on any remote machine, virtual
machine, or container with a running SSH server and take
full advantage of VS Code's feature set. Once connected to
a server, you can interact with files and folders anywhere
on the remote filesystem.
Container
The Remote - Containers extension lets you use a Docker
container as a full-featured development environment.
Consist and easily reproducible toolchain.
Quickly swap between different, isolated development
environments and safely make updates without worrying
about impacting your local machine.
Make it easy for new team members / contributors to get
up and running in a consistent development environment.
Container Development
Docker
Containerization – Add Dockerfile to your
project
Images – Build, Run & Manage Images
Kubernetes
Orchestration - Authoring K8S Manifest
Files
Deployment - Apply Manifest Files to K8S
Clusters
Maintenance - Explore K8S Cluster
Resources
Troubleshooting - Inspect K8S Resources
Dev Space
Rapid, iterative Kubernetes development
experience
Demos Java Remote Dev
Let us know what you believe is more important!
• Performance and reliability
• More code actions and refactoring
• Easy to use (installation, setup, configuration,
import, etc.)
• Build tools – Maven, Gradle
• App server?
• Android support?
• More frameworks support (Java FX, etc.)
@AdiPolak
Remote Dev aka.ms/remote-os
VS Code for Java aka.ms/java-in-vscode
Live Share aka.ms/vs-live-share
Intelli Code aka.ms/intelli-code
Microsoft Learn microsoft.com/learn
(Microsoft + Java) ^ Spring
@ashleymcnamara

More Related Content

What's hot

IBM Think Session 3249 Watson Work Services Java SDK
IBM Think Session 3249 Watson Work Services Java SDKIBM Think Session 3249 Watson Work Services Java SDK
IBM Think Session 3249 Watson Work Services Java SDK
Paul Withers
 
Microsoft Tech Summit Switzerland 2019 - DOCKER + AZURE DEVOPS + KUBERNETES = ♥
Microsoft Tech Summit Switzerland 2019 - DOCKER + AZURE DEVOPS + KUBERNETES = ♥Microsoft Tech Summit Switzerland 2019 - DOCKER + AZURE DEVOPS + KUBERNETES = ♥
Microsoft Tech Summit Switzerland 2019 - DOCKER + AZURE DEVOPS + KUBERNETES = ♥
Marc Müller
 
Building Python Web Apps with Docker
Building Python Web Apps with DockerBuilding Python Web Apps with Docker
Building Python Web Apps with Docker
Mark Adams
 
ASP.NET Core 1.0: Understanding ASP.NET Core 1.0 (ASP.NET 5)
ASP.NET Core 1.0: Understanding ASP.NET Core 1.0 (ASP.NET 5) ASP.NET Core 1.0: Understanding ASP.NET Core 1.0 (ASP.NET 5)
ASP.NET Core 1.0: Understanding ASP.NET Core 1.0 (ASP.NET 5)
WinWire Technologies Inc
 
ASP.NET Core deployment options
ASP.NET Core deployment optionsASP.NET Core deployment options
ASP.NET Core deployment options
Ken Cenerelli
 
Pipelining DevOps with Jenkins and AWS
Pipelining DevOps with Jenkins and AWSPipelining DevOps with Jenkins and AWS
Pipelining DevOps with Jenkins and AWS
Jimmy Ray
 
Azure Container Services
Azure Container Services Azure Container Services
Azure Container Services
WinWire Technologies Inc
 
Advanced jenkins : Create plugin to auto scale worker agent
Advanced jenkins : Create plugin to auto scale worker agentAdvanced jenkins : Create plugin to auto scale worker agent
Advanced jenkins : Create plugin to auto scale worker agent
DevOps Indonesia
 
Netflix and Containers: Not A Stranger Thing
Netflix and Containers:  Not A Stranger ThingNetflix and Containers:  Not A Stranger Thing
Netflix and Containers: Not A Stranger Thing
aspyker
 
IBM Think Session 8598 Domino and JavaScript Development MasterClass
IBM Think Session 8598 Domino and JavaScript Development MasterClassIBM Think Session 8598 Domino and JavaScript Development MasterClass
IBM Think Session 8598 Domino and JavaScript Development MasterClass
Paul Withers
 
El camino a las Cloud Native Apps - Application modernization on Azure with c...
El camino a las Cloud Native Apps - Application modernization on Azure with c...El camino a las Cloud Native Apps - Application modernization on Azure with c...
El camino a las Cloud Native Apps - Application modernization on Azure with c...
Plain Concepts
 
Android App Development..
Android App Development..Android App Development..
Android App Development..
ITM University
 
Running containerized application in AWS ECS
Running containerized application in AWS ECSRunning containerized application in AWS ECS
Running containerized application in AWS ECS
DevOps Indonesia
 
Selenium Automation at Incapsula
Selenium Automation at IncapsulaSelenium Automation at Incapsula
Selenium Automation at Incapsula
adamcarmi
 
K8s Cluster Build
K8s Cluster BuildK8s Cluster Build
K8s Cluster Build
DevOps Indonesia
 
Running Java workloads in Microsoft Azure
Running Java workloads in Microsoft AzureRunning Java workloads in Microsoft Azure
Running Java workloads in Microsoft Azure
Thomas Conté
 
Power of Azure Devops
Power of Azure DevopsPower of Azure Devops
Power of Azure Devops
Azure Riyadh User Group
 
Eclipse Che - A Revolutionary IDE for Distributed & Mainframe Development
Eclipse Che - A Revolutionary IDE for Distributed & Mainframe DevelopmentEclipse Che - A Revolutionary IDE for Distributed & Mainframe Development
Eclipse Che - A Revolutionary IDE for Distributed & Mainframe Development
DevOps.com
 
Guide To Jenkins Management Continuous Integration And Useful Plugins Complet...
Guide To Jenkins Management Continuous Integration And Useful Plugins Complet...Guide To Jenkins Management Continuous Integration And Useful Plugins Complet...
Guide To Jenkins Management Continuous Integration And Useful Plugins Complet...
SlideTeam
 
Jenkins-CI
Jenkins-CIJenkins-CI
Jenkins-CI
Gong Haibing
 

What's hot (20)

IBM Think Session 3249 Watson Work Services Java SDK
IBM Think Session 3249 Watson Work Services Java SDKIBM Think Session 3249 Watson Work Services Java SDK
IBM Think Session 3249 Watson Work Services Java SDK
 
Microsoft Tech Summit Switzerland 2019 - DOCKER + AZURE DEVOPS + KUBERNETES = ♥
Microsoft Tech Summit Switzerland 2019 - DOCKER + AZURE DEVOPS + KUBERNETES = ♥Microsoft Tech Summit Switzerland 2019 - DOCKER + AZURE DEVOPS + KUBERNETES = ♥
Microsoft Tech Summit Switzerland 2019 - DOCKER + AZURE DEVOPS + KUBERNETES = ♥
 
Building Python Web Apps with Docker
Building Python Web Apps with DockerBuilding Python Web Apps with Docker
Building Python Web Apps with Docker
 
ASP.NET Core 1.0: Understanding ASP.NET Core 1.0 (ASP.NET 5)
ASP.NET Core 1.0: Understanding ASP.NET Core 1.0 (ASP.NET 5) ASP.NET Core 1.0: Understanding ASP.NET Core 1.0 (ASP.NET 5)
ASP.NET Core 1.0: Understanding ASP.NET Core 1.0 (ASP.NET 5)
 
ASP.NET Core deployment options
ASP.NET Core deployment optionsASP.NET Core deployment options
ASP.NET Core deployment options
 
Pipelining DevOps with Jenkins and AWS
Pipelining DevOps with Jenkins and AWSPipelining DevOps with Jenkins and AWS
Pipelining DevOps with Jenkins and AWS
 
Azure Container Services
Azure Container Services Azure Container Services
Azure Container Services
 
Advanced jenkins : Create plugin to auto scale worker agent
Advanced jenkins : Create plugin to auto scale worker agentAdvanced jenkins : Create plugin to auto scale worker agent
Advanced jenkins : Create plugin to auto scale worker agent
 
Netflix and Containers: Not A Stranger Thing
Netflix and Containers:  Not A Stranger ThingNetflix and Containers:  Not A Stranger Thing
Netflix and Containers: Not A Stranger Thing
 
IBM Think Session 8598 Domino and JavaScript Development MasterClass
IBM Think Session 8598 Domino and JavaScript Development MasterClassIBM Think Session 8598 Domino and JavaScript Development MasterClass
IBM Think Session 8598 Domino and JavaScript Development MasterClass
 
El camino a las Cloud Native Apps - Application modernization on Azure with c...
El camino a las Cloud Native Apps - Application modernization on Azure with c...El camino a las Cloud Native Apps - Application modernization on Azure with c...
El camino a las Cloud Native Apps - Application modernization on Azure with c...
 
Android App Development..
Android App Development..Android App Development..
Android App Development..
 
Running containerized application in AWS ECS
Running containerized application in AWS ECSRunning containerized application in AWS ECS
Running containerized application in AWS ECS
 
Selenium Automation at Incapsula
Selenium Automation at IncapsulaSelenium Automation at Incapsula
Selenium Automation at Incapsula
 
K8s Cluster Build
K8s Cluster BuildK8s Cluster Build
K8s Cluster Build
 
Running Java workloads in Microsoft Azure
Running Java workloads in Microsoft AzureRunning Java workloads in Microsoft Azure
Running Java workloads in Microsoft Azure
 
Power of Azure Devops
Power of Azure DevopsPower of Azure Devops
Power of Azure Devops
 
Eclipse Che - A Revolutionary IDE for Distributed & Mainframe Development
Eclipse Che - A Revolutionary IDE for Distributed & Mainframe DevelopmentEclipse Che - A Revolutionary IDE for Distributed & Mainframe Development
Eclipse Che - A Revolutionary IDE for Distributed & Mainframe Development
 
Guide To Jenkins Management Continuous Integration And Useful Plugins Complet...
Guide To Jenkins Management Continuous Integration And Useful Plugins Complet...Guide To Jenkins Management Continuous Integration And Useful Plugins Complet...
Guide To Jenkins Management Continuous Integration And Useful Plugins Complet...
 
Jenkins-CI
Jenkins-CIJenkins-CI
Jenkins-CI
 

Similar to Evolution of VS code Java ecosystem

Voxxed Days Thesaloniki 2016 - A journey to Open Source Technologies on Azure
Voxxed Days Thesaloniki 2016 - A journey to Open Source Technologies on AzureVoxxed Days Thesaloniki 2016 - A journey to Open Source Technologies on Azure
Voxxed Days Thesaloniki 2016 - A journey to Open Source Technologies on Azure
Voxxed Days Thessaloniki
 
DevNation
DevNation DevNation
DevNation
jwi11iams
 
Modern Development with Microsoft
Modern Development with MicrosoftModern Development with Microsoft
Modern Development with Microsoft
Joshua Drew
 
Serverless on Azure with Functions
Serverless on Azure with FunctionsServerless on Azure with Functions
Serverless on Azure with Functions
Christos Matskas
 
005528214.pdf
005528214.pdf005528214.pdf
005528214.pdf
EidTahir
 
whats-new-netbeans-ide-7x.pptx
whats-new-netbeans-ide-7x.pptxwhats-new-netbeans-ide-7x.pptx
whats-new-netbeans-ide-7x.pptx
GabrielSoche
 
Tour of Azure DevOps
Tour of Azure DevOpsTour of Azure DevOps
Tour of Azure DevOps
Callon Campbell
 
Vijay Oscon
Vijay OsconVijay Oscon
Vijay Oscon
vijayrvr
 
Continues Integration and Continuous Delivery with Azure DevOps - Deploy Anyt...
Continues Integration and Continuous Delivery with Azure DevOps - Deploy Anyt...Continues Integration and Continuous Delivery with Azure DevOps - Deploy Anyt...
Continues Integration and Continuous Delivery with Azure DevOps - Deploy Anyt...
Janusz Nowak
 
DCSF 19 Developing Apps with Containers, Functions and Cloud Services
DCSF 19 Developing Apps with Containers, Functions and Cloud ServicesDCSF 19 Developing Apps with Containers, Functions and Cloud Services
DCSF 19 Developing Apps with Containers, Functions and Cloud Services
Docker, Inc.
 
Dockercon 2019 Developing Apps with Containers, Functions and Cloud Services
Dockercon 2019 Developing Apps with Containers, Functions and Cloud ServicesDockercon 2019 Developing Apps with Containers, Functions and Cloud Services
Dockercon 2019 Developing Apps with Containers, Functions and Cloud Services
Patrick Chanezon
 
Accelerate Your Automation Testing Effort using TestProject & Docker | Docker...
Accelerate Your Automation Testing Effort using TestProject & Docker | Docker...Accelerate Your Automation Testing Effort using TestProject & Docker | Docker...
Accelerate Your Automation Testing Effort using TestProject & Docker | Docker...
Ajeet Singh Raina
 
Azure DevOps työkalut - Roundtable 14.3.2019
Azure DevOps työkalut - Roundtable 14.3.2019Azure DevOps työkalut - Roundtable 14.3.2019
Azure DevOps työkalut - Roundtable 14.3.2019
Janne Mattila
 
Programming in HTML5 With Java Script and CSS3
Programming in HTML5 With Java Script and CSS3Programming in HTML5 With Java Script and CSS3
Programming in HTML5 With Java Script and CSS3
Testbells
 
Cloud development technology sharing (BlueMix premier)
Cloud development technology sharing (BlueMix premier)Cloud development technology sharing (BlueMix premier)
Cloud development technology sharing (BlueMix premier)
湯米吳 Tommy Wu
 
What’s New & Cool in NetBeans IDE 7.x
What’s New & Cool in NetBeans IDE 7.xWhat’s New & Cool in NetBeans IDE 7.x
What’s New & Cool in NetBeans IDE 7.x
Erik Gur
 
What's New in NetBeans IDE 7.x
What's New in NetBeans IDE 7.xWhat's New in NetBeans IDE 7.x
What's New in NetBeans IDE 7.x
Geertjan Wielenga
 
devops_
devops_devops_
devops_
flopaconsult
 
Announcing AWS CodeBuild - January 2017 Online Teck Talks
Announcing AWS CodeBuild - January 2017 Online Teck TalksAnnouncing AWS CodeBuild - January 2017 Online Teck Talks
Announcing AWS CodeBuild - January 2017 Online Teck Talks
Amazon Web Services
 
Azure DevOps - Azure Guatemala Meetup
Azure DevOps - Azure Guatemala MeetupAzure DevOps - Azure Guatemala Meetup
Azure DevOps - Azure Guatemala Meetup
Guillermo Zepeda Selman
 

Similar to Evolution of VS code Java ecosystem (20)

Voxxed Days Thesaloniki 2016 - A journey to Open Source Technologies on Azure
Voxxed Days Thesaloniki 2016 - A journey to Open Source Technologies on AzureVoxxed Days Thesaloniki 2016 - A journey to Open Source Technologies on Azure
Voxxed Days Thesaloniki 2016 - A journey to Open Source Technologies on Azure
 
DevNation
DevNation DevNation
DevNation
 
Modern Development with Microsoft
Modern Development with MicrosoftModern Development with Microsoft
Modern Development with Microsoft
 
Serverless on Azure with Functions
Serverless on Azure with FunctionsServerless on Azure with Functions
Serverless on Azure with Functions
 
005528214.pdf
005528214.pdf005528214.pdf
005528214.pdf
 
whats-new-netbeans-ide-7x.pptx
whats-new-netbeans-ide-7x.pptxwhats-new-netbeans-ide-7x.pptx
whats-new-netbeans-ide-7x.pptx
 
Tour of Azure DevOps
Tour of Azure DevOpsTour of Azure DevOps
Tour of Azure DevOps
 
Vijay Oscon
Vijay OsconVijay Oscon
Vijay Oscon
 
Continues Integration and Continuous Delivery with Azure DevOps - Deploy Anyt...
Continues Integration and Continuous Delivery with Azure DevOps - Deploy Anyt...Continues Integration and Continuous Delivery with Azure DevOps - Deploy Anyt...
Continues Integration and Continuous Delivery with Azure DevOps - Deploy Anyt...
 
DCSF 19 Developing Apps with Containers, Functions and Cloud Services
DCSF 19 Developing Apps with Containers, Functions and Cloud ServicesDCSF 19 Developing Apps with Containers, Functions and Cloud Services
DCSF 19 Developing Apps with Containers, Functions and Cloud Services
 
Dockercon 2019 Developing Apps with Containers, Functions and Cloud Services
Dockercon 2019 Developing Apps with Containers, Functions and Cloud ServicesDockercon 2019 Developing Apps with Containers, Functions and Cloud Services
Dockercon 2019 Developing Apps with Containers, Functions and Cloud Services
 
Accelerate Your Automation Testing Effort using TestProject & Docker | Docker...
Accelerate Your Automation Testing Effort using TestProject & Docker | Docker...Accelerate Your Automation Testing Effort using TestProject & Docker | Docker...
Accelerate Your Automation Testing Effort using TestProject & Docker | Docker...
 
Azure DevOps työkalut - Roundtable 14.3.2019
Azure DevOps työkalut - Roundtable 14.3.2019Azure DevOps työkalut - Roundtable 14.3.2019
Azure DevOps työkalut - Roundtable 14.3.2019
 
Programming in HTML5 With Java Script and CSS3
Programming in HTML5 With Java Script and CSS3Programming in HTML5 With Java Script and CSS3
Programming in HTML5 With Java Script and CSS3
 
Cloud development technology sharing (BlueMix premier)
Cloud development technology sharing (BlueMix premier)Cloud development technology sharing (BlueMix premier)
Cloud development technology sharing (BlueMix premier)
 
What’s New & Cool in NetBeans IDE 7.x
What’s New & Cool in NetBeans IDE 7.xWhat’s New & Cool in NetBeans IDE 7.x
What’s New & Cool in NetBeans IDE 7.x
 
What's New in NetBeans IDE 7.x
What's New in NetBeans IDE 7.xWhat's New in NetBeans IDE 7.x
What's New in NetBeans IDE 7.x
 
devops_
devops_devops_
devops_
 
Announcing AWS CodeBuild - January 2017 Online Teck Talks
Announcing AWS CodeBuild - January 2017 Online Teck TalksAnnouncing AWS CodeBuild - January 2017 Online Teck Talks
Announcing AWS CodeBuild - January 2017 Online Teck Talks
 
Azure DevOps - Azure Guatemala Meetup
Azure DevOps - Azure Guatemala MeetupAzure DevOps - Azure Guatemala Meetup
Azure DevOps - Azure Guatemala Meetup
 

More from Adi Polak

Demystifying Apache Spark
Demystifying Apache SparkDemystifying Apache Spark
Demystifying Apache Spark
Adi Polak
 
Burst workloads Cutting costs with Kubernetes and Virtual Kubelet
Burst workloads Cutting costs with Kubernetes and Virtual KubeletBurst workloads Cutting costs with Kubernetes and Virtual Kubelet
Burst workloads Cutting costs with Kubernetes and Virtual Kubelet
Adi Polak
 
AI at Scale
AI at ScaleAI at Scale
AI at Scale
Adi Polak
 
From desktop to the cloud, cutting costs with Virtual kubelet and ACI
From desktop to the cloud, cutting costs with Virtual kubelet and ACIFrom desktop to the cloud, cutting costs with Virtual kubelet and ACI
From desktop to the cloud, cutting costs with Virtual kubelet and ACI
Adi Polak
 
ETL – Everything you need to know
ETL – Everything you need to knowETL – Everything you need to know
ETL – Everything you need to know
Adi Polak
 
Make it clean - scala clean code
Make it clean - scala clean codeMake it clean - scala clean code
Make it clean - scala clean code
Adi Polak
 
Spark UDFs are EviL, Catalyst to the rEsCue!
Spark UDFs are EviL, Catalyst to the rEsCue!Spark UDFs are EviL, Catalyst to the rEsCue!
Spark UDFs are EviL, Catalyst to the rEsCue!
Adi Polak
 

More from Adi Polak (7)

Demystifying Apache Spark
Demystifying Apache SparkDemystifying Apache Spark
Demystifying Apache Spark
 
Burst workloads Cutting costs with Kubernetes and Virtual Kubelet
Burst workloads Cutting costs with Kubernetes and Virtual KubeletBurst workloads Cutting costs with Kubernetes and Virtual Kubelet
Burst workloads Cutting costs with Kubernetes and Virtual Kubelet
 
AI at Scale
AI at ScaleAI at Scale
AI at Scale
 
From desktop to the cloud, cutting costs with Virtual kubelet and ACI
From desktop to the cloud, cutting costs with Virtual kubelet and ACIFrom desktop to the cloud, cutting costs with Virtual kubelet and ACI
From desktop to the cloud, cutting costs with Virtual kubelet and ACI
 
ETL – Everything you need to know
ETL – Everything you need to knowETL – Everything you need to know
ETL – Everything you need to know
 
Make it clean - scala clean code
Make it clean - scala clean codeMake it clean - scala clean code
Make it clean - scala clean code
 
Spark UDFs are EviL, Catalyst to the rEsCue!
Spark UDFs are EviL, Catalyst to the rEsCue!Spark UDFs are EviL, Catalyst to the rEsCue!
Spark UDFs are EviL, Catalyst to the rEsCue!
 

Recently uploaded

2024 eCommerceDays Toulouse - Sylius 2.0.pdf
2024 eCommerceDays Toulouse - Sylius 2.0.pdf2024 eCommerceDays Toulouse - Sylius 2.0.pdf
2024 eCommerceDays Toulouse - Sylius 2.0.pdf
Łukasz Chruściel
 
GreenCode-A-VSCode-Plugin--Dario-Jurisic
GreenCode-A-VSCode-Plugin--Dario-JurisicGreenCode-A-VSCode-Plugin--Dario-Jurisic
GreenCode-A-VSCode-Plugin--Dario-Jurisic
Green Software Development
 
UI5con 2024 - Keynote: Latest News about UI5 and it’s Ecosystem
UI5con 2024 - Keynote: Latest News about UI5 and it’s EcosystemUI5con 2024 - Keynote: Latest News about UI5 and it’s Ecosystem
UI5con 2024 - Keynote: Latest News about UI5 and it’s Ecosystem
Peter Muessig
 
SWEBOK and Education at FUSE Okinawa 2024
SWEBOK and Education at FUSE Okinawa 2024SWEBOK and Education at FUSE Okinawa 2024
SWEBOK and Education at FUSE Okinawa 2024
Hironori Washizaki
 
Oracle 23c New Features For DBAs and Developers.pptx
Oracle 23c New Features For DBAs and Developers.pptxOracle 23c New Features For DBAs and Developers.pptx
Oracle 23c New Features For DBAs and Developers.pptx
Remote DBA Services
 
Unveiling the Advantages of Agile Software Development.pdf
Unveiling the Advantages of Agile Software Development.pdfUnveiling the Advantages of Agile Software Development.pdf
Unveiling the Advantages of Agile Software Development.pdf
brainerhub1
 
Webinar On-Demand: Using Flutter for Embedded
Webinar On-Demand: Using Flutter for EmbeddedWebinar On-Demand: Using Flutter for Embedded
Webinar On-Demand: Using Flutter for Embedded
ICS
 
Why Choose Odoo 17 Community & How it differs from Odoo 17 Enterprise Edition
Why Choose Odoo 17 Community & How it differs from Odoo 17 Enterprise EditionWhy Choose Odoo 17 Community & How it differs from Odoo 17 Enterprise Edition
Why Choose Odoo 17 Community & How it differs from Odoo 17 Enterprise Edition
Envertis Software Solutions
 
E-commerce Development Services- Hornet Dynamics
E-commerce Development Services- Hornet DynamicsE-commerce Development Services- Hornet Dynamics
E-commerce Development Services- Hornet Dynamics
Hornet Dynamics
 
Revolutionizing Visual Effects Mastering AI Face Swaps.pdf
Revolutionizing Visual Effects Mastering AI Face Swaps.pdfRevolutionizing Visual Effects Mastering AI Face Swaps.pdf
Revolutionizing Visual Effects Mastering AI Face Swaps.pdf
Undress Baby
 
Oracle Database 19c New Features for DBAs and Developers.pptx
Oracle Database 19c New Features for DBAs and Developers.pptxOracle Database 19c New Features for DBAs and Developers.pptx
Oracle Database 19c New Features for DBAs and Developers.pptx
Remote DBA Services
 
What is Master Data Management by PiLog Group
What is Master Data Management by PiLog GroupWhat is Master Data Management by PiLog Group
What is Master Data Management by PiLog Group
aymanquadri279
 
Empowering Growth with Best Software Development Company in Noida - Deuglo
Empowering Growth with Best Software  Development Company in Noida - DeugloEmpowering Growth with Best Software  Development Company in Noida - Deuglo
Empowering Growth with Best Software Development Company in Noida - Deuglo
Deuglo Infosystem Pvt Ltd
 
Using Query Store in Azure PostgreSQL to Understand Query Performance
Using Query Store in Azure PostgreSQL to Understand Query PerformanceUsing Query Store in Azure PostgreSQL to Understand Query Performance
Using Query Store in Azure PostgreSQL to Understand Query Performance
Grant Fritchey
 
Using Xen Hypervisor for Functional Safety
Using Xen Hypervisor for Functional SafetyUsing Xen Hypervisor for Functional Safety
Using Xen Hypervisor for Functional Safety
Ayan Halder
 
socradar-q1-2024-aviation-industry-report.pdf
socradar-q1-2024-aviation-industry-report.pdfsocradar-q1-2024-aviation-industry-report.pdf
socradar-q1-2024-aviation-industry-report.pdf
SOCRadar
 
Automated software refactoring with OpenRewrite and Generative AI.pptx.pdf
Automated software refactoring with OpenRewrite and Generative AI.pptx.pdfAutomated software refactoring with OpenRewrite and Generative AI.pptx.pdf
Automated software refactoring with OpenRewrite and Generative AI.pptx.pdf
timtebeek1
 
原版定制美国纽约州立大学奥尔巴尼分校毕业证学位证书原版一模一样
原版定制美国纽约州立大学奥尔巴尼分校毕业证学位证书原版一模一样原版定制美国纽约州立大学奥尔巴尼分校毕业证学位证书原版一模一样
原版定制美国纽约州立大学奥尔巴尼分校毕业证学位证书原版一模一样
mz5nrf0n
 
Fundamentals of Programming and Language Processors
Fundamentals of Programming and Language ProcessorsFundamentals of Programming and Language Processors
Fundamentals of Programming and Language Processors
Rakesh Kumar R
 
Hand Rolled Applicative User Validation Code Kata
Hand Rolled Applicative User ValidationCode KataHand Rolled Applicative User ValidationCode Kata
Hand Rolled Applicative User Validation Code Kata
Philip Schwarz
 

Recently uploaded (20)

2024 eCommerceDays Toulouse - Sylius 2.0.pdf
2024 eCommerceDays Toulouse - Sylius 2.0.pdf2024 eCommerceDays Toulouse - Sylius 2.0.pdf
2024 eCommerceDays Toulouse - Sylius 2.0.pdf
 
GreenCode-A-VSCode-Plugin--Dario-Jurisic
GreenCode-A-VSCode-Plugin--Dario-JurisicGreenCode-A-VSCode-Plugin--Dario-Jurisic
GreenCode-A-VSCode-Plugin--Dario-Jurisic
 
UI5con 2024 - Keynote: Latest News about UI5 and it’s Ecosystem
UI5con 2024 - Keynote: Latest News about UI5 and it’s EcosystemUI5con 2024 - Keynote: Latest News about UI5 and it’s Ecosystem
UI5con 2024 - Keynote: Latest News about UI5 and it’s Ecosystem
 
SWEBOK and Education at FUSE Okinawa 2024
SWEBOK and Education at FUSE Okinawa 2024SWEBOK and Education at FUSE Okinawa 2024
SWEBOK and Education at FUSE Okinawa 2024
 
Oracle 23c New Features For DBAs and Developers.pptx
Oracle 23c New Features For DBAs and Developers.pptxOracle 23c New Features For DBAs and Developers.pptx
Oracle 23c New Features For DBAs and Developers.pptx
 
Unveiling the Advantages of Agile Software Development.pdf
Unveiling the Advantages of Agile Software Development.pdfUnveiling the Advantages of Agile Software Development.pdf
Unveiling the Advantages of Agile Software Development.pdf
 
Webinar On-Demand: Using Flutter for Embedded
Webinar On-Demand: Using Flutter for EmbeddedWebinar On-Demand: Using Flutter for Embedded
Webinar On-Demand: Using Flutter for Embedded
 
Why Choose Odoo 17 Community & How it differs from Odoo 17 Enterprise Edition
Why Choose Odoo 17 Community & How it differs from Odoo 17 Enterprise EditionWhy Choose Odoo 17 Community & How it differs from Odoo 17 Enterprise Edition
Why Choose Odoo 17 Community & How it differs from Odoo 17 Enterprise Edition
 
E-commerce Development Services- Hornet Dynamics
E-commerce Development Services- Hornet DynamicsE-commerce Development Services- Hornet Dynamics
E-commerce Development Services- Hornet Dynamics
 
Revolutionizing Visual Effects Mastering AI Face Swaps.pdf
Revolutionizing Visual Effects Mastering AI Face Swaps.pdfRevolutionizing Visual Effects Mastering AI Face Swaps.pdf
Revolutionizing Visual Effects Mastering AI Face Swaps.pdf
 
Oracle Database 19c New Features for DBAs and Developers.pptx
Oracle Database 19c New Features for DBAs and Developers.pptxOracle Database 19c New Features for DBAs and Developers.pptx
Oracle Database 19c New Features for DBAs and Developers.pptx
 
What is Master Data Management by PiLog Group
What is Master Data Management by PiLog GroupWhat is Master Data Management by PiLog Group
What is Master Data Management by PiLog Group
 
Empowering Growth with Best Software Development Company in Noida - Deuglo
Empowering Growth with Best Software  Development Company in Noida - DeugloEmpowering Growth with Best Software  Development Company in Noida - Deuglo
Empowering Growth with Best Software Development Company in Noida - Deuglo
 
Using Query Store in Azure PostgreSQL to Understand Query Performance
Using Query Store in Azure PostgreSQL to Understand Query PerformanceUsing Query Store in Azure PostgreSQL to Understand Query Performance
Using Query Store in Azure PostgreSQL to Understand Query Performance
 
Using Xen Hypervisor for Functional Safety
Using Xen Hypervisor for Functional SafetyUsing Xen Hypervisor for Functional Safety
Using Xen Hypervisor for Functional Safety
 
socradar-q1-2024-aviation-industry-report.pdf
socradar-q1-2024-aviation-industry-report.pdfsocradar-q1-2024-aviation-industry-report.pdf
socradar-q1-2024-aviation-industry-report.pdf
 
Automated software refactoring with OpenRewrite and Generative AI.pptx.pdf
Automated software refactoring with OpenRewrite and Generative AI.pptx.pdfAutomated software refactoring with OpenRewrite and Generative AI.pptx.pdf
Automated software refactoring with OpenRewrite and Generative AI.pptx.pdf
 
原版定制美国纽约州立大学奥尔巴尼分校毕业证学位证书原版一模一样
原版定制美国纽约州立大学奥尔巴尼分校毕业证学位证书原版一模一样原版定制美国纽约州立大学奥尔巴尼分校毕业证学位证书原版一模一样
原版定制美国纽约州立大学奥尔巴尼分校毕业证学位证书原版一模一样
 
Fundamentals of Programming and Language Processors
Fundamentals of Programming and Language ProcessorsFundamentals of Programming and Language Processors
Fundamentals of Programming and Language Processors
 
Hand Rolled Applicative User Validation Code Kata
Hand Rolled Applicative User ValidationCode KataHand Rolled Applicative User ValidationCode Kata
Hand Rolled Applicative User Validation Code Kata
 

Evolution of VS code Java ecosystem

  • 1. Evolution of Visual Studio Code Java Ecosystem Adi Polak @AdiPolak Microsoft
  • 2. Java Cloud Native on Azure – Landscape IaaS – Linux Distributions Multi-Cloud Platforms Tools DevOps Cloud Automation Kubernetes & Containers OSS Foundations JVMs, Frameworks, Runtimes Azure Services CosmosDB Service Fabric App Service Container Instances Container Registry Kubernetes Service Serverless Functions App Insights Azure DevOps SQL Service Event Grid Event Hub Service Bus Active Directory Microsoft SDKs for Java Over 50+ services covered
  • 3. On Microsoft Azure, over 50% of workloads are Linux-based. And over 60,000 patents now open source under OIN.
  • 7. Sublime Text Windows, Mac, Linux https://sublimetext.com/
  • 8. Atom Editor Windows, Mac, Linux https://atom.io/
  • 9. Why Visual Studio Code? Text Editors IDEs • Keyboard centric • Lightweight/fast • File/folders • Polyglot • Project systems • Integrated build • Code understanding • Debug • Templates/wizards • Designers • ALM integration • Keyboard centric • Lightweight/fast • File/folders • Polyglot • Code understanding • Debug
  • 10. • Lightweight editor • Works on Windows, Mac, Linux • Free and open-source • Any language, any framework
  • 11.
  • 15. Hackathon from Red Hat, IBM, Codenvy and Microsoft eclipse.jdt.ls • Started July 2016 by Red Hat • 2 MSFT committers
  • 16. Java Support # downloads > Popular Java Extensions Comprehensive support built by Microsoft, Red Hat, Pivotal and open source community
  • 17. JetBrains 2017 survey JetBrains 2018 Survey 7/1/2015 7/1/2016 7/1/2017 7/1/2018 VS Code Java Developers
  • 18. Setting up Java environment, repeatedly Installing VS Code and Extensions If you could streamline setting up a Java environment using VS code that would help (solving) a lot of problems I've had with it. I know that this isn't really a problem with you and more a problem with the Java ecosystem, but regardless its a barrier to entry because as someone who changes computers, OS's, and environments often its pretty tedious to manage Java installation and then debug problems if there is a version mismatch. – Visual Studio Code Java Developer
  • 19. Auto-detect environment, then pull components online, install and configure Java Development Kit Visual Studio Code Java Extensions
  • 20. Demos Create/Run/Debug Java Plain Code Unit Testing on VS Code Create/Run/Debug Spring App on VS Code Using Spring Boot Dashboard
  • 21. Spring Initializers: on Azure and VS Code aka.ms/spring-init-azure
  • 22. IntelliCode AI-assisted development Recommends code completion Machine Learning Learns from GitHub projects Java support
  • 24. Live Share - Real-time collaborative development Live Editing Audio Call
  • 26. How development often looks like @AdiPolak
  • 27.
  • 28. Remote Development SSH Open a remote folder on any remote machine, virtual machine, or container with a running SSH server and take full advantage of VS Code's feature set. Once connected to a server, you can interact with files and folders anywhere on the remote filesystem. Container The Remote - Containers extension lets you use a Docker container as a full-featured development environment. Consist and easily reproducible toolchain. Quickly swap between different, isolated development environments and safely make updates without worrying about impacting your local machine. Make it easy for new team members / contributors to get up and running in a consistent development environment.
  • 29. Container Development Docker Containerization – Add Dockerfile to your project Images – Build, Run & Manage Images Kubernetes Orchestration - Authoring K8S Manifest Files Deployment - Apply Manifest Files to K8S Clusters Maintenance - Explore K8S Cluster Resources Troubleshooting - Inspect K8S Resources Dev Space Rapid, iterative Kubernetes development experience
  • 31. Let us know what you believe is more important! • Performance and reliability • More code actions and refactoring • Easy to use (installation, setup, configuration, import, etc.) • Build tools – Maven, Gradle • App server? • Android support? • More frameworks support (Java FX, etc.)
  • 32. @AdiPolak Remote Dev aka.ms/remote-os VS Code for Java aka.ms/java-in-vscode Live Share aka.ms/vs-live-share Intelli Code aka.ms/intelli-code Microsoft Learn microsoft.com/learn (Microsoft + Java) ^ Spring @ashleymcnamara

Editor's Notes

  1. I’m at Microsoft and it’s a pleasure to be here at Devoxx Poland, talking to all of you about what Microsoft has been doing for the Java community, for Spring, for Spring developers with pivotal and so much more. Today we are going to focus on VS Code and the Java ecosystem. Let’s take the journey together and learn about the exciting plugins and updates
  2. All of these are supported on Azure with strong relationship between Microsoft and the vendors and project leaders of these technologies.
  3. Microsoft announced today that it’s joining the Open Invention Network (OIN), an open-source patent group designed to help protect Linux from patent lawsuits. In essence, this makes the company’s library over 60,000 patents open source and available to OIN members, via ZDNet.
  4. The Language Server protocol is used between a tool (the client) and a language server to integrate features like auto complete, go to definition, find all references and alike into the tool The LSP was created by Microsoft to define a common language for programming language analyzers to speak. Today, several companies have come together to support its growth, including Codenvy, Red Hat, and Sourcegraph, and the protocol is becoming supported by a rapidly growing list of editor and language communities. See below for details on and links to current client and server implementations.
  5. The java Language server was developed in 2016 during a hackathon in Swisserland with people from IBM,Codeenby, red hat and microsoft
  6. Java support in Visual Studio started at 2016
  7. Code completion in Visual Studio Code for Java is provided by Language Support for Java(TM) by Red Hat. The extension is powered by the same Java development tools (JDT) behind Eclipse, so you can expect the same level of support. In addition, there's also AI-assisted IntelliSense called IntelliCode. It saves you time by putting what you're most likely to use at the top of your completion list. IntelliCode recommendations are based on thousands of open-source projects on GitHub each with over 100 stars, so it’s trained on the most common usages from high quality projects. When combined with the context of your code, the completion list is tailored to promote those practices.  IntelliCode works well with popular Java libraries and frameworks like Java SE and Spring. It will help you whether you are doing monolithic web apps or modern microservices.
  8. Live Share provides you with the ability to co-edit and co-debug while sharing audio, servers, terminals, diffs, comments, and more. Whether you are conducting a code review, pair programming with a teammate, participating in a hack-a-thon, or even teaching an interactive lecture, Live Share can support you in the many ways you collaborat