Should I Transition to .NET Core? Will it hurt?

Slides:



Advertisements
Similar presentations
Running PHP on Windows Server 2008 and IIS 7 Rob Cameron Developer Evangelist, Communications Sector Microsoft.
Advertisements

Aneef Fashir Software Architect Assette. About Myself 5 years of experience in programming. BSc(Hons) in Computer Science and MIS. Currently working at.
What’s New in ASP.NET 5 and Visual Studio 2015 SPENCER SCHNEIDENBACH GADELLNET CONSULTING SERVICES.
ASP.net – Mysteries, Myths and Truths By George W. Ponick IV – Nov. 14, 2006.
IIS7 for Developers Leon Langleyben Chief Architect SRL Group
Server Roles and Features.NET Framework 3.51.NET Framework 4.5 IIS Web Server IIS Default Document IIS Directory Browsing IIS HTTP Errors.
IIS 7: The Next Generation Web Application Server Platform Michael Volodarsky Program Manager Web Platform and Tools Team Microsoft Corporation.
ASP.NET vNEXT & development tools Marco De
Architecture Of ASP.NET. What is ASP?  Server-side scripting technology.  Files containing HTML and scripting code.  Access via HTTP requests.  Scripting.
Plenary meeting 2015 – Chania - Crete CASCADE Data Services Yusuf Yigini, Panos Panagos, Martha B. Dunbar Joint Research Centre - European Commission.
Reset and Recycle IIS Reset Application Pool Management Error Codes New HTTP Sub-status codes Custom/Detailed Errors Tracing in IIS7 and.
This is the main tracing and diagnostics presentation. Very important that this be practical and useful information. IT Pro audience is very.
Session Information Goals CTAs Customer Evidence TBD
Securing Angular Apps Brian Noyes
ASP.NET 5 Unleashed Javier Lozano
ASP.NET Core* Shahed Chowdhuri Sr. Technical WakeUpAndCode.com A Quick Overview of ASP.NET Core * aka ASP.NET 5 before.
Modern Development Technologies in SharePoint SHAREPOINT SATURDAY OMAHA APRIL, 2016.
Windows Azure and iOS Chris Risner Windows Azure Technical Evangelist Microsoft
ASP.NET Core* Shahed Chowdhuri Sr. Technical WakeUpAndCode.com A Quick Overview of ASP.NET Core RC2 * aka ASP.NET 5 before.
ASP.NET Core* 1.0 The Future of Web Apps Shahed Chowdhuri
Building More Powerful ASP.NET Applications with IIS7 Michael Volodarsky COM303 Program Manager Microsoft Corporation.
Build Cross-Platform Mobile Apps Using Visual Studio A Telerik webinar by Jeffrey T. Fritz March 27, 2014 AND.
Microsoft Ignite /28/2017 2:36 PM
ASP.NET Core* Shahed Chowdhuri Sr. Technical WakeUpAndCode.com A Quick Overview of ASP.NET Core * aka ASP.NET 5 before.
Migrating to ASP.NET Core Challenges & Opportunities
ASP.NET Core* in 2017 The Future of Web Apps Shahed Chowdhuri
DevOps with ASP.NET Core and Entity Framework Core
Build and Learn ASP.NET Workshop.
Introduction to ASP.NET Core
5/15/2018 © 2014 Microsoft Corporation. All rights reserved. Microsoft, Windows, and other product names are or may be registered trademarks and/or trademarks.
Hello World Admir Tuzović Chief Technology App Impact
Introduction to ASP.NET 2.0
ASP.NET Core 2.0 Fundamentals
The Modern ASP.NET Tech Stack!
ASP.NET Core* 1.0 The Future of Web Apps Shahed Chowdhuri
Haritha Dasari Josue Balandrano Coronel -
Lean .NET stack for building modern web apps
Introduction to .NET Florin Olariu & Andrei Arusoaie
API Documentation Guidelines
Microsoft Virtual Academy
1.1. .NET architectural components and .NET Core
MVC in ASP.NET Core: The new kid on the block
Explore web development with Microsoft ASP.NET Core 1.0
Microsoft Build /11/2018 2:12 AM © 2016 Microsoft Corporation. All rights reserved. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY,
Microsoft Ignite NZ October 2016 SKYCITY, Auckland
Building Modern Web Apps with ASP.NET MVC 6
Explore web development with Microsoft ASP.NET Core 1.0
DotnetConf 11/17/ :06 AM © 2016 Microsoft Corporation. All rights reserved. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE.
A Quick Overview of ASP.NET Core 1.0
ASP.NET 5 on .NET Core Damian Edwards Principal Program Manager.
ASP.NET Module Subtitle.
ASP.NET 5 és ami mögötte van – a gyakorlatban
ASP.NET Core* MVC and Web API Shahed Chowdhuri
Your code is not just…your code
SharePoint 2019 Overview and Use SPFx Extensions
What’s new in ASP.NET Core and Entity Framework 2.2 (Preview 3)
TechEd /22/2019 9:22 PM © 2013 Microsoft Corporation. All rights reserved. Microsoft, Windows, and other product names are or may be registered trademarks.
Building production-ready APIs with ASP.NET Core 2.2
ASP.NET Authentication with Identity Jump Start
07 | Introduction to Authentication
Strategic Sponsors Sponsors and Partners Gold Sponsors Silver Sponsors.
Introduction to ASP.NET Parts 1 & 2
The Future is Now with ASP.NET Core 3.0
#01# ASP.NET Core Overview Design by: TEDU Trainer: Bach Ngoc Toan
Security - Forms Authentication
Concepts in ASP.NET Core App
Your code is not just…your code
ASP.NET Core Middleware Fundamentals
ASP.NET Core 2.0 The Future of Web Apps Shahed Chowdhuri
What’s ASP.NET 5 and Why? Scott Hunter | Director of Program Management Scott Hanselman | Principal Program Manager.
Presentation transcript:

