SlideShare a Scribd company logo
PARTNERSHIP
The next step from Microsoft - vNext
October, 2014
Srdjan Poznic
History of ASP.NET
- Released in 2002 with VisualStudio.NET
- ASP.NET Ajax (2007)
- ASP.NET Dynamic Data (2008)
- ASP.NET MVC added (2009)
- WebAPI added (2012)
- OWIN and SignalR introduced (2013)
Current state of ASP.NET
- MVC
- WebAPI
- WebPages, WebForms
- Entity Framework
Mature enough?
Idea?
- What we can do to make .NET better on the cloud?
- What we can do to make .NET better on the hosted
environment?
- How to improve development cycle?
- …
What customers say?
- We want open-source!
- We need to deliver much faster
- We need cross-device development strategy
- My customer can’t update to new version of
framework.
- …
ASP.NET vNext
- Latest: ASP.NET vNext alpha4
(October, 6th)
- Visual Studio 14 CTP 4
(Community Technology Preview)
- .NET Framework v4.5.3
New approach
- .NET Innovation
Innovation on the core of existing and future applications
- Flexibility and agile delivery
Continuous modular releases
- Openness
Transparent, open and community driven
Goal
- Fast
- Open-source
- Modular
- Cross-platform support
- Choose editors/tools
- Faster development cycle
New builds and inside the tools
(Use pieces that you what to use)
What is new?
- All about NuGet
- New run-time engine called „K“
- Roslyn compiler
- New project system
- New configuration system
- Cloud optimized .NET (CoreCLR) takes ~11MB
Demo
New features
- Side-by-side deployment
- Exact same code is running on both machines
- no GAC
- Open source
- Cross-platform (Windows, Mac, Linux)
What is new in asp.net?
- MVC, WebAPI, WebPages 6, SignalR 3, EF 7
- MVC, Web API & Web Pages have been merged into
one
- Cloud-optimized versions of MVC, WebAPI, Web
Pages, SignalR, and EF
- Host agnostic – runs not only under IIS
What is new in asp.net?
- Removing System.Web
- Moving to OWIN middleware
- e.g. Error screen replacement
- HttpContext (minimum info in object graph)
- The result is a leaner framework, with faster startup
time and lower memory consumption.
What is new in asp.net?
- No Web.Config anymore
- No Global.asax
- No packages.xml file
- No DLLs anymore
AspNet.Loader.dll
Runtime performances
- Old HttpContext removed (~30K)
- New HttpContext (~2K)
- GC
- Faster startup time
- Lower memory
- REST vs Line Business Apps (historical reasons)
Faster development
- Change the file > Save > Refresh the browser
- Faster development (dynamic compiling)
- Cloud optimized
- Develop in cloud editors
Cloud
- Seamless transition to cloud
(Same code is running)
- Configuration
- Session
(SessionState to SessionStateProvider)
Cloud
- Cache
Azure Redis Cache / Asp.net cache
- Run/Debug in Cloud
Visual Studio Online “Monaco”
- Tracing/Logging without re-deploy
Extending application types
- Knockout
- AngularJS
- Ember
- Backbone
- …
Common improvements
- DI everywhere
- Tracing and Diagnostics
- Consistency
Dependency Injection
- Scoped/Transient/Instance/Singleton
- Scoped (per request scope):
To me, as a developer, this means
- I get all the advantages of the .NET platform
(performance, stability, security, comprehensive
API)
- The development experience of C# and Visual
Studio... with the simplicity, portability, quick
development refresh cycle and flexibility of an
interpreted web framework.
Demo
K Runtime
K
Runtime
• Find and call the CLR Native host
• Pass in arguments given to the process to the native host
Layer 0
Native processs
• Boot the CLR
• Calling the Managed Entry Point, Layer 2
Layer 1
CLR Native Host
• Create the LoaderContainer that will contain the required Iloaders
• Provide the root ILoader that will load assemblies, and satisfy dependencies
• Call the main entry point of the provided program
Layer 2
Managed Entry point
• Walks the dependencies in the project and builds up the closure of dependencies
• Adds ILoader => LoaderContainer that can load assemblies from various sources
• Calls the entry point of assembly name given as the next argument given to KLR.exe
Layer 3
Application Host
• Developer’s application code when running on the application host
Layer 4
Application
K Runtime Layering
K tools
- KVM (K runtime version manager)
- Switch between versions
- Switch between .NET runtimes
- Upgrade K Runtime
K tools
- KPM (K runtime package manager)
- Downloads or restores packages for application
- Runs from command-line
- Uses project file to detect required packages
kpm list
kpm use
kpm upgrade
kpm pack (-- runtime)
Roslyn
- (.NET) Compiler as a Platform
- Mission?
- Opportunities for:
- meta-programming
- code generation and transformation
- interactive use of the C# and VB languages
Roslyn
Roslyn
- API and Pipeline
Roslyn
- WebForms, MVC5, WebAPI 2, WebPages 3, SignalR
2, EF 6
- fully supported by Roslyn
Roslyn
Tools
- Nuget Package Explorer
https://npe.codeplex.com/
- Process Explorer
- API Portability Analyzer – Alpha
http://www.microsoft.com/en-us/download/details.aspx?id=42678
- MyGet
https://www.myget.org/
- Sublime editor
http://www.sublimetext.com/
More..
- .NET Native
- .NET Native compiles C# to native machine code
that performs like C++
- Popular Windows Store apps start up to 60%
faster and use 15-20% less memory when
compiled with .NET Native.
- C++ updates
- Command line scaffolding
- RyuJIT: The next-generation JIT compiler for .NET
Future of the core
- Why not nugget/MSBuild?
- Gulp
- Grunt
- Bower
Future of the front end build process
Known issues:
- Browser link
Fix: Disable Browser Link
http://blogs.msdn.com/b/webdev/archive/2013/06/28/browser-link-
feature-in-visual-studio-preview-2013.aspx
- Missing ASP.NET Loader IIS assembly
Fix?
- Opening project.json as a project
may lead to the wrong output type
Fix: Change output type
Known issues:
- After creating new vNext project, empty project
folder is created under the solution folder
- New project not under “src”
- KVM installation
WARNING!
- This shows what the ASP.NET team is working on
- DO NOT use it in Production
- DO NOT run it on your development machine
Links
- WebDev blog: http://blogs.msdn.com/b/webdev
- Asp.net: www.asp.net/vnext
- Asp.net Github: https://github.com/aspnet
- Scott’s blog: http://www.hanselman.com/
http://www.meetup.com/NET-User-Group-Novi-Sad/
O autoru…
- Mail: s.poznic@vegait.rs
- twitter: @srdjanpoznic
- Linked in: http://goo.gl/bXA7Av
T H A N K Y O U

