powerpoint presentationdownload.microsoft.com/download/a/2/e/a2e98445-15c0-4b99-a65c... · .net...

64

Upload: duongkiet

Post on 05-Oct-2018

227 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: PowerPoint Presentationdownload.microsoft.com/download/A/2/E/A2E98445-15C0-4B99-A65C... · .NET Core • Modular and smaller implementation of .NET • Cross-platform • App-level
Page 2: PowerPoint Presentationdownload.microsoft.com/download/A/2/E/A2E98445-15C0-4B99-A65C... · .NET Core • Modular and smaller implementation of .NET • Cross-platform • App-level
Page 3: PowerPoint Presentationdownload.microsoft.com/download/A/2/E/A2E98445-15C0-4B99-A65C... · .NET Core • Modular and smaller implementation of .NET • Cross-platform • App-level
Page 4: PowerPoint Presentationdownload.microsoft.com/download/A/2/E/A2E98445-15C0-4B99-A65C... · .NET Core • Modular and smaller implementation of .NET • Cross-platform • App-level
Page 5: PowerPoint Presentationdownload.microsoft.com/download/A/2/E/A2E98445-15C0-4B99-A65C... · .NET Core • Modular and smaller implementation of .NET • Cross-platform • App-level

61%YoY Growth .NET Active Developers

(VS 2012+)

40%.NET Core downloads by new developers 62% GitHub contributions from outside of Microsoft

(corefx / coreclr repos)

0

100

200

300

400

500

600

700

800

900

Jan

Feb

Mar

Ap

r

May

Jun

Jul

Au

g

Oct

No

v

Dec

Jan

Feb

Mar

Ap

r

May

Jun

Jul

Au

g

Oct

No

v

Dec

Jan

Feb

Mar

Ap

r

May

Jun

Jul

Au

g

Qtr1 Qtr2 Qtr3 Qtr4 Qtr1 Qtr2 Qtr3 Qtr4 Qtr1 Qtr2 Qtr3

2014 2015 2016

Community PRs by month

Page 6: PowerPoint Presentationdownload.microsoft.com/download/A/2/E/A2E98445-15C0-4B99-A65C... · .NET Core • Modular and smaller implementation of .NET • Cross-platform • App-level

.NET in 2015

Page 7: PowerPoint Presentationdownload.microsoft.com/download/A/2/E/A2E98445-15C0-4B99-A65C... · .NET Core • Modular and smaller implementation of .NET • Cross-platform • App-level

.NET in 2016

Page 8: PowerPoint Presentationdownload.microsoft.com/download/A/2/E/A2E98445-15C0-4B99-A65C... · .NET Core • Modular and smaller implementation of .NET • Cross-platform • App-level
Page 9: PowerPoint Presentationdownload.microsoft.com/download/A/2/E/A2E98445-15C0-4B99-A65C... · .NET Core • Modular and smaller implementation of .NET • Cross-platform • App-level
Page 10: PowerPoint Presentationdownload.microsoft.com/download/A/2/E/A2E98445-15C0-4B99-A65C... · .NET Core • Modular and smaller implementation of .NET • Cross-platform • App-level
Page 11: PowerPoint Presentationdownload.microsoft.com/download/A/2/E/A2E98445-15C0-4B99-A65C... · .NET Core • Modular and smaller implementation of .NET • Cross-platform • App-level

.NET Framework .NET Core .NET implementation for any scenario on Windows

with comprehensive library support

.NET for modern app needs and development workflows. Cross-platform and Open Source.

.NET

!=

Page 12: PowerPoint Presentationdownload.microsoft.com/download/A/2/E/A2E98445-15C0-4B99-A65C... · .NET Core • Modular and smaller implementation of .NET • Cross-platform • App-level
Page 13: PowerPoint Presentationdownload.microsoft.com/download/A/2/E/A2E98445-15C0-4B99-A65C... · .NET Core • Modular and smaller implementation of .NET • Cross-platform • App-level

.NET FRAMEWORK .NET COREXAMARIN

Page 14: PowerPoint Presentationdownload.microsoft.com/download/A/2/E/A2E98445-15C0-4B99-A65C... · .NET Core • Modular and smaller implementation of .NET • Cross-platform • App-level

