microsoft open source softwaremicrosoft open source software erich gamma (@erichgamma) bios 2002...

39
Dirk Bäumer (@dbktw) Microsoft Open Source Software Erich Gamma (@ErichGamma)

Upload: others

Post on 30-May-2020

15 views

Category:

Documents


0 download

TRANSCRIPT

Dirk Bäumer (@dbktw)

Microsoft ❤ Open Source Software

Erich Gamma(@ErichGamma)

Bios

2002 2011 2016‘OSS 1.0’ ‘OSS 2.0’

Any developer, any app, any platform

Run on Windows Run everywhere

Edit in Visual Studio Use your favorite editor

Black box compilers Open Language Service APIs/protocols

Proprietary Open Source

Hacker News: Microsoft “Hit List”

https://hn.algolia.com/?query=Microsoft

Microsoft on Github https://github.com/blog/2257-the-state-of-the-octoverse

Open Source .NET – 2 years later

http://mattwarren.org/2016/11/23/open-source-net-2-years-later/

Issue Activity

Oct 2014 Nov 2016

http://mattwarren.org/2016/11/23/open-source-net-2-years-later/

DevelopmentTeam

Community

Transparency

Feedback

Deliver Continuously (with Quality)

Insiders(daily)

Stable(monthly)

React to Feedback

New issues per day ~50Bugs, feature requests, questions

Transparency

https://github.com/Microsoft/vscode/

Visual Studio Code

A desktop tool that combines the simplicity of a code editor with what developers need for the core code-build-debug-commit cycle

editor IDElightweight/fast

keyboard centered

file/folders

many languages

many workflows

project systems

code understanding

debug

integrated build

File>New, wizards

designers

ALM integration

platform tools

...

lightweight/fast

file/folders with project context

many languages

keyboard centered

code understanding

debug

task running

VS Code OSS Consumption

VS Code consumes 142 OSS components

90+% are node modules

Inside Visual Studio Code – OSS in Action

Electron

TypeScript

Monaco Editor

It’s funto program in JavaScript

Demo

Extensions, Extensions, Extensions…

https://hn.algolia.com/?query=Microsoft

https://blogs.microsoft.com/blog/2016/03/07/announcing-sql-server-on-linux

VS Code - Extension isolation

MainProcess

IPC

ExtensionHost

ExtensionHost

RPC

ExtensionHost

Node ProcessRenderer process

Extensions

Demo: Extension Development

Language API

Language Service Extensions: Language Servers

RPC

ExtensionHost

NodeRenderer process

PowerShell Server

OmniSharp Server

Go CLI Tools

Jedi

C++ Server

Rust LS

Eclipse Java Server

TS Server

Common Language Protocol

Editor/IDE Host Language ServerLanguage ServerProtocol

User opens document textDocument/didOpen: textDocument

User edits document textDocument/didChange: textDocument

User executes go to definition

textDocument/defintion: textDocument, position

result: uri, range

User closes document textDocument/didClose: textDocument

JSON RPC

textDocument/publishDiagnostics: diagnostics

https://github.com/Microsoft/language-server-protocol

Language Service Extensions: Language Servers

RPC

ExtensionHost

NodeRenderer process

JSON

PowerShell Server

OmniSharp Server

Go CLI Tools

Jedi

C++ Server

Rust LS

Eclipse Java Server

TS Server

https://github.com/Microsoft/language-server-protocol/wiki/Protocol-Implementations

Java Developmenthttps://projects.eclipse.org/proposals/jdt-language-server

Code Debug Protocol

Microsoft will probably never open source

Windows or Office, its position on Github proves that it's now a true open source company.

http://www.theverge.com/2016/9/15/12926288/microsoft-really-does-love-linux

Microsoft ❤ Developers