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

4,299 views

Published on

Novedades en la plataforma de desarrollo Microsoft para 2014: C#, Roslyn y ASP.NET vNext

Published in: Technology
0 Comments
2 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
4,299
On SlideShare
0
From Embeds
0
Number of Embeds
2,974
Actions
Shares
0
Downloads
29
Comments
0
Likes
2
Embeds 0
No embeds

No notes for slide

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

  1. 1. Agenda
  2. 2. 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
  3. 3. class Program { void Main() { } } ▫ program.exe CSC - VBC
  4. 4. 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
  5. 5. 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
  6. 6. Workspace API Host Environment Workspace Solution Project Project Document Document Solution2 Solutionn Apply Edit Edit SyntaxTree Compilation Events (e.g. key presses)
  7. 7. Syntax Tree API – Nodes CompilationUnit TypeDeclaration MethodDeclaration class C { void M() { } }// C ▫ ParameterList Block var tree = CSharpSyntaxTree.ParseText("...");
  8. 8. Syntax Tree API – Tokens CompilationUnit TypeDeclaration class C { MethodDeclaration } EOF void M ParameterList Block ( ) { } class C { void M() { } }// C ▫
  9. 9. 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 ▫
  10. 10. Syntax Tree API CompilationUnit TypeDeclaration class C { MethodDeclaration } EOF void M ParameterList Block ( ) { } class C { void M() { } }// C ▫
  11. 11. Syntax Tree API CompilationUnit TypeDeclaration class C { MethodDeclaration } EOF void M ParameterList Block ( ) { } class C { void M(int x) { } }// C ▫
  12. 12. Syntax Tree API CompilationUnit TypeDeclaration class C { MethodDeclaration } EOF void M ParameterList Block ( ) { }Parameter int xPredefinedType class C { void M(int x) { } }// C ▫
  13. 13. C# 6
  14. 14. 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); } }
  15. 15. 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);
  16. 16. 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"); }
  17. 17. http://roslyn.codeplex.com
  18. 18. ASP.NET vNext
  19. 19. “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”
  20. 20. .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
  21. 21. Choose your Editors and Tools Open Source with Contributions Cross-PlatformOSS Seamless transition from on-premises to cloud Faster Development CycleTotally Modular Fast
  22. 22. Faster Development Cycle More Control
  23. 23. Runtime Performance Development productivity and low friction
  24. 24. Cloud ready Diagnostics Seamless transition from on-premises to cloud
  25. 25. Editors Open Source with Contributions Runtime OSS
  26. 26. 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
  27. 27. Next gen JIT (“RyuJIT”) SIMD (Data Parallelization) Runtime Compilers .NET Compiler Platform (“Roslyn”) Languages innovation BCL and PCL Entity Framework Libraries
  28. 28. Platform Framework Tools …or bring your own …or bring your own …or bring your own

×