SlideShare a Scribd company logo
Microsoft 2014 Dev Plataform -  Roslyn -& ASP.NET vNext
Microsoft 2014 Dev Plataform -  Roslyn -& ASP.NET vNext
Microsoft 2014 Dev Plataform -  Roslyn -& ASP.NET vNext
Agenda
Microsoft 2014 Dev Plataform -  Roslyn -& ASP.NET vNext
Core .NET
Next gen JIT (“RyuJIT”)
SIMD
Runtime Compilers
.NET Compiler Platform (“Roslyn”)
Languages innovation
Windows DesktopAzure and Windows Server
Universal projects
.NET NativeASP.NET updates
Windows Convergence
Native compilation Cross-devices
Xamarin partnership
Web apps
.NET support for
Azure Mobile Services
Cloud Services
Openness
Windows Store iOS and Android
.NET in devices and services
Microsoft 2014 Dev Plataform -  Roslyn -& ASP.NET vNext
class Program
{
void Main()
{
}
} ▫
program.exe
CSC - VBC
Symbol API
Language
Service
Compiler API
Compiler
Pipeline
Syntax Tree API
Binding and Flow
Analysis APIs
Emit API
Formatter
Colorizer
Outlining
NavigateTo
ObjectBrowser
CompletionList
FindAll
References
Rename
QuickInfo
SignatureHelp
ExtractMethod
GoToDefinition
Editand
Continue
Parser
Metadata
Import
Binder IL Emitter
Symbols
Symbol
API
Services
Compiler
Syntax Tree
API
Binding and Flow
Analysis APIs
Emit API
Scripting
API
Workspace API
Code Formatting Find All References Name Simplification …
Editor Services Code Actions Classification Completion …Outlining
Workspace API
Host Environment
Workspace
Solution
Project Project
Document Document
Solution2 Solutionn
Apply
Edit Edit
SyntaxTree
Compilation
Events (e.g. key presses)
Syntax Tree API – Nodes
CompilationUnit
TypeDeclaration
MethodDeclaration
class C
{
void M()
{
}
}// C
▫
ParameterList Block
var tree = CSharpSyntaxTree.ParseText("...");
Syntax Tree API – Tokens
CompilationUnit
TypeDeclaration
class C { MethodDeclaration }
EOF
void M ParameterList Block
( ) { }
class C
{
void M()
{
}
}// C
▫
Syntax Tree API – “Trivia”
CompilationUnit
TypeDeclaration
class C { MethodDeclaration }
EOF
void M ParameterList Block
( )
{ }
SP EOL EOL // C
SPx4 SP
EOL
EOL
EOLSPx4 EOL SPx4
class∙C
{
∙∙∙∙void∙M()
∙∙∙∙{
∙∙∙∙}
}// C
▫
Syntax Tree API
CompilationUnit
TypeDeclaration
class C { MethodDeclaration }
EOF
void M ParameterList Block
( ) { }
class C
{
void M()
{
}
}// C
▫
Syntax Tree API
CompilationUnit
TypeDeclaration
class C { MethodDeclaration }
EOF
void M ParameterList Block
( ) { }
class C
{
void M(int x)
{
}
}// C
▫
Syntax Tree API
CompilationUnit
TypeDeclaration
class C { MethodDeclaration }
EOF
void M ParameterList Block
( ) { }Parameter
int
xPredefinedType
class C
{
void M(int x)
{
}
}// C
▫
C# 6
public class Point(int x, int y)
{
public int X { get; } = x;
public int Y { get; } = y;
public double R { get; } = Math.Sqrt(x ^ x + y ^ y);
public Point() : this(0, 0)
{ }
public override string ToString()
{
return string.Format("({0},{1},{2})", X, Y, R);
}
}
var x = a?.b.c;
//left associative
var x = ((var tmp = a) == null ? null : tmp.b).c;
var x = a?.b?.c; //Changos!
(var tmp = a) == null ? null : tmp.b.c);
var x = a?.b.c;
//right associative
var x = ((var tmp = a) == null ? null : tmp.b.c);
Console.WriteLine(args.FirstOrDefault()?.Length ?? 0);
try
{
Task[] tasks = new Task[10];
for (int i = 0; i < 10; i++)
{
tasks[i] = Task.Factory.StartNew(() => DoSomeWork(10000000));
}
var res = await Task.WhenAll(tasks);
}
catch (AggregateException e) if (e.InnerExceptions.Count > 2)
{
await WriteStatus(“filtered exception");
}
finally
{
await WriteStatus(“finished");
}
http://roslyn.codeplex.com
ASP.NET vNext
Microsoft 2014 Dev Plataform -  Roslyn -& ASP.NET vNext
“Our role is more important than ever before”
“We are required to innovate and deliver much faster”
“I need a cross-device development strategy”
“Open Source enriches the platform and the community
“…but I have existing applications to run and evolve”
Microsoft 2014 Dev Plataform -  Roslyn -& ASP.NET vNext
.NET API for Hadoop WebClient
.NET Compiler Platform ("Roslyn")
.NET Map Reduce API for Hadoop
.NET Micro Framework
ASP.NET MVC
ASP.NET Web API
ASP.NET Web Pages
ASP.NET SignalR
Composition (MEF2)
Entity Framework
Linq to Hive
MEF (Managed Extensibility Framework)
OWIN Authentication Middleware
Rx (Reactive Extensions)
Web Protection Library
Windows Azure .NET SDK
Windows Phone Toolkit
WnsRecipe
Mimekit Xamarin.Auth
Xamarin.Mobile
Couchbase for .NET
http://www.dotnetfoundation.org
@dotnetfdn // #dotnetfdn
Mailkit
System.Drawing
Choose your Editors
and Tools
Open Source
with Contributions Cross-PlatformOSS
Seamless transition
from on-premises to cloud
Faster Development CycleTotally Modular
Fast
Faster Development Cycle
More Control
Runtime Performance
Development productivity and low friction
Cloud ready
Diagnostics
Seamless transition from on-premises to cloud
Editors
Open Source with Contributions
Runtime
OSS
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)
*
MVC, Web API, Web Pages 6, SignalR 3, EF 7
Microsoft 2014 Dev Plataform -  Roslyn -& ASP.NET vNext
Next gen JIT (“RyuJIT”)
SIMD (Data Parallelization)
Runtime Compilers
.NET Compiler Platform (“Roslyn”)
Languages innovation
BCL and PCL
Entity Framework
Libraries
Platform Framework Tools
…or bring your own …or bring your own …or bring your own

More Related Content

PPTX
Roslyn: el futuro de C#
PPTX
.Net Core
PPTX
ASP.NET Core 1.0 Overview
PPTX
A Whirldwind Tour of ASP.NET 5
PDF
API Design in the Modern Era - Architecture Next 2020
PPTX
Que hay de nuevo en Visual Studio 2013 y ASP.NET 5.1
PDF
Getting Started with ASP.NET Core 1.0 (formerly ASP.NET 5)
PPTX
.Net Core - not your daddy's dotnet
Roslyn: el futuro de C#
.Net Core
ASP.NET Core 1.0 Overview
A Whirldwind Tour of ASP.NET 5
API Design in the Modern Era - Architecture Next 2020
Que hay de nuevo en Visual Studio 2013 y ASP.NET 5.1
Getting Started with ASP.NET Core 1.0 (formerly ASP.NET 5)
.Net Core - not your daddy's dotnet

What's hot (19)

PPTX
.NET Core: a new .NET Platform
PPTX
Migrating .NET Application to .NET Core
PPTX
C#: Past, Present and Future
PPTX
Introduction to .NET Core & ASP.NET Core MVC
PPTX
Microsoft ASP.NET 5 - The new kid on the block
PDF
Dot Net Core
PPTX
“ASP.NET Core. Features and architecture”
PPTX
Que hay de nuevo en 2013 en la plataforma Microsoft para desarrolladores
PDF
Use React tools for better Angular apps
PPTX
Whats new in .net core 3
PPTX
ASP.NET Core: The best of the new bits
PPTX
.Net Core Fall update
PPTX
Сергей Калинец "Стероиды для Дотнетчика"
PPTX
Getting Started with ASP.net Core 1.0
PPTX
Developing Rich Internet Applications with Perl and JavaScript
PPTX
Proxying DBI with DBD::Gofer and App::Staticperl
PPTX
Orchard 2... and why you should care
.NET Core: a new .NET Platform
Migrating .NET Application to .NET Core
C#: Past, Present and Future
Introduction to .NET Core & ASP.NET Core MVC
Microsoft ASP.NET 5 - The new kid on the block
Dot Net Core
“ASP.NET Core. Features and architecture”
Que hay de nuevo en 2013 en la plataforma Microsoft para desarrolladores
Use React tools for better Angular apps
Whats new in .net core 3
ASP.NET Core: The best of the new bits
.Net Core Fall update
Сергей Калинец "Стероиды для Дотнетчика"
Getting Started with ASP.net Core 1.0
Developing Rich Internet Applications with Perl and JavaScript
Proxying DBI with DBD::Gofer and App::Staticperl
Orchard 2... and why you should care
Ad

Viewers also liked (16)

PPTX
ASP.NET MVC Workshop Día 1
PPTX
ASP.NET MVC Workshop Día 2
PPTX
Introducción a ASP.NET Web API
PPTX
ASP.NET MVC Workshop Día 3
PPTX
ALM con Visual Studio y TFS 2013
PPTX
HTML5 Media Queries
PPTX
PPTX
HTML5 Offline
PPTX
Windows 10 Developer Readiness
PPTX
.NET Multiplataforma
PPTX
Aplicaciones Real-Time con SignalR
PPTX
Introduccion a Node.js
PPTX
Azure IoT Hub
PPTX
ASP.NET Core 1.0
PPTX
IoT y Dispositivos
PPTX
Proyectos de Base de Datos con Visual Studio 2013
ASP.NET MVC Workshop Día 1
ASP.NET MVC Workshop Día 2
Introducción a ASP.NET Web API
ASP.NET MVC Workshop Día 3
ALM con Visual Studio y TFS 2013
HTML5 Media Queries
HTML5 Offline
Windows 10 Developer Readiness
.NET Multiplataforma
Aplicaciones Real-Time con SignalR
Introduccion a Node.js
Azure IoT Hub
ASP.NET Core 1.0
IoT y Dispositivos
Proyectos de Base de Datos con Visual Studio 2013
Ad

Similar to Microsoft 2014 Dev Plataform - Roslyn -& ASP.NET vNext (20)

PPTX
Roslyn: el futuro de C# y VB.NET by Rodolfo Finochietti
PPTX
.NET Foundation, Future of .NET and C#
PDF
Node.js - async for the rest of us.
PPT
Visual Studio .NET2010
PPT
Dot netsupport in alpha five v11 coming soon
PPTX
Next .NET and C#
PPTX
NodeJS
PDF
Software Language Design & Engineering: Mobl & Spoofax
PDF
Node js introduction
PDF
Mist - Serverless proxy to Apache Spark
PDF
Data Summer Conf 2018, “Mist – Serverless proxy for Apache Spark (RUS)” — Vad...
PPTX
Iron Languages - NYC CodeCamp 2/19/2011
PDF
[HKOSCon 2020] Build an api service using ktor rapidly
PPT
Visual Studio.NET
PPTX
Advanced Serverless Computing in Azure: not another "Hello serverless World"!
PPTX
Roslyn and C# 6.0 New Features
PPTX
Tamir Dresher - What’s new in ASP.NET Core 6
PDF
(1) c sharp introduction_basics_dot_net
PPT
Visual studio.net
Roslyn: el futuro de C# y VB.NET by Rodolfo Finochietti
.NET Foundation, Future of .NET and C#
Node.js - async for the rest of us.
Visual Studio .NET2010
Dot netsupport in alpha five v11 coming soon
Next .NET and C#
NodeJS
Software Language Design & Engineering: Mobl & Spoofax
Node js introduction
Mist - Serverless proxy to Apache Spark
Data Summer Conf 2018, “Mist – Serverless proxy for Apache Spark (RUS)” — Vad...
Iron Languages - NYC CodeCamp 2/19/2011
[HKOSCon 2020] Build an api service using ktor rapidly
Visual Studio.NET
Advanced Serverless Computing in Azure: not another "Hello serverless World"!
Roslyn and C# 6.0 New Features
Tamir Dresher - What’s new in ASP.NET Core 6
(1) c sharp introduction_basics_dot_net
Visual studio.net

More from Rodolfo Finochietti (10)

PPTX
Introduction to Rust language programming
PPTX
Re-bot-lution
PPTX
Azure Functions
PPTX
Despliegue y Monitoreo de aplicaciones ASP.NET Core en Linux
PPTX
Nuevas características para Desarrollo Web en Visual Studio 2012 y ASP.NET MVC 4
PPTX
Desarrollo de aplicaciones Windows 8 Modern UI con Visual Studio 2012
PPTX
Desarrollo de Aplicaciones Metro en Windows 8
PPTX
Introducción a WPF
PPTX
HTML5 Geolocalizacion
Introduction to Rust language programming
Re-bot-lution
Azure Functions
Despliegue y Monitoreo de aplicaciones ASP.NET Core en Linux
Nuevas características para Desarrollo Web en Visual Studio 2012 y ASP.NET MVC 4
Desarrollo de aplicaciones Windows 8 Modern UI con Visual Studio 2012
Desarrollo de Aplicaciones Metro en Windows 8
Introducción a WPF
HTML5 Geolocalizacion

Recently uploaded (20)

PDF
MIND Revenue Release Quarter 2 2025 Press Release
PPT
Teaching material agriculture food technology
PDF
Machine learning based COVID-19 study performance prediction
PDF
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf
PPTX
ACSFv1EN-58255 AWS Academy Cloud Security Foundations.pptx
PDF
Profit Center Accounting in SAP S/4HANA, S4F28 Col11
PDF
Network Security Unit 5.pdf for BCA BBA.
PPTX
KOM of Painting work and Equipment Insulation REV00 update 25-dec.pptx
PDF
Architecting across the Boundaries of two Complex Domains - Healthcare & Tech...
PDF
Per capita expenditure prediction using model stacking based on satellite ima...
PPTX
Big Data Technologies - Introduction.pptx
PDF
Review of recent advances in non-invasive hemoglobin estimation
PDF
Diabetes mellitus diagnosis method based random forest with bat algorithm
PDF
Chapter 3 Spatial Domain Image Processing.pdf
PDF
Mobile App Security Testing_ A Comprehensive Guide.pdf
PPTX
Understanding_Digital_Forensics_Presentation.pptx
PDF
Peak of Data & AI Encore- AI for Metadata and Smarter Workflows
PDF
Empathic Computing: Creating Shared Understanding
PPTX
sap open course for s4hana steps from ECC to s4
PDF
Building Integrated photovoltaic BIPV_UPV.pdf
MIND Revenue Release Quarter 2 2025 Press Release
Teaching material agriculture food technology
Machine learning based COVID-19 study performance prediction
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf
ACSFv1EN-58255 AWS Academy Cloud Security Foundations.pptx
Profit Center Accounting in SAP S/4HANA, S4F28 Col11
Network Security Unit 5.pdf for BCA BBA.
KOM of Painting work and Equipment Insulation REV00 update 25-dec.pptx
Architecting across the Boundaries of two Complex Domains - Healthcare & Tech...
Per capita expenditure prediction using model stacking based on satellite ima...
Big Data Technologies - Introduction.pptx
Review of recent advances in non-invasive hemoglobin estimation
Diabetes mellitus diagnosis method based random forest with bat algorithm
Chapter 3 Spatial Domain Image Processing.pdf
Mobile App Security Testing_ A Comprehensive Guide.pdf
Understanding_Digital_Forensics_Presentation.pptx
Peak of Data & AI Encore- AI for Metadata and Smarter Workflows
Empathic Computing: Creating Shared Understanding
sap open course for s4hana steps from ECC to s4
Building Integrated photovoltaic BIPV_UPV.pdf

Microsoft 2014 Dev Plataform - Roslyn -& ASP.NET vNext

  • 6. Core .NET Next gen JIT (“RyuJIT”) SIMD Runtime Compilers .NET Compiler Platform (“Roslyn”) Languages innovation Windows DesktopAzure and Windows Server Universal projects .NET NativeASP.NET updates Windows Convergence Native compilation Cross-devices Xamarin partnership Web apps .NET support for Azure Mobile Services Cloud Services Openness Windows Store iOS and Android .NET in devices and services
  • 8. class Program { void Main() { } } ▫ program.exe CSC - VBC
  • 9. Symbol API Language Service Compiler API Compiler Pipeline Syntax Tree API Binding and Flow Analysis APIs Emit API Formatter Colorizer Outlining NavigateTo ObjectBrowser CompletionList FindAll References Rename QuickInfo SignatureHelp ExtractMethod GoToDefinition Editand Continue Parser Metadata Import Binder IL Emitter Symbols
  • 10. Symbol API Services Compiler Syntax Tree API Binding and Flow Analysis APIs Emit API Scripting API Workspace API Code Formatting Find All References Name Simplification … Editor Services Code Actions Classification Completion …Outlining
  • 11. Workspace API Host Environment Workspace Solution Project Project Document Document Solution2 Solutionn Apply Edit Edit SyntaxTree Compilation Events (e.g. key presses)
  • 12. Syntax Tree API – Nodes CompilationUnit TypeDeclaration MethodDeclaration class C { void M() { } }// C ▫ ParameterList Block var tree = CSharpSyntaxTree.ParseText("...");
  • 13. Syntax Tree API – Tokens CompilationUnit TypeDeclaration class C { MethodDeclaration } EOF void M ParameterList Block ( ) { } class C { void M() { } }// C ▫
  • 14. Syntax Tree API – “Trivia” CompilationUnit TypeDeclaration class C { MethodDeclaration } EOF void M ParameterList Block ( ) { } SP EOL EOL // C SPx4 SP EOL EOL EOLSPx4 EOL SPx4 class∙C { ∙∙∙∙void∙M() ∙∙∙∙{ ∙∙∙∙} }// C ▫
  • 15. Syntax Tree API CompilationUnit TypeDeclaration class C { MethodDeclaration } EOF void M ParameterList Block ( ) { } class C { void M() { } }// C ▫
  • 16. Syntax Tree API CompilationUnit TypeDeclaration class C { MethodDeclaration } EOF void M ParameterList Block ( ) { } class C { void M(int x) { } }// C ▫
  • 17. Syntax Tree API CompilationUnit TypeDeclaration class C { MethodDeclaration } EOF void M ParameterList Block ( ) { }Parameter int xPredefinedType class C { void M(int x) { } }// C ▫
  • 18. C# 6
  • 19. public class Point(int x, int y) { public int X { get; } = x; public int Y { get; } = y; public double R { get; } = Math.Sqrt(x ^ x + y ^ y); public Point() : this(0, 0) { } public override string ToString() { return string.Format("({0},{1},{2})", X, Y, R); } }
  • 20. var x = a?.b.c; //left associative var x = ((var tmp = a) == null ? null : tmp.b).c; var x = a?.b?.c; //Changos! (var tmp = a) == null ? null : tmp.b.c); var x = a?.b.c; //right associative var x = ((var tmp = a) == null ? null : tmp.b.c); Console.WriteLine(args.FirstOrDefault()?.Length ?? 0);
  • 21. try { Task[] tasks = new Task[10]; for (int i = 0; i < 10; i++) { tasks[i] = Task.Factory.StartNew(() => DoSomeWork(10000000)); } var res = await Task.WhenAll(tasks); } catch (AggregateException e) if (e.InnerExceptions.Count > 2) { await WriteStatus(“filtered exception"); } finally { await WriteStatus(“finished"); }
  • 25. “Our role is more important than ever before” “We are required to innovate and deliver much faster” “I need a cross-device development strategy” “Open Source enriches the platform and the community “…but I have existing applications to run and evolve”
  • 27. .NET API for Hadoop WebClient .NET Compiler Platform ("Roslyn") .NET Map Reduce API for Hadoop .NET Micro Framework ASP.NET MVC ASP.NET Web API ASP.NET Web Pages ASP.NET SignalR Composition (MEF2) Entity Framework Linq to Hive MEF (Managed Extensibility Framework) OWIN Authentication Middleware Rx (Reactive Extensions) Web Protection Library Windows Azure .NET SDK Windows Phone Toolkit WnsRecipe Mimekit Xamarin.Auth Xamarin.Mobile Couchbase for .NET http://www.dotnetfoundation.org @dotnetfdn // #dotnetfdn Mailkit System.Drawing
  • 28. Choose your Editors and Tools Open Source with Contributions Cross-PlatformOSS Seamless transition from on-premises to cloud Faster Development CycleTotally Modular Fast
  • 31. Cloud ready Diagnostics Seamless transition from on-premises to cloud
  • 32. Editors Open Source with Contributions Runtime OSS
  • 33. 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) * MVC, Web API, Web Pages 6, SignalR 3, EF 7
  • 35. Next gen JIT (“RyuJIT”) SIMD (Data Parallelization) Runtime Compilers .NET Compiler Platform (“Roslyn”) Languages innovation BCL and PCL Entity Framework Libraries
  • 36. Platform Framework Tools …or bring your own …or bring your own …or bring your own