Microsoft Developer Tour msdevtour ru Microsoft Developer Tour

  • Slides: 79
Download presentation
Microsoft Developer Tour Технологическая экспедиция msdevtour. ru

Microsoft Developer Tour Технологическая экспедиция msdevtour. ru

Microsoft Developer Tour Технологическая экспедиция #msdevtour

Microsoft Developer Tour Технологическая экспедиция #msdevtour

Phone Phablet Small Tablet Large Tablet 2 -in-1 s (Tablet or Laptop) es vic

Phone Phablet Small Tablet Large Tablet 2 -in-1 s (Tablet or Laptop) es vic rm De tfo Pla Windows 10 для широкого спектра устройств… Desktops & All-in-Ones Classic Laptop Io. T Holo. Lens Microsoft Surface Hub Xbox

es vic rm De tfo Pla …с единой платформой разработки для каждого устройства Adaptive

es vic rm De tfo Pla …с единой платформой разработки для каждого устройства Adaptive UI + Controls Natural User Inputs Live Tiles + Notifications Monetization + Distribution Full Support for Existing Code

One project type to rule them all… Apps

One project type to rule them all… Apps

. NET Framework

. NET Framework

"Dot. Net" by Soumyasch - Own work. Licensed under CC BY-SA 3. 0 via

"Dot. Net" by Soumyasch - Own work. Licensed under CC BY-SA 3. 0 via Wikimedia Commons http: //commons. wikimedia. org/wiki/File: Dot. Net. svg#/media/File: Dot. Net. svg

Зоны развития Performance: For data centric applications, the platform needs to scale to enable

Зоны развития Performance: For data centric applications, the platform needs to scale to enable the display and manipulation of hundreds and thousands of rows of data. Some key scenarios we are looking to optimize in this context are application startup, scrolling and virtualization performance of Items. Controls. Direct. X interoperability: The primary scenario of interest here is to make it seamless for WPF applications to interoperate with newer versions of Direct. X. An example would be native support for DX 11 in D 3 Dimage Supporting modern hardware: Technologies like touch and high density displays are ubiquitous on modern devices. Making it for existing easy for WPF applications to adapt to these new hardware capabilities is a high priority for us Tooling: We will continue to co-evolve the tooling for WPF when appropriate, alongside new platforms like. NET/Win. RT http: //blogs. msdn. com/b/dotnet/archive/2014/11/12/the-roadmap-for-wpf. aspx

Visual Diagnostics (Inspect & Modify Element Properties While Debugging) Live Property Explorer Live Visual

Visual Diagnostics (Inspect & Modify Element Properties While Debugging) Live Property Explorer Live Visual Tree

Timeline Tool (WPF Performance Diagnostics)

Timeline Tool (WPF Performance Diagnostics)

Blend Improvements Improved version control support XAML Intelli. Sense Basic debugging capabilities

Blend Improvements Improved version control support XAML Intelli. Sense Basic debugging capabilities

. NET Framework 4. 6 . NET Core 5 Runtime Компиляторы Nu. Get packages

. NET Framework 4. 6 . NET Core 5 Runtime Компиляторы Nu. Get packages След. поколение JIT (“Ryu. JIT”) SIMD (параллелизм) . NET Compiler Platform (“Roslyn”) Инновации в языках . NET Core 5 Libraries. NET Framework 4. 6 Libraries

Windows Desktop App Model Windows Store Windows Phone App Model ASP. NET 4 App

Windows Desktop App Model Windows Store Windows Phone App Model ASP. NET 4 App Model ASP. NET 5 App Model Framework Runtime Framework Runtime

ASP. NET 5 App Model Universal Windows Apps Model Любая другая модель приложений Unified

ASP. NET 5 App Model Universal Windows Apps Model Любая другая модель приложений Unified BCL (Base Class Library) Runtime Adaption Layer Core CLR . NET Native И Runtime Other Runtime

. NET 2015. NET Framework 4. 6 . NET Core 5 ASP. NET Core

