201209 tech days .net 4.5 核心功能及綜覽

61
蔡孟儒 台灣微軟技術暨平台推廣處 技術推廣協理

description

2012 TechDays Taipei .NET 4.5 核心功能及綜覽

Transcript of 201209 tech days .net 4.5 核心功能及綜覽

Page 1: 201209 tech days .net 4.5 核心功能及綜覽

蔡孟儒

台灣微軟技術暨平台推廣處

技術推廣協理

Page 2: 201209 tech days .net 4.5 核心功能及綜覽
Page 3: 201209 tech days .net 4.5 核心功能及綜覽
Page 4: 201209 tech days .net 4.5 核心功能及綜覽

WHY Change? 在趨勢的演進中拉距

Page 5: 201209 tech days .net 4.5 核心功能及綜覽
Page 6: 201209 tech days .net 4.5 核心功能及綜覽

.NET 簡史以及相容性

Page 7: 201209 tech days .net 4.5 核心功能及綜覽

.NET 2.0 .NET 3.0

.NET 1.1

.NET 1.0

2002 2003 2005 2008 2010 2012

橫線上的較新版本皆為in-place updates (就地更新)

.NET 3.5

.NET 4.5 .NET 4

.NET 4.5 於安裝時取代

.NET 4 (或升級Windows 8時) .NET 4 仍可在Visual Studio 2012 中設為目標Framework

Page 10: 201209 tech days .net 4.5 核心功能及綜覽

.NET 4.5 重要特色 .NET for Windows 市集應用程式

Page 11: 201209 tech days .net 4.5 核心功能及綜覽
Page 12: 201209 tech days .net 4.5 核心功能及綜覽

Desktop

Page 13: 201209 tech days .net 4.5 核心功能及綜覽
Page 14: 201209 tech days .net 4.5 核心功能及綜覽
Page 15: 201209 tech days .net 4.5 核心功能及綜覽
Page 16: 201209 tech days .net 4.5 核心功能及綜覽
Page 17: 201209 tech days .net 4.5 核心功能及綜覽

C#版的WinRT App…

Page 18: 201209 tech days .net 4.5 核心功能及綜覽

ECMA 335

Page 19: 201209 tech days .net 4.5 核心功能及綜覽
Page 20: 201209 tech days .net 4.5 核心功能及綜覽

DllImport "avicap32.dll" "capCreateCaptureWindow"static extern int string int int int int int int int

DllImport "avicap32.dll"static extern bool int MarshalAs UnmanagedType ref string int MarshalAs UnmanagedType ref string int

// more and more of the same

Page 21: 201209 tech days .net 4.5 核心功能及綜覽

using Windows.Media.Capture; var new CameraCaptureUI

new Size

var await CameraCaptureUIMode

if

var new BitmapImage

await FileAccessMode

Page 23: 201209 tech days .net 4.5 核心功能及綜覽

Async & Await

Page 24: 201209 tech days .net 4.5 核心功能及綜覽

var

var

Page 25: 201209 tech days .net 4.5 核心功能及綜覽

.NET 以往處理非同步運算的方法

Page 26: 201209 tech days .net 4.5 核心功能及綜覽
Page 27: 201209 tech days .net 4.5 核心功能及綜覽
Page 28: 201209 tech days .net 4.5 核心功能及綜覽

除了好寫、易讀,debug更容易 private void UseData(String filePath) { Byte[] buff = new Byte[BuffSize]; using (Stream str = File.OpenRead(filePath)) { IAsyncResult asRes = str.BeginRead(buff, 0, buff.Length, (ar) => { if (!ar.CompletedSynchronously) { Int32 len = str.EndRead(ar); ProcessData(buff, len); } }, state: null); if (asRes.CompletedSynchronously) { Int32 lenRes = str.EndRead(asRes); ProcessData(buff, lenRes); } } }

private async Task UseDataAsync(String filePath) { Byte[] buff = new Byte[BuffSize]; using (Stream str = File.OpenRead(filePath)) { Int32 lenRes = await str.ReadAsync(buff, 0, buff.Length); ProcessData(buff, lenRes); } }

Page 29: 201209 tech days .net 4.5 核心功能及綜覽
Page 30: 201209 tech days .net 4.5 核心功能及綜覽
Page 33: 201209 tech days .net 4.5 核心功能及綜覽

To handle the exception in C# or Visual Basic, you use a try/catch block

just as you do with synchronous code today:

var title;

var feedUri = new Uri("http://www.devhawk.com/rss.xml");

var client = new

Windows.Web.Syndication.SyndicationClient();

try

{

var feed = await client.RetrieveFeedAsync(feedUri);

title = feed.Title.Text;

}

catch (Exception ex)

{

// An exception occurred from the async operation

}

Page 34: 201209 tech days .net 4.5 核心功能及綜覽
Page 35: 201209 tech days .net 4.5 核心功能及綜覽

Portable Class Library

Page 37: 201209 tech days .net 4.5 核心功能及綜覽
Page 39: 201209 tech days .net 4.5 核心功能及綜覽
Page 40: 201209 tech days .net 4.5 核心功能及綜覽

ONE ASP.NET – MVC 4, Web API, Bundling & Minification

Page 41: 201209 tech days .net 4.5 核心功能及綜覽

ASP.NET more pluggable, more open, more fun

Scott Hanselman

Page 42: 201209 tech days .net 4.5 核心功能及綜覽
Page 43: 201209 tech days .net 4.5 核心功能及綜覽
Page 44: 201209 tech days .net 4.5 核心功能及綜覽
Page 45: 201209 tech days .net 4.5 核心功能及綜覽
Page 46: 201209 tech days .net 4.5 核心功能及綜覽

Web API

Page 47: 201209 tech days .net 4.5 核心功能及綜覽
Page 48: 201209 tech days .net 4.5 核心功能及綜覽
Page 49: 201209 tech days .net 4.5 核心功能及綜覽

Bundling & Minification

Page 53: 201209 tech days .net 4.5 核心功能及綜覽
Page 55: 201209 tech days .net 4.5 核心功能及綜覽
Page 56: 201209 tech days .net 4.5 核心功能及綜覽

Windows Store App 大募集 活動期間: 2012/09/20 ~ 2012/11/09

http://aka.ms/Win8AppFest

Page 57: 201209 tech days .net 4.5 核心功能及綜覽
Page 58: 201209 tech days .net 4.5 核心功能及綜覽

年費:

- 公司帳戶:NT$2,840

- 個人帳戶:NT$1,420

12個月免費:

- MSDN 訂戶

- BizSpark 計劃: 新創資訊公司

- DreamSpark 計劃: 老師、學生

Page 60: 201209 tech days .net 4.5 核心功能及綜覽
Page 61: 201209 tech days .net 4.5 核心功能及綜覽