More Related Content

What's hot

What's hot (20)

.NET Core: a new .NET Platform
.NET Core: a new .NET Platform.NET Core: a new .NET Platform
.NET Core: a new .NET Platform
 
ICON UK 2016: Modernizing an IBM Notes applicaton using with AngularJS
ICON UK 2016: Modernizing an IBM Notes applicaton using with AngularJSICON UK 2016: Modernizing an IBM Notes applicaton using with AngularJS
ICON UK 2016: Modernizing an IBM Notes applicaton using with AngularJS
 
API Gateway study
API Gateway studyAPI Gateway study
API Gateway study
 
ASP.NET - Introduction to Web Forms and MVC
ASP.NET - Introduction to Web Forms and MVCASP.NET - Introduction to Web Forms and MVC
ASP.NET - Introduction to Web Forms and MVC
 
.Net Core 1.0 vs .NET Framework
.Net Core 1.0 vs .NET Framework.Net Core 1.0 vs .NET Framework
.Net Core 1.0 vs .NET Framework
 
What's new in Visual Studio for Mac for .NET Developers
What's new in Visual Studio for Mac for .NET DevelopersWhat's new in Visual Studio for Mac for .NET Developers
What's new in Visual Studio for Mac for .NET Developers
 
Implementing portlets using Web Scripts
Implementing portlets using Web ScriptsImplementing portlets using Web Scripts
Implementing portlets using Web Scripts
 
Alfresco Summit 2014 - Crafter CMS - Case European Bank
Alfresco Summit 2014 - Crafter CMS - Case European BankAlfresco Summit 2014 - Crafter CMS - Case European Bank
Alfresco Summit 2014 - Crafter CMS - Case European Bank
 
Building reusable components as micro frontends with glimmer js and webcompo...
Building reusable components as micro frontends  with glimmer js and webcompo...Building reusable components as micro frontends  with glimmer js and webcompo...
Building reusable components as micro frontends with glimmer js and webcompo...
 