. NET 2015. NET Framework 4. 6 . NET Core 5 ASP. NET Core 5. NET Native (для Windows 10) ASP. NET 5 ASP. NET 4. 6 WPF Windows Forms Windows desktop Windows mobile devices Windows embedded devices ASP. NET Core 5 для Mac и Linux Runtime След. поколение JIT (“Ryu. JIT”) SIMD (параллелизм) Компиляторы . NET Compiler Platform (“Roslyn”) Инновации в языках Библиотеки BCL и PCL Entity Framework

. NET - Open Source Все проекты обновлены до MIT License Проекты • •

. NET - Open Source Все проекты обновлены до MIT License Проекты • • • ASP. NET 5 Entity Framework. NET Core 5. NET Compiler Platform + проекты сообщества Как участвовать • . NET Foundation • Git. Hub

. NET 2015 C# VB API OSS

. NET 2015 C# VB API OSS

public class Point { public int X { get; set; } public int Y

public class Point { public int X { get; set; } public int Y { get; set; } public Point(int x, int y) { X = x; Y = y; } public double Dist { get { return Math. Sqrt(X * X + Y * Y); } } public override string To. String() { return String. Format("({0}, {1})", X, Y); } }

public class Point { public int X { get; } public int Y {

public class Point { public int X { get; } public int Y { get; } public Point(int x, int y) { X = x; Y = y; } public double Dist { get { return Math. Sqrt(X * X + Y * Y); } } public override string To. String() { return String. Format("({0}, {1})", X, Y); } }

public class Point { public int X { get; } public int Y {

public class Point { public int X { get; } public int Y { get; } public Point(int x, int y) { X = x; Y = y; } public double Dist { get { return Math. Sqrt(X * X + Y * Y); } } public override string To. String() { return String. Format("({0}, {1})", X, Y); } }

public class Point { public int X { get; } = 5; public int

public class Point { public int X { get; } = 5; public int Y { get; } = 7; public Point(int x, int y) { X = x; Y = y; } public double Dist { get { return Math. Sqrt(X * X + Y * Y); } } public override string To. String() { return String. Format("({0}, {1})", X, Y); } }

using System. Math; public class Point { public int X { get; } public

using System. Math; public class Point { public int X { get; } public int Y { get; } public Point(int x, int y) { X = x; Y = y; } public double Dist { get { return Math. Sqrt(X * X + Y * Y); } } public override string To. String() { return String. Format("({0}, {1})", X, Y); } }

using System. Math; public class Point { public int X { get; } public

using System. Math; public class Point { public int X { get; } public int Y { get; } public Point(int x, int y) { X = x; Y = y; } public double Dist { get { return Math. Sqrt(X * X + Y * Y); } } public override string To. String() { return String. Format("({0}, {1})", X, Y); } }

using System. Math; public class Point { public int X { get; } public

using System. Math; public class Point { public int X { get; } public int Y { get; } public Point(int x, int y) { X = x; Y = y; } public double Dist { get { return Sqrt(X * X + Y * Y); } } public override string To. String() { return String. Format("({0}, {1})", X, Y); } }

using System. Math; public class Point { public int X { get; } public

using System. Math; public class Point { public int X { get; } public int Y { get; } public Point(int x, int y) { X = x; Y = y; } public double Dist { get { return Sqrt(X * X + Y * Y); } } public override string To. String() { return String. Format("({0}, {1})", X, Y); } }

using System. Math; public class Point { public int X { get; } public

using System. Math; public class Point { public int X { get; } public int Y { get; } public Point(int x, int y) { X = x; Y = y; } public double Dist { get { return Sqrt(X * X + Y * Y); } } public override string To. String() { return "({X}, {Y})"; } }

using System. Math; public class Point { public int X { get; } public

using System. Math; public class Point { public int X { get; } public int Y { get; } public Point(int x, int y) { X = x; Y = y; } public double Dist { get { return Sqrt(X * X + Y * Y); } } public override string To. String() { return "({X}, {Y})"; } }

using System. Math; public class Point { public int X { get; } public

using System. Math; public class Point { public int X { get; } public int Y { get; } public Point(int x, int y) { X = x; Y = y; } public double Dist { get { return Sqrt(X * X + Y * Y); } } public override string To. String() => "({X}, {Y})"; }

using System. Math; public class Point { public int X { get; } public

using System. Math; public class Point { public int X { get; } public int Y { get; } public Point(int x, int y) { X = x; Y = y; } public double Dist { get { return Sqrt(X * X + Y * Y); } } public override string To. String() => "({X}, {Y})"; }

using System. Math; public class Point { public int X { get; } public

using System. Math; public class Point { public int X { get; } public int Y { get; } public Point(int x, int y) { X = x; Y = y; } public double Dist => Sqrt(X * X + Y * Y); public override string To. String() => "({X}, {Y})"; }

using System. Math; public class Point { public int X { get; } public

using System. Math; public class Point { public int X { get; } public int Y { get; } public Point(int x, int y) { X = x; Y = y; } public double Dist => Sqrt(X * X + Y * Y); public override string To. String() => "({X}, {Y})"; }

public class Point { public int X { get; } public int Y {

public class Point { public int X { get; } public int Y { get; } … public JObject To. Json() { var result = new JObject(); result["x"] = X; result["y"] = Y; return result; } }

public class Point { public int X { get; } public int Y {

public class Point { public int X { get; } public int Y { get; } … public JObject To. Json() { var result = new JObject() { ["x"] = X, ["y"] = Y }; return result; } }

public class Point { public int X { get; } public int Y {

public class Point { public int X { get; } public int Y { get; } … public JObject To. Json() { return new JObject() { ["x"] = X, ["y"] = Y }; } }

public class Point { public int X { get; } public int Y {

public class Point { public int X { get; } public int Y { get; } … public JObject To. Json() => new JObject() { ["x"] = X, ["y"] = Y }; }

public static Point From. Json(JObject json) { if (json != null && json["x"]. Type

public static Point From. Json(JObject json) { if (json != null && json["x"]. Type == JToken. Type. Integer && json["y"] != null && json["y"]. Type == JToken. Type. Integer) { return new Point((int)json["x"], (int)json["y"]); } return null; }

public static Point From. Json(JObject json) { if (json != null && json["x"]? .

public static Point From. Json(JObject json) { if (json != null && json["x"]? . Type == JToken. Type. Integer && json["y"]? . Type == JToken. Type. Integer) { return new Point((int)json["x"], (int)json["y"]); } return null; }

public static Point From. Json(JObject json) { if (json? ["x"]? . Type == JToken.

public static Point From. Json(JObject json) { if (json? ["x"]? . Type == JToken. Type. Integer && json? ["y"]? . Type == JToken. Type. Integer) { return new Point((int)json["x"], (int)json["y"]); } return null; }

try { … } catch (Configuration. Exception e) { } finally { }

try { … } catch (Configuration. Exception e) { } finally { }

try { … } catch (Configuration. Exception e) if (e. Is. Severe) { }

try { … } catch (Configuration. Exception e) if (e. Is. Severe) { } finally { }

try { … } catch (Configuration. Exception e) if (e. Is. Severe) { await

try { … } catch (Configuration. Exception e) if (e. Is. Severe) { await Log. Async(e); } finally { await Close. Async(); }

Что включает в себя. NET 2015 C# 6 Roslyn. NET Framework 4. 6 ASP.

Что включает в себя. NET 2015 C# 6 Roslyn. NET Framework 4. 6 ASP. NET 5. NET Native. NET Core 5

Phone Phablet Small Tablet Large Tablet 2 -in-1 s (Tablet or Laptop) es vic

Phone Phablet Small Tablet Large Tablet 2 -in-1 s (Tablet or Laptop) es vic rm De tfo Pla Windows 10 для широкого спектра устройств… Desktops & All-in-Ones Classic Laptop Io. T Holo. Lens Microsoft Surface Hub Xbox

Ресурсы Полезные ссылки http: //blogs. msdn. com/b/dotnet/archive/2014/11/12/announcing-net-2015 -preview-anew-era-for-net. aspx

Ресурсы Полезные ссылки http: //blogs. msdn. com/b/dotnet/archive/2014/11/12/announcing-net-2015 -preview-anew-era-for-net. aspx

© 2015 Microsoft Corporation. All rights reserved. Microsoft, Windows, Office, Azure, System Center, Dynamics

© 2015 Microsoft Corporation. All rights reserved. Microsoft, Windows, Office, Azure, System Center, Dynamics and other product names are or may be registered trademarks and/or trademarks in the U. S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.