net開源框架download.microsoft.com/download/7/8/d/78d289b4-cc... · 5/9/2016 · .net core •...
TRANSCRIPT
.NET開源框架提升前後端開發生產力
. NET開源框架提升前後端開發生產力
徐玉濤 Tory Xu高級技術顧問
開發體驗與平臺合作事業部
微軟 Microsoft
周鋒 Feng Zhou產品總監
雷火遊戲事業部
網易 NetEase
Agenda
.NET的今天與明天
.NET快速概覽移植到.NET Core
.NET Core應用案例 –網易遊戲
.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
!=
Innovation Any app, any platform
Openness
.NET Core
ASP.NET Core
.NET展望
.NET FRAMEWORK .NET COREXAMARIN
.NET FRAMEWORK .NET CORE XAMARIN
AP
P
MO
DELS
BA
SE
LIB
RA
RIE
S
*
.NET FRAMEWORK .NET CORE XAMARIN
AP
P
MO
DELS
BA
SE
LIB
RA
RIE
S
.NET FRAMEWORK .NET CORE XAMARIN
*
.NET FRAMEWORK .NET CORE XAMARIN
.NET FRAMEWORK .NET CORE XAMARIN
*
TOOLS
Developed in the open
http://dotnet.github.io
Developed in the open
http://dotnet.github.io
Announcing
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
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
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
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
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
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
.NET Framework 4.6
.NET
Framework 4
.NET
Framework 4.5
4.5.1 4.5.2
4.6.1
.NET Framework 4.6
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
Windows Forms
• Here to stay…
• Great way to build desktop apps
• .NET Framework 4.6• RyuJIT
• HighDPI
• Roslyn
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
XboxIoT
• 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
.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
• 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
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
.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
移植到 .NET Core
https://blogs.msdn.microsoft.com/dotnet/2016/02/10/port
ing-to-net-core/
App Model 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桌面應用
Unity3D cross-clients .NET Core cross-servers
絕代雙驕中.Net Core的應用分享
80+手游/端游自研
網易遊戲開發者專區AppStore為我們單獨提供
古龍知名IP,擁有龐大粉絲受衆
影音品質,精雕細琢
原創美術風格:Q版人物和中式唯美場景
200頁手繪漫畫表現劇情
百餘位絕代雙驕劇情人物
俠客獨有武功,戰術千變萬化
填補行業空白 格戰玩法和手遊操作習慣的結合
即時多人戰鬥模式 人與人的較量
核心特點
絕代雙驕和.NetCore
前端:Unity3D, C#后端:.Net Core,C#
前後端開發語言一致性帶來的好處
好處: 通用模組和工具豐富 可複用性高,減少邏輯冗余 跨平臺,Windows開發,Linux部署
價值: 降低30%人員成本 加快20%的專案開發速度 説明碼農聚焦本質
享受Linux的成熟生態便利
絕代雙驕後端框架-類web應用
NGINX REVERSE
PROXY
GM LOGIC LOGICSYN
CSYNC
Redis
MySQL
/HBase
BI
Backup
s
Cro
n
Redis
Client
Sqlite
log4n
et
RSysLog
Redi
sClie
nt
log4n
et
Sqlite
Antlr
3
Suppor
t
• 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硬體優勢