Top Banner
August 7, 2017 Lalit Kale @techiethought .NET Platform & .NET Core Fundamentals Limerick DotNet Azure User Group (LDNA)
38

Dot net platform and dotnet core fundamentals

Jan 21, 2018

Download

Software

Lalit Kale
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Dot net platform and dotnet core fundamentals

August 7, 2017

Lalit Kale@techiethought

.NET Platform & .NET Core Fundamentals

Limerick DotNet Azure User Group (LDNA)

Page 2: Dot net platform and dotnet core fundamentals

About Me

• 12 years of .NET

• Roles: Software Developer Sr. Developer Tech Lead Architect

• Start-up to large enterprise

• Interested in software architecture of High-Volume High Traffic

distributed Systems

• Happy to help with anything related to .NET and Azure Cloud

• Twitter: @atechiethought

Limerick DotNet Azure User Group (LDNA)

Page 3: Dot net platform and dotnet core fundamentals

Our Sponsors

Limerick DotNet Azure User Group (LDNA)

Page 4: Dot net platform and dotnet core fundamentals

Before we start…• Audience:

• Beginner .NET developers and developers coming from other non-windows background

• Eventual pieces of new information/insights/ peek into future of .NET for Senior .NET developers

• People who are keen on improving their craft

• Presentation:

• Approx. Time: 1 Hour (45 min session +10-15 minutes of break + 10-15 minutes of questions)

• Discussion Over Monotonous Delivery

• Planned slides for Questions are marked with Question Icon, Feel free to jump in to express your

thoughts or ask questions by raising your hands

• Code Snippets to understand the concepts – Not Ready for Production

• All Views/Opinions expressed here are mine and nothing to do with my current/past employers

Page 5: Dot net platform and dotnet core fundamentals

.NET

2000 2017

Page 6: Dot net platform and dotnet core fundamentals

What is .NET?

Page 7: Dot net platform and dotnet core fundamentals

The umbrella term for .NET Standard and all .NET implementations and workloads.

Always capitalized, never ".Net".

What is .NET?

Page 8: Dot net platform and dotnet core fundamentals

• COM/DCOM Problems

• DLL Hell

• C++ Code and Memory Management

• Java – Becoming Mightier Force (Seen as Enemy) • Runs Everywhere!!

• Linux – Seen as a Cancer

• XML – God Sent

• Namespaces

• Win 2000, Win XP Days

2002

Page 9: Dot net platform and dotnet core fundamentals

What is .NET – Circa 2003

Page 10: Dot net platform and dotnet core fundamentals

Inside Look - .NET 2003

Page 11: Dot net platform and dotnet core fundamentals

Unmanaged Vs. Managed Applications

Page 12: Dot net platform and dotnet core fundamentals

CLR & CTS

CTS Fundamental Types

• Classes

• Structures

• Enumerations

• Interfaces

• Delegates

Page 13: Dot net platform and dotnet core fundamentals

Garbage Collection

Page 14: Dot net platform and dotnet core fundamentals

• .NET = Umbrella Term

• .NET BCL = Base Class Library

• CLR = Common Language Runtime

• .NET Framework = .NET BCL + .NET CLR + Bunch of Supporting

Utilities (assembly signing, Service Discovery , ASP.NET Registration,

ADO-XML and IIS Related Utils)

• .NET Languages (CLI Compliant): C#, VB.NET , F#, C++/CLI

• Assembly = EXE or DLL (Output of Program)

• GAC = Single Machine-Wide Registry for .NET Framework DLLs

Terminology

Page 15: Dot net platform and dotnet core fundamentals

• Technologies

• Desktop Application Development• Winforms• WPF = Windows Presentation Foundation• WIF = Windows Identity Foundation• UWP = Universal Windows Platform

• Web/ Services Application Development• XML WebServices• WCF = Windows Communication Foundation• ASP.NET = Classic Server Pages Technology based on .NET• WebForms = Part of ASP.NET (~Pages)• ASP.NET MVC = Light Weight MVC Framework • ASP.NET WebApi = Rest Based Framework for creating API

• Data • Entity Framework = Object Relationship Mapping Framework

• Sharepoint = Web based Portal development Technology

• Dynamics = Microsoft Customer Relationship Management Software

Terminology

Page 16: Dot net platform and dotnet core fundamentals

Fast Forward… 2015

Page 17: Dot net platform and dotnet core fundamentals

Points to Note• Single .NET framework per System

• GAC = Shared Library Place on Your System

• JIT = AOT Compiler – Pre, Econo, RyuJIT