Should I Transition to .NET Core? Will it hurt? An overview

About Your Speaker Mitchel Sellers Microsoft MVP & ASPInsider CEO @ IowaComputerGurus, Inc. Contact Information msellers@iowacomputergurus.com Twitter: @MitchelSellers Blog: http://www.mitchelsellers.com

Agenda Audience Overview? What is ASP.NET Core? What does ASP.NET Core get me? Limitations? Restrictions? How to Migrate? Decision Points? Main goal is to set the stage for what’s coming! I want to know a bit about you, I want to educate you on what core is, and then we can get to the root of the issue.

Quick Survey Current ASP.NET Web Forms Users? Current ASP.NET MVC Users? Current .NET Core Users? Get an overview of who we have in the room today!

What is ASP.NET MVC Core? Open-Source Cross Platform (Windows, Linux, Mac) Web Server Agnostic Re-write from ground up Modular In Nature vs. Old style Multiple NuGet Packages vs System.Web.dll Moves substantially faster than everything in the past Let’s discuss basics, then we can get into the nitty gritty Modular – Limits footprint for performance & overhead

ASP.NET Core History RC1 – November 18th, 2015 RC2 – May 16th, 2016 1.0.0 – June 27th, 2016 1.0.1 – September 13th, 2016 1.1.0 – November 16th, 2016 1.1.1 – March 7th, 2016 2.0.0 – August 17th, 2017 2.1.0 (Preview 1)

What does ASP.NET Core Get Me? A unified story for building web UI and web APIs Integration of modern client-side frameworks and development workflows A cloud-ready environment-based configuration system Built-in dependency injection New light-weight and modular HTTP request pipeline Ability to host on IIS or self-host in your own process Built on .NET Core, which supports true side-by-side app versioning Ships entirely as NuGet packages New tooling that simplifies modern web development Build and run cross-platform ASP.NET apps on Windows, Mac and Linux Open source and community focused (Taken from ASP.NET Core Documentation) Lets look at the “Microsoft Advertisements”

But really? What does it get ME?? Side-by-side deployment possibilities No longer concerned about “is the server patched” Better runtime experience In VS, when not attached to the debugger can get realtime changes Streamlined syntax requiring less work (TagHelpers) <a asp-controller=“Home” asp-action=“Index”>Home</a> Dependency Injection Logging Talking m

But I Migrate to What? Versions have created confusion Version 1.0 -> 1.1 is a migration Version 1.1 -> 2.0 is a migration Version 2.0 -> 2.1 appears easier Starting Points?

How to Migrate? No automatic process Documentation: https://docs.asp.net/en/latest/migration/index.html Basic minimums involve many manual migration steps Initial Steps Create a new Core Project to go alongside Perform mandatory changes along the way Ensure Developer Errors Enabled: app.UseDeveloperExceptionPage();

View Changes Required Mandatory Optional @Script.Render => <script src=“”></script> @Styles.Render => <link href=“”/> Optional Change to using TagHelpers to get rid of @Html.ActionLink etc. Use of new <environment> tag for script differences <environment names="Development"> <link rel="stylesheet" href="~/css/backend.min.css"/> </environment> <environment names="Staging,Production"> <link rel="stylesheet" href="~/css/backend.min.css" asp-append-version="true"/> @Html.Raw(aiJavascriptSnippet.FullScript)

Client File, Bundling & Configuraton Static files must be moved to the new /wwwroot folder Bundling must be reconfigured to use the new “BundlerMinifier.Core” process I find this process much nicer Web.config is no longer used, application.json is now used Changes to use IOptions for dependency injection

Migration of Identity & EF Configuration moves to a new location Dependency Injection now used to validate things such as role membership etc Best Recommendation: Replace existing Login and associated views based on the new examples from a sample project

HttpHandlers & HttpModules Don’t exist anymore, replaced with “Middleware” More simple, but need to be re-implemented

Realistic Project Example – FlightFiles.com Existing ASP.NET MVC Project Started at MVC 3 using WebMatrix User accounts About 1,500 hours of development total 13 Controllers, 55 Views, 1 large data loader Migrated to ASP.NET Core 1.1 Transitioned to full .NET Core Transitioned to using Identity for authentication Total cost about 140 man-hours Result? Performance benchmarks improved by 61% across the app Specific data queries as much as 500 times faster Migration to Core 2.0 estimated at 4 hours Migrated to ASP.NET Core 2.0 Total cost of about 12 man-hours Performance improved again by about 15%

Decision Point? What now? Which flavor of .NET Core? New Projects Full Framework .NET Core New Projects Strongly recommend Full ASP.NET Core Existing Projects Decision time?

Quick Project Overview Questions?