ASP.NET 5 Overview
ASP.NET 5 OverviewASP.NET 5 Overview
ASP.NET 5 Overview
 
Unpacking .NET Core | EastBanc Technologies
Unpacking .NET Core | EastBanc TechnologiesUnpacking .NET Core | EastBanc Technologies
Unpacking .NET Core | EastBanc Technologies
 
Introduction to ASP.NET Core
Introduction to ASP.NET CoreIntroduction to ASP.NET Core
Introduction to ASP.NET Core
 
Introduction to Kong API Gateway
Introduction to Kong API GatewayIntroduction to Kong API Gateway
Introduction to Kong API Gateway
 
Integrating Alfresco with Portals
Integrating Alfresco with PortalsIntegrating Alfresco with Portals
Integrating Alfresco with Portals
 
Moving ASP.NET MVC to ASP.NET Core
Moving ASP.NET MVC to ASP.NET Core Moving ASP.NET MVC to ASP.NET Core
Moving ASP.NET MVC to ASP.NET Core
 
Gatekeeper: API gateway
Gatekeeper: API gatewayGatekeeper: API gateway
Gatekeeper: API gateway
 
PHP is the King, nodejs the prince and python the fool
PHP is the King, nodejs the prince and python the foolPHP is the King, nodejs the prince and python the fool
PHP is the King, nodejs the prince and python the fool
 
.Net platform .Net core fundamentals
.Net platform .Net core  fundamentals.Net platform .Net core  fundamentals
.Net platform .Net core fundamentals
 
CSV and JSON Transformation in WSO2 Micro Integrator 4.0 - WSO2 APIM Communit...
CSV and JSON Transformation in WSO2 Micro Integrator 4.0 - WSO2 APIM Communit...CSV and JSON Transformation in WSO2 Micro Integrator 4.0 - WSO2 APIM Communit...
CSV and JSON Transformation in WSO2 Micro Integrator 4.0 - WSO2 APIM Communit...
 
Asp.Net Core MVC , Razor page , Entity Framework Core
Asp.Net Core MVC , Razor page , Entity Framework CoreAsp.Net Core MVC , Razor page , Entity Framework Core
Asp.Net Core MVC , Razor page , Entity Framework Core
 

Viewers also liked

Bitcoin basics
Bitcoin basicsBitcoin basics
Bitcoin basics
wdqbupt
 
Edital de chamamento convocação dos candidatos “suplentes” inscritos no progr...
Edital de chamamento convocação dos candidatos “suplentes” inscritos no progr...Edital de chamamento convocação dos candidatos “suplentes” inscritos no progr...
Edital de chamamento convocação dos candidatos “suplentes” inscritos no progr...
TecnologiaPMC
 

Viewers also liked (15)

Framework skripsi it risk management
Framework skripsi it risk managementFramework skripsi it risk management
Framework skripsi it risk management
 
Algoritmos 2
Algoritmos 2Algoritmos 2
Algoritmos 2
 
Market Update June 27 2016
Market Update June 27 2016Market Update June 27 2016
Market Update June 27 2016
 
EDU 623 Entire Course 2015 version
EDU 623 Entire Course 2015 versionEDU 623 Entire Course 2015 version
EDU 623 Entire Course 2015 version
 
الخرائط الذهنية لسور القرآن الكريم
 الخرائط الذهنية لسور القرآن الكريم  الخرائط الذهنية لسور القرآن الكريم
الخرائط الذهنية لسور القرآن الكريم
 
Carlos herrera
Carlos herreraCarlos herrera
Carlos herrera
 
Soja con Sustentabilidad 2015 | Jornada Dino Agosto 2015
Soja con Sustentabilidad 2015 | Jornada Dino Agosto 2015Soja con Sustentabilidad 2015 | Jornada Dino Agosto 2015
Soja con Sustentabilidad 2015 | Jornada Dino Agosto 2015
 
Bitcoin basics
Bitcoin basicsBitcoin basics
Bitcoin basics
 
Optimized your sql server operation using big data echo system
Optimized  your sql server operation using  big data echo systemOptimized  your sql server operation using  big data echo system
Optimized your sql server operation using big data echo system
 
التفكير الايجابي
التفكير الايجابيالتفكير الايجابي
التفكير الايجابي
 
Edital imparh
Edital imparhEdital imparh
Edital imparh
 