.NET FRAMEWORK .NET CORE XAMARIN

AP

P

MO

DELS

BA

SE

LIB

RA

RIE

S

*

Page 15: PowerPoint Presentationdownload.microsoft.com/download/A/2/E/A2E98445-15C0-4B99-A65C... · .NET Core • Modular and smaller implementation of .NET • Cross-platform • App-level

.NET FRAMEWORK .NET CORE XAMARIN

AP

P

MO

DELS

BA

SE

LIB

RA

RIE

S

Page 16: PowerPoint Presentationdownload.microsoft.com/download/A/2/E/A2E98445-15C0-4B99-A65C... · .NET Core • Modular and smaller implementation of .NET • Cross-platform • App-level
Page 17: PowerPoint Presentationdownload.microsoft.com/download/A/2/E/A2E98445-15C0-4B99-A65C... · .NET Core • Modular and smaller implementation of .NET • Cross-platform • App-level

.NET FRAMEWORK .NET CORE XAMARIN

*

Page 18: PowerPoint Presentationdownload.microsoft.com/download/A/2/E/A2E98445-15C0-4B99-A65C... · .NET Core • Modular and smaller implementation of .NET • Cross-platform • App-level

.NET FRAMEWORK .NET CORE XAMARIN

Page 19: PowerPoint Presentationdownload.microsoft.com/download/A/2/E/A2E98445-15C0-4B99-A65C... · .NET Core • Modular and smaller implementation of .NET • Cross-platform • App-level

• .NET Standard can grow without updating platforms

• Fast innovation on libraries, common infrastructure, and tools

• Same API’s available on all platforms

• Master one library not a platform

• Big surface area—no small common denominator

Page 20: PowerPoint Presentationdownload.microsoft.com/download/A/2/E/A2E98445-15C0-4B99-A65C... · .NET Core • Modular and smaller implementation of .NET • Cross-platform • App-level

.NET FRAMEWORK .NET CORE XAMARIN

*Ap

p M

od

el

Inn

ova

tio

n.N

ET In

no

vatio

n

TOOLS

Page 21: PowerPoint Presentationdownload.microsoft.com/download/A/2/E/A2E98445-15C0-4B99-A65C... · .NET Core • Modular and smaller implementation of .NET • Cross-platform • App-level

Next gen JIT (RyuJIT)

SIMD

Runtime Components Compilers

Languages innovation

.NET Compiler Platform .NET Core 5 Libraries

.NET Framework 4.6 Libraries

NuGet packages

.NET快速概览

.NET Framework 4.6 .NET Core

Page 22: PowerPoint Presentationdownload.microsoft.com/download/A/2/E/A2E98445-15C0-4B99-A65C... · .NET Core • Modular and smaller implementation of .NET • Cross-platform • App-level

Next gen JIT (RyuJIT)

SIMD

Runtime Components Compilers

Languages innovation

.NET Compiler Platform .NET Core Libraries

.NET Framework 4.6 Libraries

NuGet packages

.NET Framework 4.6 .NET Core

.NET

Page 23: PowerPoint Presentationdownload.microsoft.com/download/A/2/E/A2E98445-15C0-4B99-A65C... · .NET Core • Modular and smaller implementation of .NET • Cross-platform • App-level

运行时和开发语言 Runtime & Languages

• 64-Bit JIT Compiler (a.k.a

RyuJIT)

• Performance

• New capabilities (SIMD)

• C# 6, VB 14• String interpolation, nameof, Null propagation

