[email protected] Runtime Next gen JIT (“RyuJIT”) SIMD (Data Parallelization) Compilers .NET Compiler Platform (“Roslyn”) Languages innovation Libraries BCL and PCL Entity Framework.

Download Report

Transcript [email protected] Runtime Next gen JIT (“RyuJIT”) SIMD (Data Parallelization) Compilers .NET Compiler Platform (“Roslyn”) Languages innovation Libraries BCL and PCL Entity Framework.

[email protected]
Runtime
Next gen JIT (“RyuJIT”)
SIMD (Data Parallelization)
Compilers
.NET Compiler Platform (“Roslyn”)
Languages innovation
Libraries
BCL and PCL
Entity Framework
Runtime
Next gen JIT (“RyuJIT”)
SIMD (Data Parallelization)
Compilers
.NET Compiler Platform (“Roslyn”)
Languages innovation
Libraries
BCL and PCL
Entity Framework
CLOUD
Core-Business
.NET Applications
It’s easy to build .NET apps that use Microsoft services, and share your
service code across apps that target Windows, iOS and Android
(Xamarin).
Add a service
to your app in
Visual Studio
Azure Active
Directory for
authentication
Write code to
use the service
Use in desktop,
device and
server apps
Office 365 for mail,
Azure Mobile
calendar, contacts, users Services for auth
and groups and files
and data
Application
Insights for
analytics
private async Task AddToCalendar()
{
Office365ServiceInfo serviceInfo = await Office365ServiceInfo.GetExchangeServiceInfoAsync();
if (!serviceInfo.HasValidAccessToken){ return; }
CalendarEvent calendarEvent = CreateCalendarEvent();
string requestUrl = String.Format(CultureInfo.InvariantCulture, "{0}/Me/Calendar/Events",
serviceInfo.ApiEndpoint);
using (HttpClient client = new HttpClient())
{
Func<HttpRequestMessage> requestCreator = () =>
{
HttpRequestMessage request = new HttpRequestMessage(HttpMethod.Post, requestUrl);
request.Content = new StringContent(JsonConvert.SerializeObject(calendarEvent));
request.Headers.Add("Accept", "application/json;odata=minimalmetadata");
request.Content.Headers.ContentType = new MediaTypeHeaderValue("application/json");
return request;
};
}
using (HttpResponseMessage response = await Office365Helper.SendRequestAsync(serviceInfo, client,
requestCreator))
{
string responseString = await response.Content.ReadAsStringAsync();
if (response.IsSuccessStatusCode)
{
string message = "Calendar event for the charge on " + charge.ExpenseDate.ToString("D") + " was
added successfully.";
await new MessageDialog(message, "Success!").ShowAsync();
}
else
{
await Office365Helper.ShowErrorMessageAsync(serviceInfo, responseString);
}
}
}
private CalendarEvent CreateCalendarEvent()
{
return new CalendarEvent()
{
EntityType = "#Microsoft.Exchange.Services.OData.Model.Event",
Subject = charge.BilledAmount.ToString("C2") + " @ " + charge.Merchant + "; " + charge.Description,
Start = charge.ExpenseDate.Date.ToUniversalTime(),
End = charge.ExpenseDate.Date.AddDays(1).AddTicks(-1).ToUniversalTime(),
Location = new CalendarLocation()
{
DisplayName = this.charge.Location
}
};
}
private class CalendarEvent
{
[JsonProperty("@odata.type")]
public string EntityType { get; set; }
public string Subject { get; set; }
public DateTime Start { get; set; }
public DateTime End { get; set; }
public CalendarLocation Location { get; set; }
}
private class CalendarLocation
{
public string DisplayName { get; set; }
}
private async Task AddToCalendar()
{
var authenticator = new Authenticator();
var result = await
authenticator.AuthenticateAsync("Calendar",ServiceIdentifierKind.Capability);
var client = new ExchangeClient(result.ServiceUri, result.GetAccessToken);
Event calendarEvent = new Event
{
Subject = charge.BilledAmount.ToString("C2") + " @ " + charge.Merchant;
Start = charge.ExpenseDate.Date.ToUniversalTime(),
End = charge.ExpenseDate.Date.AddDays(1).AddTicks(-1).ToUniversalTime(),
Location = new Location()
{
DisplayName = this.charge.Location,
}
};
await client.Me.Calendar.Events.AddEventAsync(calendarEvent);
string message = "Charge on " + charge.ExpenseDate.ToString("D") + " was added";
await new MessageDialog(message, "Success!").ShowAsync();
}