Roteiro 2º ADMINSTRAÇÃO
Roteiro 2º ADMINSTRAÇÃORoteiro 2º ADMINSTRAÇÃO
Roteiro 2º ADMINSTRAÇÃO
 
Food crisis
Food crisisFood crisis
Food crisis
 
Crypto-Currency - Strategic Review v3
Crypto-Currency  - Strategic Review  v3Crypto-Currency  - Strategic Review  v3
Crypto-Currency - Strategic Review v3
 
Edital de chamamento convocação dos candidatos “suplentes” inscritos no progr...
Edital de chamamento convocação dos candidatos “suplentes” inscritos no progr...Edital de chamamento convocação dos candidatos “suplentes” inscritos no progr...
Edital de chamamento convocação dos candidatos “suplentes” inscritos no progr...
 

Similar to The next step from Microsoft - Vnext (Srdjan Poznic)

20160201_resume_Vladimir_Chesnokov
20160201_resume_Vladimir_Chesnokov20160201_resume_Vladimir_Chesnokov
20160201_resume_Vladimir_Chesnokov
Vladimir Chesnokov
 

Similar to The next step from Microsoft - Vnext (Srdjan Poznic) (20)

Getting Started with ASP.NET Core 1.0 (formerly ASP.NET 5)
Getting Started with ASP.NET Core 1.0 (formerly ASP.NET 5)Getting Started with ASP.NET Core 1.0 (formerly ASP.NET 5)
Getting Started with ASP.NET Core 1.0 (formerly ASP.NET 5)
 
Learning ASP.NET 5 and MVC 6
Learning ASP.NET 5 and MVC 6Learning ASP.NET 5 and MVC 6
Learning ASP.NET 5 and MVC 6
 
ASP.NET 5
ASP.NET 5ASP.NET 5
ASP.NET 5
 
Short-Training asp.net vNext
Short-Training asp.net vNextShort-Training asp.net vNext
Short-Training asp.net vNext
 
About netcore2
About netcore2About netcore2
About netcore2
 
StrongLoop Overview
StrongLoop OverviewStrongLoop Overview
StrongLoop Overview
 
【BS1】What’s new in visual studio 2022 and c# 10
【BS1】What’s new in visual studio 2022 and c# 10【BS1】What’s new in visual studio 2022 and c# 10
【BS1】What’s new in visual studio 2022 and c# 10
 
KnativeCon 2022 - Knative Functions
KnativeCon 2022 - Knative FunctionsKnativeCon 2022 - Knative Functions
KnativeCon 2022 - Knative Functions
 
Integrate any Angular Project into WebSphere Portal
Integrate any Angular Project into WebSphere PortalIntegrate any Angular Project into WebSphere Portal
Integrate any Angular Project into WebSphere Portal
 
Visual studio 2015 and .net core 5 – get ready to rumble
Visual studio 2015 and .net core 5  – get ready to rumbleVisual studio 2015 and .net core 5  – get ready to rumble
Visual studio 2015 and .net core 5 – get ready to rumble
 
Mini-Training Owin Katana
Mini-Training Owin KatanaMini-Training Owin Katana
Mini-Training Owin Katana
 