• Machine.Config• Garbage Collection Modes and Other Perf Settings

• Deployment Models• Xcopy

• Nuget = Package manager for .NET

• Perf Counters

Page 18: Dot net platform and dotnet core fundamentals

Break

Page 19: Dot net platform and dotnet core fundamentals
Page 20: Dot net platform and dotnet core fundamentals
Page 21: Dot net platform and dotnet core fundamentals
Page 22: Dot net platform and dotnet core fundamentals
Page 23: Dot net platform and dotnet core fundamentals
Page 24: Dot net platform and dotnet core fundamentals
Page 25: Dot net platform and dotnet core fundamentals

Trouble in Paradise…• Market Forces

• 2005-2014 = Ruby and RoR

• 2007 - 2015 ASP.NET MVC

• 2009 - 2015 Node.jS + NPM = (Libuv + V8) based Async I/O

• 2010 – Microsoft Cloud made commercially available as “Windows Azure”

• Shift in Programming Trends => Desktop Web Mobile & Cloud

• No influence on Mobile Developer Ecosystem Despite Nokia Acquisition

• Shift in Leadership in Microsoft - 2015

Page 26: Dot net platform and dotnet core fundamentals

Limerick DotNet Azure User Group (LDNA)

And Satya nuked our world!

Page 27: Dot net platform and dotnet core fundamentals

Any Developer. Any App. Any Platform

Microsoft Vision

Page 28: Dot net platform and dotnet core fundamentals

Microsoft + Open Source Momentum

Dead and buried: Microsoft's holy war on open-source

software

“Years ago, Microsoft's CEO described open source as a cancer. Times have changed. Just ask 22-year Redmond veteran and open-

source proponent Mark Hill.”

Charles Cooper

Redmond top man Satya Nadella:

'Microsoft LOVES Linux‘

Neil McAllister

Microsoft: the Open Source Company

“This is not your dad’s Microsoft”

Steven J. Vaughan-Nichols

Tweet

Page 29: Dot net platform and dotnet core fundamentals

2016 – Open Source and Microsoft

Page 30: Dot net platform and dotnet core fundamentals

Microsoft is committed to Linux

Now

Linux is a real business for Microsoft

They’ve been at this for a while

Linux and open source is a fundamental

part of what Microsoft does

Page 31: Dot net platform and dotnet core fundamentals

Limerick DotNet Azure User Group (LDNA)

Change Needed for .NET• Flagship Ecosystem shift from Windows Azure Cloud

• Cloud means (Open Source and Cross Platform)

• Biggest Hurdle

• IIS and Web Programming Model

• IIS is tightly coupled with

• System.Web

• System.Net

• Legacy Baggage

• XML

• Remoting

• Enterprise Services

• In Cross Platform World

• Common Denominator for Windows world (Portable Class Library) has not worked

• Need New lightweight Stripped down version of web-server which will serve .NET based web applications

Page 32: Dot net platform and dotnet core fundamentals

Limerick DotNet Azure User Group (LDNA)

.NET Core 1.0• Cross Platform

• Light-weight

• New CLI Tooling – dotnet

• Unit Testing Support with Xunit, Nunit

• Docker Deployment Possible

Page 33: Dot net platform and dotnet core fundamentals

Limerick DotNet Azure User Group (LDNA)

2016 – Happening Year• Two Big Trends

• Containers Ecosystem Emerged and Catching up Strongly –• Docker Adoption in .NET Developers is growing fast

• Azure Cloud Support for Containers with different services

• Windows Server 2016 • Support for native Windows Containers & Hyper-V Containers

• Created separate version for Containers – servercore and nanoserver

• Microservices• Application Architecture tuned for smaller services

• Can see lot of Ops influence in this architectural style

Page 34: Dot net platform and dotnet core fundamentals

Programming Model Problem in brewing

Page 35: Dot net platform and dotnet core fundamentals

Solution - .NET Standard 2.0

Page 36: Dot net platform and dotnet core fundamentals

APIs Included and Streamlined

Page 37: Dot net platform and dotnet core fundamentals

Compatibility Towards .NET Standard

Page 38: Dot net platform and dotnet core fundamentals

.

This presentation is shared under Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International license. More information for this license is available at http://creativecommons.org/licenses/by-nc-sa/4.0/

All trademarks are the property of their respective owners. Lalit Kale or Limerick DotNet-Azure User Group or it’s members makes no warranties, express, implied or statutory, as to the information in this presentation.

Limerick DotNet-Azure User Grouphttps://www.meetup.com/limerick-dotnet/

Twitter: limerickdotnet