// Authenticate with Mail
var auth = new Authenticator();
var result = await auth.AuthenticateAsync(“Mail",ServiceIdentifierKind.Capability);

// Create a client object
var calendar= new ExchangeClient(result.ServiceUri, result.GetAccessToken);
// Get upcoming meetings
var eventsRequest = await (from i in calendar.Me.Events
where i.End >= DateTimeOffset.UtcNow
select i).Take(10).ExecuteAsync();















http://aka.ms/ClientLibraries
Runtime
Next gen JIT (“RyuJIT”)
SIMD (Data Parallelization)
Compilers
.NET Compiler Platform (“Roslyn”)
Languages innovation
Libraries
BCL and PCL
Entity Framework
http://aka.ms/dotnetnative
“With Xamarin, developers
combine all of the productivity
benefits of C#, Visual Studio
and Windows Azure with the
flexibility to quickly build for
multiple device targets.”
S. Somasegar, Corporate Vice President, Microsoft
Native UI
Native UI
Native UI
C# + XIB
C# + AXML
C# + XAML
Runtime
Next gen JIT (“RyuJIT”)
SIMD (Data Parallelization)
Compilers
.NET Compiler Platform (“Roslyn”)
Languages innovation
Libraries
BCL and PCL
Entity Framework
OSS
Totally Modular
Faster Development Cycle
Seamless transition
from on-prem to cloud
Choose your Editors
and Tools
Open Source
with Contributions
Fast
Extending Application Types
Common Improvements
Familiar frameworks
Faster Development Cycle
More Control
Runtime Performance
Development productivity and low friction
Seamless transition from on-premises to cloud
Cloud ready
Diagnostics
MVC, Web API, Web Pages 6, SignalR 3, EF 7
Feature
.NET vNext
.NET vNext (Cloud Optimized)
Cloud Ready
*
*
Modular Design
*
*
Dependency Injection
*
*
Consistent Tracing / Debugging
*
*
Faster Development (No Build Step)
*
*
Open Source
*
*
Full Side by Side (framework deployed inside application)
*
Fast startup, Low memory / High throughput (best of class)
*
Runtime
Next gen JIT (“RyuJIT”)
SIMD (Data Parallelization)
Compilers
.NET Compiler Platform (“Roslyn”)
Languages innovation
Libraries
BCL and PCL
Entity Framework
.NET Compiler Platform (“Roslyn”)
.NET Compiler Platform (“Roslyn”)
Runtime
Next gen JIT (“RyuJIT”)
SIMD (Data Parallelization)
Compilers
.NET Compiler Platform (“Roslyn”)
Languages innovation
Libraries
BCL and PCL
Entity Framework
.NET API for Hadoop WebClient
Composition (MEF2)
.NET Compiler Platform ("Roslyn")
.NET Map Reduce API for Hadoop
.NET Micro Framework
ASP.NET SignalR
Linq to Hive
http://www.dotnetfoundation.org
@dotnetfdn // #dotnetfdn
Windows Phone Toolkit
Entity Framework
ASP.NET Web Pages
ASP.NET MVC
ASP.NET Web API
MEF (Managed Extensibility Framework)
Rx (Reactive Extensions)
Xamarin.Mobile
Mimekit
Mailkit
Web Protection Library
WnsRecipe
Couchbase for .NET
System.Drawing
Xamarin.Auth
OWIN Authentication Middleware
Windows Azure .NET SDK
Miguel de Icaza (Xamarin)
Nigel Sampson (Compiled Experience)
Laurent Bugnion (IdentityMine)
Anthony van der Hoorn (Glimpse)
Paul Betts (GitHub)
Niels Hartvig (Umbraco)
http://channel9.msdn.com/Events/TechEd
www.microsoft.com/learning
http://microsoft.com/technet
http://microsoft.com/msdn