Asp. net core 3.0 build modern web and cloud applications (top 13 features +...
Asp. net core 3.0  build modern web and cloud applications (top 13 features +...Asp. net core 3.0  build modern web and cloud applications (top 13 features +...
Asp. net core 3.0 build modern web and cloud applications (top 13 features +...
 
Red Hat and kubernetes: awesome stuff coming your way
Red Hat and kubernetes:  awesome stuff coming your wayRed Hat and kubernetes:  awesome stuff coming your way
Red Hat and kubernetes: awesome stuff coming your way
 
ASP .Net Core SPA Templates
ASP .Net Core SPA TemplatesASP .Net Core SPA Templates
ASP .Net Core SPA Templates
 
Bn1001 demo ppt advance dot net
Bn1001 demo ppt advance dot netBn1001 demo ppt advance dot net
Bn1001 demo ppt advance dot net
 
20160201_resume_Vladimir_Chesnokov
20160201_resume_Vladimir_Chesnokov20160201_resume_Vladimir_Chesnokov
20160201_resume_Vladimir_Chesnokov
 
.NET Fest 2017. Андрей Антиликаторов. Проектирование и разработка приложений ...
.NET Fest 2017. Андрей Антиликаторов. Проектирование и разработка приложений ....NET Fest 2017. Андрей Антиликаторов. Проектирование и разработка приложений ...
.NET Fest 2017. Андрей Антиликаторов. Проектирование и разработка приложений ...
 
Deploying windows containers with kubernetes
Deploying windows containers with kubernetesDeploying windows containers with kubernetes
Deploying windows containers with kubernetes
 
ASP.NET Core 2.1: The Future of Web Apps
ASP.NET Core 2.1: The Future of Web AppsASP.NET Core 2.1: The Future of Web Apps
ASP.NET Core 2.1: The Future of Web Apps
 
IBM Think Session 8598 Domino and JavaScript Development MasterClass
IBM Think Session 8598 Domino and JavaScript Development MasterClassIBM Think Session 8598 Domino and JavaScript Development MasterClass
IBM Think Session 8598 Domino and JavaScript Development MasterClass
 

Recently uploaded

Prosigns: Transforming Business with Tailored Technology Solutions
Prosigns: Transforming Business with Tailored Technology SolutionsProsigns: Transforming Business with Tailored Technology Solutions
Prosigns: Transforming Business with Tailored Technology Solutions
Prosigns
 

Recently uploaded (20)

AI/ML Infra Meetup | Reducing Prefill for LLM Serving in RAG
AI/ML Infra Meetup | Reducing Prefill for LLM Serving in RAGAI/ML Infra Meetup | Reducing Prefill for LLM Serving in RAG
AI/ML Infra Meetup | Reducing Prefill for LLM Serving in RAG
 
top nidhi software solution freedownload
top nidhi software solution freedownloadtop nidhi software solution freedownload
top nidhi software solution freedownload
 
Enhancing Research Orchestration Capabilities at ORNL.pdf
Enhancing Research Orchestration Capabilities at ORNL.pdfEnhancing Research Orchestration Capabilities at ORNL.pdf
Enhancing Research Orchestration Capabilities at ORNL.pdf
 
Exploring Innovations in Data Repository Solutions - Insights from the U.S. G...
Exploring Innovations in Data Repository Solutions - Insights from the U.S. G...Exploring Innovations in Data Repository Solutions - Insights from the U.S. G...
Exploring Innovations in Data Repository Solutions - Insights from the U.S. G...
 
Accelerate Enterprise Software Engineering with Platformless
Accelerate Enterprise Software Engineering with PlatformlessAccelerate Enterprise Software Engineering with Platformless
Accelerate Enterprise Software Engineering with Platformless
 
A Comprehensive Look at Generative AI in Retail App Testing.pdf
A Comprehensive Look at Generative AI in Retail App Testing.pdfA Comprehensive Look at Generative AI in Retail App Testing.pdf
A Comprehensive Look at Generative AI in Retail App Testing.pdf
 
De mooiste recreatieve routes ontdekken met RouteYou en FME
De mooiste recreatieve routes ontdekken met RouteYou en FMEDe mooiste recreatieve routes ontdekken met RouteYou en FME
De mooiste recreatieve routes ontdekken met RouteYou en FME
 
Developing Distributed High-performance Computing Capabilities of an Open Sci...
Developing Distributed High-performance Computing Capabilities of an Open Sci...Developing Distributed High-performance Computing Capabilities of an Open Sci...
Developing Distributed High-performance Computing Capabilities of an Open Sci...
 
Large Language Models and the End of Programming
Large Language Models and the End of ProgrammingLarge Language Models and the End of Programming
Large Language Models and the End of Programming
 
Into the Box 2024 - Keynote Day 2 Slides.pdf
Into the Box 2024 - Keynote Day 2 Slides.pdfInto the Box 2024 - Keynote Day 2 Slides.pdf
Into the Box 2024 - Keynote Day 2 Slides.pdf
 
How Recreation Management Software Can Streamline Your Operations.pptx
How Recreation Management Software Can Streamline Your Operations.pptxHow Recreation Management Software Can Streamline Your Operations.pptx
How Recreation Management Software Can Streamline Your Operations.pptx
 
Prosigns: Transforming Business with Tailored Technology Solutions
Prosigns: Transforming Business with Tailored Technology SolutionsProsigns: Transforming Business with Tailored Technology Solutions
Prosigns: Transforming Business with Tailored Technology Solutions
 
Paketo Buildpacks : la meilleure façon de construire des images OCI? DevopsDa...
Paketo Buildpacks : la meilleure façon de construire des images OCI? DevopsDa...Paketo Buildpacks : la meilleure façon de construire des images OCI? DevopsDa...
Paketo Buildpacks : la meilleure façon de construire des images OCI? DevopsDa...
 
How Does XfilesPro Ensure Security While Sharing Documents in Salesforce?
How Does XfilesPro Ensure Security While Sharing Documents in Salesforce?How Does XfilesPro Ensure Security While Sharing Documents in Salesforce?
How Does XfilesPro Ensure Security While Sharing Documents in Salesforce?
 
AI/ML Infra Meetup | ML explainability in Michelangelo
AI/ML Infra Meetup | ML explainability in MichelangeloAI/ML Infra Meetup | ML explainability in Michelangelo
AI/ML Infra Meetup | ML explainability in Michelangelo
 
2024 RoOUG Security model for the cloud.pptx
2024 RoOUG Security model for the cloud.pptx2024 RoOUG Security model for the cloud.pptx
2024 RoOUG Security model for the cloud.pptx
 
BoxLang: Review our Visionary Licenses of 2024
BoxLang: Review our Visionary Licenses of 2024BoxLang: Review our Visionary Licenses of 2024
BoxLang: Review our Visionary Licenses of 2024
 
Cyaniclab : Software Development Agency Portfolio.pdf
Cyaniclab : Software Development Agency Portfolio.pdfCyaniclab : Software Development Agency Portfolio.pdf
Cyaniclab : Software Development Agency Portfolio.pdf
 
Using IESVE for Room Loads Analysis - Australia & New Zealand
Using IESVE for Room Loads Analysis - Australia & New ZealandUsing IESVE for Room Loads Analysis - Australia & New Zealand
Using IESVE for Room Loads Analysis - Australia & New Zealand
 
OpenFOAM solver for Helmholtz equation, helmholtzFoam / helmholtzBubbleFoam
OpenFOAM solver for Helmholtz equation, helmholtzFoam / helmholtzBubbleFoamOpenFOAM solver for Helmholtz equation, helmholtzFoam / helmholtzBubbleFoam
OpenFOAM solver for Helmholtz equation, helmholtzFoam / helmholtzBubbleFoam
 

The next step from Microsoft - Vnext (Srdjan Poznic)

  • 1. PARTNERSHIP The next step from Microsoft - vNext October, 2014 Srdjan Poznic
  • 2. History of ASP.NET - Released in 2002 with VisualStudio.NET - ASP.NET Ajax (2007) - ASP.NET Dynamic Data (2008) - ASP.NET MVC added (2009) - WebAPI added (2012) - OWIN and SignalR introduced (2013)
  • 3. Current state of ASP.NET - MVC - WebAPI - WebPages, WebForms - Entity Framework Mature enough?
  • 4. Idea? - What we can do to make .NET better on the cloud? - What we can do to make .NET better on the hosted environment? - How to improve development cycle? - …
  • 5. What customers say? - We want open-source! - We need to deliver much faster - We need cross-device development strategy - My customer can’t update to new version of framework. - …
  • 6. ASP.NET vNext - Latest: ASP.NET vNext alpha4 (October, 6th) - Visual Studio 14 CTP 4 (Community Technology Preview) - .NET Framework v4.5.3
  • 7. New approach - .NET Innovation Innovation on the core of existing and future applications - Flexibility and agile delivery Continuous modular releases - Openness Transparent, open and community driven
  • 8. Goal - Fast - Open-source - Modular - Cross-platform support - Choose editors/tools - Faster development cycle New builds and inside the tools (Use pieces that you what to use)
  • 9. What is new? - All about NuGet - New run-time engine called „K“ - Roslyn compiler - New project system - New configuration system - Cloud optimized .NET (CoreCLR) takes ~11MB
  • 10. Demo
  • 11. New features - Side-by-side deployment - Exact same code is running on both machines - no GAC - Open source - Cross-platform (Windows, Mac, Linux)
  • 12. What is new in asp.net? - MVC, WebAPI, WebPages 6, SignalR 3, EF 7 - MVC, Web API & Web Pages have been merged into one - Cloud-optimized versions of MVC, WebAPI, Web Pages, SignalR, and EF - Host agnostic – runs not only under IIS
  • 13. What is new in asp.net? - Removing System.Web - Moving to OWIN middleware - e.g. Error screen replacement - HttpContext (minimum info in object graph) - The result is a leaner framework, with faster startup time and lower memory consumption.
  • 14. What is new in asp.net? - No Web.Config anymore - No Global.asax - No packages.xml file - No DLLs anymore AspNet.Loader.dll
  • 15. Runtime performances - Old HttpContext removed (~30K) - New HttpContext (~2K) - GC - Faster startup time - Lower memory - REST vs Line Business Apps (historical reasons)
  • 16. Faster development - Change the file > Save > Refresh the browser - Faster development (dynamic compiling) - Cloud optimized - Develop in cloud editors
  • 17. Cloud - Seamless transition to cloud (Same code is running) - Configuration - Session (SessionState to SessionStateProvider)
  • 18. Cloud - Cache Azure Redis Cache / Asp.net cache - Run/Debug in Cloud Visual Studio Online “Monaco” - Tracing/Logging without re-deploy
  • 19. Extending application types - Knockout - AngularJS - Ember - Backbone - …
  • 20. Common improvements - DI everywhere - Tracing and Diagnostics - Consistency
  • 22. To me, as a developer, this means - I get all the advantages of the .NET platform (performance, stability, security, comprehensive API) - The development experience of C# and Visual Studio... with the simplicity, portability, quick development refresh cycle and flexibility of an interpreted web framework.
  • 23. Demo
  • 26. • Find and call the CLR Native host • Pass in arguments given to the process to the native host Layer 0 Native processs • Boot the CLR • Calling the Managed Entry Point, Layer 2 Layer 1 CLR Native Host • Create the LoaderContainer that will contain the required Iloaders • Provide the root ILoader that will load assemblies, and satisfy dependencies • Call the main entry point of the provided program Layer 2 Managed Entry point • Walks the dependencies in the project and builds up the closure of dependencies • Adds ILoader => LoaderContainer that can load assemblies from various sources • Calls the entry point of assembly name given as the next argument given to KLR.exe Layer 3 Application Host • Developer’s application code when running on the application host Layer 4 Application K Runtime Layering
  • 27. K tools - KVM (K runtime version manager) - Switch between versions - Switch between .NET runtimes - Upgrade K Runtime
  • 28. K tools - KPM (K runtime package manager) - Downloads or restores packages for application - Runs from command-line - Uses project file to detect required packages kpm list kpm use kpm upgrade kpm pack (-- runtime)
  • 29. Roslyn - (.NET) Compiler as a Platform - Mission? - Opportunities for: - meta-programming - code generation and transformation - interactive use of the C# and VB languages
  • 32. - API and Pipeline Roslyn
  • 33. - WebForms, MVC5, WebAPI 2, WebPages 3, SignalR 2, EF 6 - fully supported by Roslyn Roslyn
  • 34. Tools - Nuget Package Explorer https://npe.codeplex.com/ - Process Explorer - API Portability Analyzer – Alpha http://www.microsoft.com/en-us/download/details.aspx?id=42678 - MyGet https://www.myget.org/ - Sublime editor http://www.sublimetext.com/
  • 35. More.. - .NET Native - .NET Native compiles C# to native machine code that performs like C++ - Popular Windows Store apps start up to 60% faster and use 15-20% less memory when compiled with .NET Native. - C++ updates - Command line scaffolding
  • 36. - RyuJIT: The next-generation JIT compiler for .NET Future of the core
  • 37. - Why not nugget/MSBuild? - Gulp - Grunt - Bower Future of the front end build process
  • 38. Known issues: - Browser link Fix: Disable Browser Link http://blogs.msdn.com/b/webdev/archive/2013/06/28/browser-link- feature-in-visual-studio-preview-2013.aspx - Missing ASP.NET Loader IIS assembly Fix? - Opening project.json as a project may lead to the wrong output type Fix: Change output type
  • 39. Known issues: - After creating new vNext project, empty project folder is created under the solution folder - New project not under “src” - KVM installation
  • 40. WARNING! - This shows what the ASP.NET team is working on - DO NOT use it in Production - DO NOT run it on your development machine
  • 41. Links - WebDev blog: http://blogs.msdn.com/b/webdev - Asp.net: www.asp.net/vnext - Asp.net Github: https://github.com/aspnet - Scott’s blog: http://www.hanselman.com/
  • 43. O autoru… - Mail: s.poznic@vegait.rs - twitter: @srdjanpoznic - Linked in: http://goo.gl/bXA7Av
  • 44. T H A N K Y O U

Editor's Notes

  1. History: http://en.wikipedia.org/wiki/ASP.NET
  2. Site: asp.net/vnext http://blogs.msdn.com/b/webdev/archive/2014/10/06/asp-net-vnext-in-visual-studio-14-ctp-4.aspx There are a few notable breaking changes in this release from Visual Studio “14” CTP3: - Project.json now uses "aspnet50" and "aspnetcore50" as framework values, instead of "net45" and "k10". - Project.json has a new “webroot” element to indicate the static content folder and an “exclude” element for folders to be excluded from compilation. - The Startup.cs IBuilder parameter was renamed to IApplicationBuilder.
  3. vNext will support true side-by-side deployment. If your app uses the cloud-optimized subset of .NET vNext, you can bin deploy all of your dependencies, including the .NET vNext (cloud optimized) packages. That means you can update your app without affecting other applications on the same server.
  4. vNext is host agnostic. You can host your app in IIS, or self-host in a custom process. (Web API 2 and SignalR 2 already support self-hosting; vNext brings this same capability to MVC.)
  5. ContainerMiddleware IServiceProvider
  6. Dependency Injection
  7. Roslyn Increasingly we rely on integrated development environment (IDE) features such as IntelliSense, refactoring, intelligent rename, “Find all references,” and “Go to definition” to increase our productivity. We rely on code analysis tools to improve our code quality and code generators to aid in application construction. As these tools get smarter, they need access to more and more of the deep code knowledge that only compilers possess. This is the core mission of the .NET Compiler Platform (“Roslyn”): The transition to compilers as a platform dramatically lowers the barrier to entry for creating code focused tools and applications. It creates many opportunities for innovation in areas such as meta-programming, code generation and transformation, interactive use of the C# and VB languages, embedding of C# and VB in domain specific languages.  Tools: Syntax Visualizer Syntax Quoter Enhanced source view
  8. First the parse phase, where source is tokenized and parsed into syntax that follows the language grammar. Second the declaration phase, where declarations from source and imported metadata are analyzed to form named symbols. Next the bind phase, where identifiers in the code are matched to symbols. Finally, the emit phase, where all the information built up by the compiler is emitted as an assembly. http://roslyn.codeplex.com/wikipage?title=Overview&referringTitle=Documentation
  9. http://blog.jonathanchannon.com/2014/08/05/nancy-aspnetvnext-osx-sublime-text/
  10. http://blogs.msdn.com/b/dotnet/archive/2013/09/30/ryujit-the-next-generation-jit-compiler.aspx
  11. Scott’s blog: http://www.hanselman.com/blog/CategoryView.aspx?category=ASP.NET
  12. - When you create an ASP.NET vNext project, an empty project folder is created under the solution folder. This folder should be removed because the real project folder is created in the <solutionFolder>\src subfolder. - In an ASP.NET vNext project, when you right-click the solution "src" folder and then you add a new project to it, the Add New Project dialog box uses the solution folder as the location instead of the "src" folder. - In Windows 8 RTM, the act of pressing F5 in an ASP.NET vNext project does not work for core CLR framework. However, Ctrl+F5 works correctly. The act of pressing F5 works correctly for core CLR framework in Windows 8.1. KVM installation: Run the following command from a command-line prompt to install the K Version Manager. @powershell -NoProfile -ExecutionPolicy unrestricted -Command "iex ((new-object net.webclient).DownloadString('https://raw.githubusercontent.com/aspnet/Home/master/kvminstall.ps1'))"
  13. http://msdn.microsoft.com/en-us/vstudio/dotnetnative.aspx https://github.com/aspnet http://roslyn.codeplex.com/ http://blogs.msdn.com/b/webdev/archive/2014/05/12/enabling-the-net-compiler-platform-roslyn-in-asp-net-applications.aspx http://blogs.msdn.com/b/webdev/archive/2014/06/03/asp-net-vnext-in-visual-studio-14-ctp.aspx http://blogs.msdn.com/b/webdev/archive/2014/08/12/develop-asp-net-vnext-applications-on-a-mac.aspx http://blogs.msdn.com/b/webdev/archive/2014/06/17/dependency-injection-in-asp-net-vnext.aspx