INTEGRATING DIFFERENT IDE’S WITH A COMMON SET OF DEVELOPER SERVICES WITH A COMMON SET OF...
-
Upload
willy-marroquin-willydev -
Category
Technology
-
view
36 -
download
2
Transcript of INTEGRATING DIFFERENT IDE’S WITH A COMMON SET OF DEVELOPER SERVICES WITH A COMMON SET OF...
David Staheli | Engineering Manager | Visual Studio Team Services | Microsoft
INTEGRATING DIFFERENT IDE’SWITH A COMMON SETOF DEVELOPER SERVICES
WHAT WAS YOUR FIRST IDE?
THERE’S AN IDE FOR THAT
VISUAL STUDIO TEAM SERVICES
Plan
Code
Build
Test
Deploy
Monitor
IDE PLUGINS FORVISUAL STUDIO TEAM SERVICES
DECISIONS AND CHALLENGES
• Matching an IDE’s look and feel
• Reusing code across plug-ins
• Interacting with browsers
MATCHING AN IDE’S LOOK AND FEEL
DUPLICATE UI AND LOGIC
UI
IDE 1
Logic
UI
IDE 2
Logic
DUPLICATE UI, REUSE LOGIC IN-PROCESS
UI
IDE 1
UI
IDE 2
Logic
DUPLICATE UI, REUSE LOGIC OUT-OF-PROCESS
UI
IDE 1
UI
IDE 2
Logic
• TCP• HTTP• stdin/stdout• Named pipe
REUSE UI AND LOGIC – REMOTE WEB SERVER
Embedded
Browser
IDE 1 IDE 2
Embedded
Browser
Web Server
HTTP
EMBEDDED BROWSER INTERACTION
IDE
Browser Host
In-process Browser
JavaScript Events
IDE Procedure Calls JavaScript Function Calls
IDE Events
EMBEDDED BROWSER INTERACTION
Example: Eclipse Issue Tracking
CROSS-PLATFORM BROWSER USAGE
Example: IntelliJ / Android Studio Authentication
CROSS-PLATFORM BROWSER USAGE
In-process browser,
or handling browser events?
Using
Eclipse,
or
supporting
Java 1.6?
SWT Browserorg.eclipse.swt.browser
JavaFX WebViewJava 1.7+
Launch system
browser
No No
Yes Yes
REUSE UI AND LOGIC – LOCAL WEB SERVER
Embedded
Browser
IDE 1 IDE 2
Embedded
Browser
HTTP
Local Web Server
LAUNCHING AN IDE FROM A BROWSER
LAUNCHING AN IDE FROM A BROWSER
Example: Open from Web in Android Studio
FINAL NOTES
• Follow us @JavaALM
• java.visualstudio.com
• GitHub repos:• vso-intellij
• team-explorer-everywhere
• jenkinsci/tfs-plugin
• vso-agent-tasks
• oauth2-useragent
• git-credential-manager-for-mac-and-linux
Evaluate the Sessions
Sign in and vote at eclipsecon.org
- 1 + 10