.NET 開源框架提升前後端開發生產力
. NET 開源框架提升前後端開發生產力 徐玉濤 Tory Xu 高級技術顧問開發體驗與平臺合作事業部微軟 Microsoft 周鋒 Feng Zhou 產品總監雷火遊戲事業部網易 NetEase
Agenda.NET 的今天與明天.NET 快速概覽移植到.NET Core.NET Core 應用案例 網易遊戲
.NET.NET Framework.NET implementation for any scenario on Windows with comprehensive library support!=.net Core.NET for modern app needs and development workflows. Cross-platform and Open Source.
ASP.NET Core.NET Core Innovation Openness Any app, any platform
.NET 展望
.NET FRAMEWORK.NET XAMARIN CORE
BASE LIBRARIES APP MODELS.NET FRAMEWORK.NET CORE XAMARIN *
BASE LIBRARIES APP MODELS.NET FRAMEWORK.NET CORE XAMARIN
.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
.NET 未來藍圖.NET Framework 4.6.NET Core Runtime Components Next gen JIT (RyuJIT) SIMD Compilers Languages innovation.net Compiler Platform NuGet packages.net Core 5 Libraries.NET Framework 4.6 Libraries
.NET.NET Framework 4.6.NET Core Runtime Components Next gen JIT (RyuJIT) SIMD Compilers Languages innovation.net Compiler Platform NuGet packages.net Core Libraries.NET Framework 4.6 Libraries
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 on correct 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
.NET.NET Framework 4.6.NET Core Runtime Components Next gen JIT (RyuJIT) SIMD Compilers Languages innovation.net Compiler Platform NuGet packages.net Core Libraries.NET Framework 4.6 Libraries
.NET Framework 4.6.NET Framework 4.6.NET Framework 4.NET Framework 4.5 4.5.1 4.5.2 4.6.1
.NET.NET Framework 4.6.NET Core Runtime Components Next gen JIT (RyuJIT) SIMD Compilers Languages innovation.net Compiler Platform NuGet packages.net Core Libraries.NET Framework 4.6 Libraries
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
IoT Xbox
Universal Windows Platform Consistent toolkit across Windows device family New Windows 10 Controls Adaptive capabilities.net Native native compilation for.net Next Generation Compiler in the Cloud for Store Apps Uses lean runtime and VC++ optimizer for fast code execution and reduced memory usage
.NET and Xamarin Share app logic across platforms Native apps for Windows, ios and Android devices using.net Native UI Native UI Native UI C# + XIB C# + AXML C# + XAML 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 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
.NET.NET Framework 4.6.NET Core Runtime Components Next gen JIT (RyuJIT) SIMD Compilers Languages innovation.net Compiler Platform NuGet packages.net Core Libraries.NET Framework 4.6 Libraries
.NET Core Modular and smaller implementation of.net Cross-platform App-level isolation Built in the open Optimized for specific workloads Built for the next ten years of software development ASP.NET Core App Model Core CLR Universal Windows Apps Model Unified Base Class Library Runtime Adaption Layer.NET Native Any other app model 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 的網站 使用了 WebForms 的網站 Win8.x/WP8.x 應用 WP Silverlight 應用 Windows Forms 桌面應用 WPF 桌面應用 大部分主控台應用都需要評估使用的 dependencies, 例如 COM 難移植
Unity3D cross-clients.net Core cross-servers
絕代雙驕中.Net Core 的應用分享
80+ 手游 / 端游自研 網易遊戲開發者專區 AppStore 為我們單獨提供
核心特點 古龍知名 IP, 擁有龐大粉絲受衆 影音品質, 精雕細琢 原創美術風格 :Q 版人物和中式唯美場景 200 頁手繪漫畫表現劇情 百餘位絕代雙驕劇情人物 俠客獨有武功, 戰術千變萬化 填補行業空白格戰玩法和手遊操作習慣的結合 即時多人戰鬥模式 人與人的較量
絕代雙驕和.Net Core 前端 :Unity3D, C# 后端 :.Net Core,C#
前後端開發語言一致性帶來的好處 好處 : 通用模組和工具豐富 可複用性高, 減少邏輯冗余 跨平臺,Windows 開發, Linux 部署 價值 : 降低 30% 人員成本 加快 20% 的專案開發速度 説明碼農聚焦本質 享受 Linux 的成熟生態便利
絕代雙驕後端框架 - 類 web 應用 RSysLog Redis MySQL /HBase BI Backup s Suppor t log4n et Redi sclie nt log4n et Redis Client Cro n GM LOGIC LOGIC Antlr 3 SYN C SYNC Sqlite Sqlite NGINX REVERSE PROXY
簡要效能資料 Time taken for tests: 26.438373 s Total calls: 30000 Failed calls: 4 Calls per second: 1134.714303 calls/s Percentage of time elapsed for 10000 calls of Reward/Get(ms) 50% : 787.688971 60% : 864.703178 70% : 930.547953 80% : 997.092009 90% : 1062.759876 95% : 1110.659838 ALL : 1299.689054 Percentage of time elapsed for 10000 calls of Game/End (ms) 50% : 1050.109148 60% : 1066.173077 70% : 1087.543011 80% : 1118.543148 90% : 1165.433884 95% : 1196.574926 ALL : 1310.335875 典型遊戲伺服器性能要求 : 單台伺服器萬人同服, 千人併發 回應延遲在 1.5 秒以下.NET Core 的優勢 : 性能穩定, 性能分化不明顯 失敗率低 充分利用 CPU 硬體優勢
Channel 9