dot net platform and dotnet core fundamentals

Post on 21-Jan-2018

138 Views

Category:

Software

3 Downloads

Preview:

Click to see full reader

TRANSCRIPT

August 7, 2017

Lalit Kale@techiethought

.NET Platform & .NET Core Fundamentals

Limerick DotNet Azure User Group (LDNA)

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)

Our Sponsors

Limerick DotNet Azure User Group (LDNA)

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

.NET

2000 2017

What is .NET?

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

Always capitalized, never ".Net".

What is .NET?

• 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

What is .NET – Circa 2003

Inside Look - .NET 2003

Unmanaged Vs. Managed Applications

CLR & CTS

CTS Fundamental Types

• Classes

• Structures

• Enumerations

• Interfaces

• Delegates

Garbage Collection

• .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

• 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

Fast Forward… 2015

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

Break

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

Limerick DotNet Azure User Group (LDNA)

And Satya nuked our world!

Any Developer. Any App. Any Platform

Microsoft Vision

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

2016 – Open Source and Microsoft

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

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

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

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

Programming Model Problem in brewing

Solution - .NET Standard 2.0

APIs Included and Streamlined

Compatibility Towards .NET Standard

.

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

top related