• [C#] Exception filters

• [VB] Multiline string literals

• F# 4.0• Slicing syntax for lists

• High-dimensional array support

Page 24: PowerPoint Presentationdownload.microsoft.com/download/A/2/E/A2E98445-15C0-4B99-A65C... · .NET Core • Modular and smaller implementation of .NET • Cross-platform • App-level

.NET编译器平台 Compiler Platform (a.k.a Roslyn)

• Enable better tooling

• Code analyzers• Plugins that provide live guidance within

Visual Studio

• NuGet or vsix

• Enforce best practices for a library, an org or

other domain

• Code aware libraries• = Library + Code Analyzer/Fix

• A library that provides guidance oncorrect use through embedded tooling and operates on the user's code in real time

Page 25: PowerPoint Presentationdownload.microsoft.com/download/A/2/E/A2E98445-15C0-4B99-A65C... · .NET Core • Modular and smaller implementation of .NET • Cross-platform • App-level

包管理 Package Management

• NuGet• Package manager console

• .NET Framework & .NET Core libraries

• Indirect dependencies managed automatically

• ASP.NET and Visual Studio 2015

• Built in support for Bower & NPM

Page 26: PowerPoint Presentationdownload.microsoft.com/download/A/2/E/A2E98445-15C0-4B99-A65C... · .NET Core • Modular and smaller implementation of .NET • Cross-platform • App-level

Next gen JIT (RyuJIT)

SIMD

Runtime Components Compilers

Languages innovation

.NET Compiler Platform .NET Core Libraries

.NET Framework 4.6 Libraries

NuGet packages

.NET Framework 4.6 .NET Core

.NET

Page 27: PowerPoint Presentationdownload.microsoft.com/download/A/2/E/A2E98445-15C0-4B99-A65C... · .NET Core • Modular and smaller implementation of .NET • Cross-platform • App-level

.NET Framework 4.6

.NET

Framework 4

.NET

Framework

4.5

4.5.1 4.5.2

4.6.1

.NET Framework 4.6

Page 28: PowerPoint Presentationdownload.microsoft.com/download/A/2/E/A2E98445-15C0-4B99-A65C... · .NET Core • Modular and smaller implementation of .NET • Cross-platform • App-level

Next gen JIT (RyuJIT)

SIMD

Runtime Components Compilers

Languages innovation

.NET Compiler Platform .NET Core Libraries

.NET Framework 4.6 Libraries

NuGet packages

.NET Framework 4.6 .NET Core

.NET

Page 29: PowerPoint Presentationdownload.microsoft.com/download/A/2/E/A2E98445-15C0-4B99-A65C... · .NET Core • Modular and smaller implementation of .NET • Cross-platform • App-level

Windows Forms

• Here to stay…

• Great way to build desktop apps

• .NET Framework 4.6• RyuJIT

• HighDPI

• Roslyn

Page 30: PowerPoint Presentationdownload.microsoft.com/download/A/2/E/A2E98445-15C0-4B99-A65C... · .NET Core • Modular and smaller implementation of .NET • Cross-platform • App-level

WPF in .NET 4.6

• Performance

• DirectX Interoperability

• Modern Hardware• Touch & HighDPI

• Tooling• Blend for Visual Studio 2015

• Live Visual Tree

• UI Debugging tools for XAML

• Diagnostics timeline tool Connect bugs >10 votes

reactivated for investigation

4/5 fixed of .NET 4.6

Page 31: PowerPoint Presentationdownload.microsoft.com/download/A/2/E/A2E98445-15C0-4B99-A65C... · .NET Core • Modular and smaller implementation of .NET • Cross-platform • App-level

• ASP.NET Core builds on top of .NET Core

• Single framework, for web, services, and microservices

• Middle-ware pipeline, enabling you to inject as little or much functionality as needed

• Fully integrates with CLI tooling and the shared framework

• Takes advantage of .NET Core performance and include a very high performance web server, built on LibUV

Page 32: PowerPoint Presentationdownload.microsoft.com/download/A/2/E/A2E98445-15C0-4B99-A65C... · .NET Core • Modular and smaller implementation of .NET • Cross-platform • App-level

XboxIoT

Page 33: PowerPoint Presentationdownload.microsoft.com/download/A/2/E/A2E98445-15C0-4B99-A65C... · .NET Core • Modular and smaller implementation of .NET • Cross-platform • App-level

• Next Generation Compiler in the Cloud for Store Apps

• Uses lean runtime and VC++ optimizer for fast code execution and reduced memory usage

.NET Native – native compilation for .NET

• Consistent toolkit across Windows device family

• New Windows 10 Controls

• Adaptive capabilities

Universal Windows Platform

Page 34: PowerPoint Presentationdownload.microsoft.com/download/A/2/E/A2E98445-15C0-4B99-A65C... · .NET Core • Modular and smaller implementation of .NET • Cross-platform • App-level

.NET and Xamarin

• Share app logic across

platforms• Native apps for Windows, iOS and Android devices

using .NET

• Most productive and powerful platform for creating native applications

• Maximize code reuse with Universal Projects & Portable Class Libraries

• 100% APIs exposed• Everything you can do in xCode or ADT you can do

with Visual Studio

C# + XIB C# + AXML C# + XAML

Native UI Native UI Native UI

Xamarin .NET Core

Page 35: PowerPoint Presentationdownload.microsoft.com/download/A/2/E/A2E98445-15C0-4B99-A65C... · .NET Core • Modular and smaller implementation of .NET • Cross-platform • App-level

Next gen JIT (RyuJIT)

SIMD

Runtime Components Compilers

Languages innovation

.NET Compiler Platform .NET Core Libraries

.NET Framework 4.6 Libraries

NuGet packages

.NET Framework 4.6 .NET Core

.NET

Page 36: PowerPoint Presentationdownload.microsoft.com/download/A/2/E/A2E98445-15C0-4B99-A65C... · .NET Core • Modular and smaller implementation of .NET • Cross-platform • App-level

.NET Core

• Modular and smaller implementation of .NET

• Cross-platform

• App-level isolation

• Built in the open

• Optimized for specificworkloads

• Built for the next ten years of software development

ASP.NET Core

App Model

Universal Windows Apps Model

Any other

app model

Unified Base Class Library

Runtime Adaption Layer

.NET NativeCore CLR Other Runtime

Page 37: PowerPoint Presentationdownload.microsoft.com/download/A/2/E/A2E98445-15C0-4B99-A65C... · .NET Core • Modular and smaller implementation of .NET • Cross-platform • App-level
Page 38: PowerPoint Presentationdownload.microsoft.com/download/A/2/E/A2E98445-15C0-4B99-A65C... · .NET Core • Modular and smaller implementation of .NET • Cross-platform • App-level

.NET STANDARD LIBRARY

Page 39: PowerPoint Presentationdownload.microsoft.com/download/A/2/E/A2E98445-15C0-4B99-A65C... · .NET Core • Modular and smaller implementation of .NET • Cross-platform • App-level

.NET STANDARD LIBRARY

Page 40: PowerPoint Presentationdownload.microsoft.com/download/A/2/E/A2E98445-15C0-4B99-A65C... · .NET Core • Modular and smaller implementation of .NET • Cross-platform • App-level
Page 41: PowerPoint Presentationdownload.microsoft.com/download/A/2/E/A2E98445-15C0-4B99-A65C... · .NET Core • Modular and smaller implementation of .NET • Cross-platform • App-level

.NET STANDARD LIBRARY

Page 42: PowerPoint Presentationdownload.microsoft.com/download/A/2/E/A2E98445-15C0-4B99-A65C... · .NET Core • Modular and smaller implementation of .NET • Cross-platform • App-level
Page 43: PowerPoint Presentationdownload.microsoft.com/download/A/2/E/A2E98445-15C0-4B99-A65C... · .NET Core • Modular and smaller implementation of .NET • Cross-platform • App-level

.NET STANDARD LIBRARY

Page 44: PowerPoint Presentationdownload.microsoft.com/download/A/2/E/A2E98445-15C0-4B99-A65C... · .NET Core • Modular and smaller implementation of .NET • Cross-platform • App-level

.NET STANDARD LIBRARY

Page 45: PowerPoint Presentationdownload.microsoft.com/download/A/2/E/A2E98445-15C0-4B99-A65C... · .NET Core • Modular and smaller implementation of .NET • Cross-platform • App-level
Page 46: PowerPoint Presentationdownload.microsoft.com/download/A/2/E/A2E98445-15C0-4B99-A65C... · .NET Core • Modular and smaller implementation of .NET • Cross-platform • App-level

Primitives • Collections • Reflection • Interop • LinqCORE

Threads • Thread Pool • TasksTHREADING

Files • Compression • MMFIO

Sockets • Http • Mail • WebSocketsNETWORKING

BinaryFormatter • Data Contract • XMLSERILIZATION

XLinq • XML Document • XPath • Schema • XSLXML

Page 47: PowerPoint Presentationdownload.microsoft.com/download/A/2/E/A2E98445-15C0-4B99-A65C... · .NET Core • Modular and smaller implementation of .NET • Cross-platform • App-level

MY .NET FRAMEWORK

APP

MY STANDARD LIBRARY

MY .NET CORE

APP

MY XAMARIN

APP

Page 48: PowerPoint Presentationdownload.microsoft.com/download/A/2/E/A2E98445-15C0-4B99-A65C... · .NET Core • Modular and smaller implementation of .NET • Cross-platform • App-level

https://blogs.msdn.microsoft.com/dotnet/2016/02/10/porti

ng-to-net-core/

Page 49: PowerPoint Presentationdownload.microsoft.com/download/A/2/E/A2E98445-15C0-4B99-A65C... · .NET Core • Modular and smaller implementation of .NET • Cross-platform • App-level
Page 50: PowerPoint Presentationdownload.microsoft.com/download/A/2/E/A2E98445-15C0-4B99-A65C... · .NET Core • Modular and smaller implementation of .NET • Cross-platform • App-level

应用模型 ASP.NET Core UWP Console

移植动因现有ASP.NET应用跨平台MacOS开发,Linux部署新功能

跨Windows设备,如PC、平板、手机、物联网、Xbox等

跨操作系统.NET Native

适合的应用场景 使用MVC和WebAPI的网站Win8.x/WP8.x应用WP Silverlight应用

大部分控制台应用都需要评估使用的dependencies,例如COM难移植

不适合的应用场景 使用了WebForms的网站Windows Forms桌面应用WPF桌面应用

Page 51: PowerPoint Presentationdownload.microsoft.com/download/A/2/E/A2E98445-15C0-4B99-A65C... · .NET Core • Modular and smaller implementation of .NET • Cross-platform • App-level
Page 52: PowerPoint Presentationdownload.microsoft.com/download/A/2/E/A2E98445-15C0-4B99-A65C... · .NET Core • Modular and smaller implementation of .NET • Cross-platform • App-level

Unity3D cross-clients .NET Core cross-servers

Page 53: PowerPoint Presentationdownload.microsoft.com/download/A/2/E/A2E98445-15C0-4B99-A65C... · .NET Core • Modular and smaller implementation of .NET • Cross-platform • App-level
Page 54: PowerPoint Presentationdownload.microsoft.com/download/A/2/E/A2E98445-15C0-4B99-A65C... · .NET Core • Modular and smaller implementation of .NET • Cross-platform • App-level

古龍知名IP,擁有龐大粉絲受衆

影音品質,精雕細琢

原創美術風格:Q版人物和中式唯美場景

200頁手繪漫畫表現劇情

百餘位絕代雙驕劇情人物

俠客獨有武功,戰術千變萬化

填補行業空白格戰玩法和手遊操作習慣的結合

即時多人戰鬥模式 人與人的較量

核心特點

Page 55: PowerPoint Presentationdownload.microsoft.com/download/A/2/E/A2E98445-15C0-4B99-A65C... · .NET Core • Modular and smaller implementation of .NET • Cross-platform • App-level

絕代雙驕和.Net Core

前端:Unity3D, C#后端:.Net Core,C#

Page 56: PowerPoint Presentationdownload.microsoft.com/download/A/2/E/A2E98445-15C0-4B99-A65C... · .NET Core • Modular and smaller implementation of .NET • Cross-platform • App-level

前后端开发语言一致性带来的好处

好处: 通用模块和工具丰富 可复用性高,减少逻辑冗余 跨平台,开发Windows,部署Linux

价值: 降低30%人员成本 加快20%的项目开发速度 帮助码农聚焦本质

享受Linux的成熟生态便利

Page 57: PowerPoint Presentationdownload.microsoft.com/download/A/2/E/A2E98445-15C0-4B99-A65C... · .NET Core • Modular and smaller implementation of .NET • Cross-platform • App-level

绝代双骄后端框架-类web应用

NGINX REVERSE

PROXY

GM LOGIC LOGIC SYNC SYNC

Redis

MySQL/

HBase

BI

Backups

Cron

Redis

Client

Sqlite

log4net

RSysLog

Redis

Clientlog4net

Sqlite

Antlr3

Support

Page 58: PowerPoint Presentationdownload.microsoft.com/download/A/2/E/A2E98445-15C0-4B99-A65C... · .NET Core • Modular and smaller implementation of .NET • Cross-platform • App-level

• Time taken for tests: 26.438373 sTotal calls: 30000Failed calls: 4Calls per second: 1134.714303 calls/s

• Percentage of time elapsed for 10000 calls of Reward/Get(ms)50% : 787.68897160% : 864.70317870% : 930.54795380% : 997.09200990% : 1062.75987695% : 1110.659838ALL : 1299.689054

• Percentage of time elapsed for 10000 calls of Game/End (ms)50% : 1050.10914860% : 1066.17307770% : 1087.54301180% : 1118.54314890% : 1165.43388495% : 1196.574926ALL : 1310.335875

简要性能数据

典型游戏服务器性能要求:• 单台服务器万人同服,千人并发• 响应延迟在1.5秒以下

.NET Core 的优势:• 性能稳定,性能分化不明显• 失败率低• 充分利用CPU硬件优势

Page 59: PowerPoint Presentationdownload.microsoft.com/download/A/2/E/A2E98445-15C0-4B99-A65C... · .NET Core • Modular and smaller implementation of .NET • Cross-platform • App-level
Page 60: PowerPoint Presentationdownload.microsoft.com/download/A/2/E/A2E98445-15C0-4B99-A65C... · .NET Core • Modular and smaller implementation of .NET • Cross-platform • App-level

Pomelo.EntityFrameworkCore.MySQL

• Open source and free MySQL for Entity Framework Core Provider

• Full support for EF Core features, including migration, eager load and more

• Recommended in Entity Framework Core official document by Microsoft (https://docs.microsoft.com/en-

us/ef/core/providers/pomelo/)

Pomelo.EntityFrameworkCore.MySql MySql.Data.EntityFrameworkCore

License MIT GPL v2

Open source Open source in design Open source after publish

Performance (sync / async) 900QPS / 5000 QPS 600 QPS / does not support

EF Core version covered 1.0.0 to 1.1.0 1.0.0 only

Features Most of EF Core APIs has been supported Some features not works

GitHub https://github.com/PomeloFoundation/Po

melo.EntityFrameworkCore.MySql

https://github.com/mysql/mysql-

connector-net/tree/7.0

NuGet https://www.nuget.org/packages/Pomelo.E

ntityFrameworkCore.MySql

https://www.nuget.org/packages/My

Sql.Data.EntityFrameworkCore

Author: Yisheng Zheng (Microsoft MVP in China)

Page 61: PowerPoint Presentationdownload.microsoft.com/download/A/2/E/A2E98445-15C0-4B99-A65C... · .NET Core • Modular and smaller implementation of .NET • Cross-platform • App-level
Page 62: PowerPoint Presentationdownload.microsoft.com/download/A/2/E/A2E98445-15C0-4B99-A65C... · .NET Core • Modular and smaller implementation of .NET • Cross-platform • App-level

.NET STANDARD LIBRARY

Page 63: PowerPoint Presentationdownload.microsoft.com/download/A/2/E/A2E98445-15C0-4B99-A65C... · .NET Core • Modular and smaller implementation of .NET • Cross-platform • App-level
Page 64: PowerPoint Presentationdownload.microsoft.com/download/A/2/E/A2E98445-15C0-4B99-A65C... · .NET Core • Modular and smaller implementation of .NET • Cross-platform • App-level

Ascend+ 微软技术先锋计划致力于用先进技术帮助客户实现业务转型并加速成长 !

Azure

平台 类别 具体技术

云平台

物联网 IoT Azure IoT Suite, Azure IoT Hub

OSS 开发运维一体化 DevOpsIn partnership with CHEF, Docker, Puppet,

CloudBees, others; ARM Templates

商业应用 Business Apps Azure App Services, Azure Functions

Web和移动应用 Visual Studio, Xamarin

大数据及分析Big Data & Analytics

Machine Learning, SQL Data Warehouse,

R Service (SQL 2016), In Mem (SQL 2016)

SaaS应用 PowerBI Embedded, Microservices

生产力平台对话即平台Conversation as a Platform

Bot Framework

Cortana Skills

移动平台 Windows Centennial Centennial – Win32 publish to store