SlideShare une entreprise Scribd logo
1  sur  38
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 Group
https://www.meetup.com/limerick-dotnet/
Twitter: limerickdotnet

Contenu connexe

Tendances

.NET Core, ASP.NET Core Course, Session 6
.NET Core, ASP.NET Core Course, Session 6.NET Core, ASP.NET Core Course, Session 6
.NET Core, ASP.NET Core Course, Session 6aminmesbahi
 
Dotnet Basics Presentation
Dotnet Basics PresentationDotnet Basics Presentation
Dotnet Basics PresentationSudhakar Sharma
 
Migrating .NET Application to .NET Core
Migrating .NET Application to .NET CoreMigrating .NET Application to .NET Core
Migrating .NET Application to .NET CoreBaris Ceviz
 
DevOps Roadshow - continuous delivery and release management
DevOps Roadshow - continuous delivery and release managementDevOps Roadshow - continuous delivery and release management
DevOps Roadshow - continuous delivery and release managementMicrosoft Developer Norway
 
Angular - Chapter 1 - Introduction
 Angular - Chapter 1 - Introduction Angular - Chapter 1 - Introduction
Angular - Chapter 1 - IntroductionWebStackAcademy
 
.Net Core - not your daddy's dotnet
.Net Core - not your daddy's dotnet.Net Core - not your daddy's dotnet
.Net Core - not your daddy's dotnetRick van den Bosch
 
Unit testing in JavaScript with Jasmine and Karma
Unit testing in JavaScript with Jasmine and KarmaUnit testing in JavaScript with Jasmine and Karma
Unit testing in JavaScript with Jasmine and KarmaAndrey Kolodnitsky
 
Introduction to Selenium | Selenium Tutorial for Beginners | Selenium Trainin...
Introduction to Selenium | Selenium Tutorial for Beginners | Selenium Trainin...Introduction to Selenium | Selenium Tutorial for Beginners | Selenium Trainin...
Introduction to Selenium | Selenium Tutorial for Beginners | Selenium Trainin...Edureka!
 
Python selenium
Python seleniumPython selenium
Python seleniumDucat
 
How to Write & Run a Test Case in Selenium | Selenium Tutorial | Selenium Tra...
How to Write & Run a Test Case in Selenium | Selenium Tutorial | Selenium Tra...How to Write & Run a Test Case in Selenium | Selenium Tutorial | Selenium Tra...
How to Write & Run a Test Case in Selenium | Selenium Tutorial | Selenium Tra...Edureka!
 
Hybrid Automation Framework Development introduction
Hybrid Automation Framework Development introductionHybrid Automation Framework Development introduction
Hybrid Automation Framework Development introductionGanuka Yashantha
 
Unit testing JavaScript: Jasmine & karma intro
Unit testing JavaScript: Jasmine & karma introUnit testing JavaScript: Jasmine & karma intro
Unit testing JavaScript: Jasmine & karma introMaurice De Beijer [MVP]
 
Introduction to Swagger
Introduction to SwaggerIntroduction to Swagger
Introduction to SwaggerKnoldus Inc.
 
Blazor - An Introduction
Blazor - An IntroductionBlazor - An Introduction
Blazor - An IntroductionJamieTaylor112
 

Tendances (20)

.NET Core, ASP.NET Core Course, Session 6
.NET Core, ASP.NET Core Course, Session 6.NET Core, ASP.NET Core Course, Session 6
.NET Core, ASP.NET Core Course, Session 6
 
Dotnet Basics Presentation
Dotnet Basics PresentationDotnet Basics Presentation
Dotnet Basics Presentation
 
Migrating .NET Application to .NET Core
Migrating .NET Application to .NET CoreMigrating .NET Application to .NET Core
Migrating .NET Application to .NET Core
 
DevOps Roadshow - continuous delivery and release management
DevOps Roadshow - continuous delivery and release managementDevOps Roadshow - continuous delivery and release management
DevOps Roadshow - continuous delivery and release management
 
Selenium
SeleniumSelenium
Selenium
 
Automation Testing by Selenium Web Driver
Automation Testing by Selenium Web DriverAutomation Testing by Selenium Web Driver
Automation Testing by Selenium Web Driver
 
Angular - Chapter 1 - Introduction
 Angular - Chapter 1 - Introduction Angular - Chapter 1 - Introduction
Angular - Chapter 1 - Introduction
 
.Net Core - not your daddy's dotnet
.Net Core - not your daddy's dotnet.Net Core - not your daddy's dotnet
.Net Core - not your daddy's dotnet
 
Design patterns
Design patternsDesign patterns
Design patterns
 
Unit testing in JavaScript with Jasmine and Karma
Unit testing in JavaScript with Jasmine and KarmaUnit testing in JavaScript with Jasmine and Karma
Unit testing in JavaScript with Jasmine and Karma
 
Introduction to Selenium | Selenium Tutorial for Beginners | Selenium Trainin...
Introduction to Selenium | Selenium Tutorial for Beginners | Selenium Trainin...Introduction to Selenium | Selenium Tutorial for Beginners | Selenium Trainin...
Introduction to Selenium | Selenium Tutorial for Beginners | Selenium Trainin...
 
Python selenium
Python seleniumPython selenium
Python selenium
 
How to Write & Run a Test Case in Selenium | Selenium Tutorial | Selenium Tra...
How to Write & Run a Test Case in Selenium | Selenium Tutorial | Selenium Tra...How to Write & Run a Test Case in Selenium | Selenium Tutorial | Selenium Tra...
How to Write & Run a Test Case in Selenium | Selenium Tutorial | Selenium Tra...
 
Spring boot
Spring bootSpring boot
Spring boot
 
Hybrid Automation Framework Development introduction
Hybrid Automation Framework Development introductionHybrid Automation Framework Development introduction
Hybrid Automation Framework Development introduction
 
Unit testing JavaScript: Jasmine & karma intro
Unit testing JavaScript: Jasmine & karma introUnit testing JavaScript: Jasmine & karma intro
Unit testing JavaScript: Jasmine & karma intro
 
.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
 
Introduction to Swagger
Introduction to SwaggerIntroduction to Swagger
Introduction to Swagger
 
REST API
REST APIREST API
REST API
 
Blazor - An Introduction
Blazor - An IntroductionBlazor - An Introduction
Blazor - An Introduction
 

Similaire à Dot net platform and dotnet core fundamentals

Moving microsoft .net applications one container at a time
 Moving microsoft .net applications one container at a time  Moving microsoft .net applications one container at a time
Moving microsoft .net applications one container at a time Amazon Web Services
 
AWS Summit Auckland - Moving MS .NET Applications One Container at a Time
AWS Summit Auckland - Moving MS .NET Applications One Container at a TimeAWS Summit Auckland - Moving MS .NET Applications One Container at a Time
AWS Summit Auckland - Moving MS .NET Applications One Container at a TimeAmazon Web Services
 
Introduction_to_NET.ppt
Introduction_to_NET.pptIntroduction_to_NET.ppt
Introduction_to_NET.pptDarwin Terraza
 
Micro Services in .NET Core and Docker
Micro Services in .NET Core and DockerMicro Services in .NET Core and Docker
Micro Services in .NET Core and Dockercjmyers
 
Serverless brewbox
Serverless   brewboxServerless   brewbox
Serverless brewboxLino Telera
 
Containers, microservices and serverless for realists
Containers, microservices and serverless for realistsContainers, microservices and serverless for realists
Containers, microservices and serverless for realistsKarthik Gaekwad
 
Introduction to ASP.NET 5
Introduction to ASP.NET 5Introduction to ASP.NET 5
Introduction to ASP.NET 5mbaric
 
Container Orchestration for .NET Developers
Container Orchestration for .NET DevelopersContainer Orchestration for .NET Developers
Container Orchestration for .NET DevelopersMike Melusky
 
DotnetConf - Cloud native and .Net5 announcements
DotnetConf - Cloud native and .Net5 announcementsDotnetConf - Cloud native and .Net5 announcements
DotnetConf - Cloud native and .Net5 announcementsSajeetharan
 
DevOps in the Microsoft world part 1
DevOps in the Microsoft world part 1DevOps in the Microsoft world part 1
DevOps in the Microsoft world part 1Evgeniy Savchenko
 
Cloud Native Computing Foundation: How Virtualization and Containers are Chan...
Cloud Native Computing Foundation: How Virtualization and Containers are Chan...Cloud Native Computing Foundation: How Virtualization and Containers are Chan...
Cloud Native Computing Foundation: How Virtualization and Containers are Chan...Experfy
 
Intro to Docker Containers and the Oracle Platform – Database, WebLogic &Clo...
 Intro to Docker Containers and the Oracle Platform – Database, WebLogic &Clo... Intro to Docker Containers and the Oracle Platform – Database, WebLogic &Clo...
Intro to Docker Containers and the Oracle Platform – Database, WebLogic &Clo...Lucas Jellema
 
Monolithic to Microservices Architecture
Monolithic to Microservices ArchitectureMonolithic to Microservices Architecture
Monolithic to Microservices ArchitectureVin Dahake
 

Similaire à Dot net platform and dotnet core fundamentals (20)

Moving microsoft .net applications one container at a time
 Moving microsoft .net applications one container at a time  Moving microsoft .net applications one container at a time
Moving microsoft .net applications one container at a time
 
AWS Summit Auckland - Moving MS .NET Applications One Container at a Time
AWS Summit Auckland - Moving MS .NET Applications One Container at a TimeAWS Summit Auckland - Moving MS .NET Applications One Container at a Time
AWS Summit Auckland - Moving MS .NET Applications One Container at a Time
 
Introduction_to_NET.ppt
Introduction_to_NET.pptIntroduction_to_NET.ppt
Introduction_to_NET.ppt
 
Micro Services in .NET Core and Docker
Micro Services in .NET Core and DockerMicro Services in .NET Core and Docker
Micro Services in .NET Core and Docker
 
Net framework
Net frameworkNet framework
Net framework
 
Serverless brewbox
Serverless   brewboxServerless   brewbox
Serverless brewbox
 
Containers, microservices and serverless for realists
Containers, microservices and serverless for realistsContainers, microservices and serverless for realists
Containers, microservices and serverless for realists
 
Microsoft .Net Technology
Microsoft .Net TechnologyMicrosoft .Net Technology
Microsoft .Net Technology
 
Introduction to ASP.NET 5
Introduction to ASP.NET 5Introduction to ASP.NET 5
Introduction to ASP.NET 5
 
Container Orchestration for .NET Developers
Container Orchestration for .NET DevelopersContainer Orchestration for .NET Developers
Container Orchestration for .NET Developers
 
DotnetConf - Cloud native and .Net5 announcements
DotnetConf - Cloud native and .Net5 announcementsDotnetConf - Cloud native and .Net5 announcements
DotnetConf - Cloud native and .Net5 announcements
 
Cont0519
Cont0519Cont0519
Cont0519
 
DevOps in the Microsoft world part 1
DevOps in the Microsoft world part 1DevOps in the Microsoft world part 1
DevOps in the Microsoft world part 1
 
Cloud Native Computing Foundation: How Virtualization and Containers are Chan...
Cloud Native Computing Foundation: How Virtualization and Containers are Chan...Cloud Native Computing Foundation: How Virtualization and Containers are Chan...
Cloud Native Computing Foundation: How Virtualization and Containers are Chan...
 
Intro to Docker Containers and the Oracle Platform – Database, WebLogic &Clo...
 Intro to Docker Containers and the Oracle Platform – Database, WebLogic &Clo... Intro to Docker Containers and the Oracle Platform – Database, WebLogic &Clo...
Intro to Docker Containers and the Oracle Platform – Database, WebLogic &Clo...
 
ASP.NET 5
ASP.NET 5ASP.NET 5
ASP.NET 5
 
Ow
OwOw
Ow
 
Windows Azure introduction
Windows Azure introductionWindows Azure introduction
Windows Azure introduction
 
Monolithic to Microservices Architecture
Monolithic to Microservices ArchitectureMonolithic to Microservices Architecture
Monolithic to Microservices Architecture
 
Node ts1
Node ts1Node ts1
Node ts1
 

Plus de Lalit Kale

Serverless microservices
Serverless microservicesServerless microservices
Serverless microservicesLalit Kale
 
Develop in ludicrous mode with azure serverless
Develop in ludicrous mode with azure serverlessDevelop in ludicrous mode with azure serverless
Develop in ludicrous mode with azure serverlessLalit Kale
 
For Business's Sake, Let's focus on AppSec
For Business's Sake, Let's focus on AppSecFor Business's Sake, Let's focus on AppSec
For Business's Sake, Let's focus on AppSecLalit Kale
 
Introduction To Microservices
Introduction To MicroservicesIntroduction To Microservices
Introduction To MicroservicesLalit Kale
 
Code refactoring
Code refactoringCode refactoring
Code refactoringLalit Kale
 
Application Security Tools
Application Security ToolsApplication Security Tools
Application Security ToolsLalit Kale
 
Threat Modeling And Analysis
Threat Modeling And AnalysisThreat Modeling And Analysis
Threat Modeling And AnalysisLalit Kale
 
Application Security-Understanding The Horizon
Application Security-Understanding The HorizonApplication Security-Understanding The Horizon
Application Security-Understanding The HorizonLalit Kale
 
Coding guidelines
Coding guidelinesCoding guidelines
Coding guidelinesLalit Kale
 
Code review guidelines
Code review guidelinesCode review guidelines
Code review guidelinesLalit Kale
 
State management
State managementState management
State managementLalit Kale
 
Implementing application security using the .net framework
Implementing application security using the .net frameworkImplementing application security using the .net framework
Implementing application security using the .net frameworkLalit Kale
 
Data normailazation
Data normailazationData normailazation
Data normailazationLalit Kale
 
Versioning guidelines for product
Versioning guidelines for productVersioning guidelines for product
Versioning guidelines for productLalit Kale
 
Bowling Game Kata by Robert C. Martin
Bowling Game Kata by Robert C. MartinBowling Game Kata by Robert C. Martin
Bowling Game Kata by Robert C. MartinLalit Kale
 
Domain Driven Design
Domain Driven DesignDomain Driven Design
Domain Driven DesignLalit Kale
 
Web 2.0 concept
Web 2.0 conceptWeb 2.0 concept
Web 2.0 conceptLalit Kale
 
Jump Start To Ooad And Design Patterns
Jump Start To Ooad And Design PatternsJump Start To Ooad And Design Patterns
Jump Start To Ooad And Design PatternsLalit Kale
 
How To Create Strategic Marketing Plan
How To Create Strategic Marketing PlanHow To Create Strategic Marketing Plan
How To Create Strategic Marketing PlanLalit Kale
 

Plus de Lalit Kale (20)

Serverless microservices
Serverless microservicesServerless microservices
Serverless microservices
 
Develop in ludicrous mode with azure serverless
Develop in ludicrous mode with azure serverlessDevelop in ludicrous mode with azure serverless
Develop in ludicrous mode with azure serverless
 
For Business's Sake, Let's focus on AppSec
For Business's Sake, Let's focus on AppSecFor Business's Sake, Let's focus on AppSec
For Business's Sake, Let's focus on AppSec
 
Introduction To Microservices
Introduction To MicroservicesIntroduction To Microservices
Introduction To Microservices
 
Code refactoring
Code refactoringCode refactoring
Code refactoring
 
Application Security Tools
Application Security ToolsApplication Security Tools
Application Security Tools
 
Threat Modeling And Analysis
Threat Modeling And AnalysisThreat Modeling And Analysis
Threat Modeling And Analysis
 
Application Security-Understanding The Horizon
Application Security-Understanding The HorizonApplication Security-Understanding The Horizon
Application Security-Understanding The Horizon
 
Coding guidelines
Coding guidelinesCoding guidelines
Coding guidelines
 
Code review guidelines
Code review guidelinesCode review guidelines
Code review guidelines
 
State management
State managementState management
State management
 
Implementing application security using the .net framework
Implementing application security using the .net frameworkImplementing application security using the .net framework
Implementing application security using the .net framework
 
Data normailazation
Data normailazationData normailazation
Data normailazation
 
Opps
OppsOpps
Opps
 
Versioning guidelines for product
Versioning guidelines for productVersioning guidelines for product
Versioning guidelines for product
 
Bowling Game Kata by Robert C. Martin
Bowling Game Kata by Robert C. MartinBowling Game Kata by Robert C. Martin
Bowling Game Kata by Robert C. Martin
 
Domain Driven Design
Domain Driven DesignDomain Driven Design
Domain Driven Design
 
Web 2.0 concept
Web 2.0 conceptWeb 2.0 concept
Web 2.0 concept
 
Jump Start To Ooad And Design Patterns
Jump Start To Ooad And Design PatternsJump Start To Ooad And Design Patterns
Jump Start To Ooad And Design Patterns
 
How To Create Strategic Marketing Plan
How To Create Strategic Marketing PlanHow To Create Strategic Marketing Plan
How To Create Strategic Marketing Plan
 

Dernier

%in Harare+277-882-255-28 abortion pills for sale in Harare
%in Harare+277-882-255-28 abortion pills for sale in Harare%in Harare+277-882-255-28 abortion pills for sale in Harare
%in Harare+277-882-255-28 abortion pills for sale in Hararemasabamasaba
 
%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain
%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain
%in Bahrain+277-882-255-28 abortion pills for sale in Bahrainmasabamasaba
 
%in Midrand+277-882-255-28 abortion pills for sale in midrand
%in Midrand+277-882-255-28 abortion pills for sale in midrand%in Midrand+277-882-255-28 abortion pills for sale in midrand
%in Midrand+277-882-255-28 abortion pills for sale in midrandmasabamasaba
 
%in Durban+277-882-255-28 abortion pills for sale in Durban
%in Durban+277-882-255-28 abortion pills for sale in Durban%in Durban+277-882-255-28 abortion pills for sale in Durban
%in Durban+277-882-255-28 abortion pills for sale in Durbanmasabamasaba
 
Right Money Management App For Your Financial Goals
Right Money Management App For Your Financial GoalsRight Money Management App For Your Financial Goals
Right Money Management App For Your Financial GoalsJhone kinadey
 
%+27788225528 love spells in Vancouver Psychic Readings, Attraction spells,Br...
%+27788225528 love spells in Vancouver Psychic Readings, Attraction spells,Br...%+27788225528 love spells in Vancouver Psychic Readings, Attraction spells,Br...
%+27788225528 love spells in Vancouver Psychic Readings, Attraction spells,Br...masabamasaba
 
%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview
%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview
%in Hazyview+277-882-255-28 abortion pills for sale in Hazyviewmasabamasaba
 
Define the academic and professional writing..pdf
Define the academic and professional writing..pdfDefine the academic and professional writing..pdf
Define the academic and professional writing..pdfPearlKirahMaeRagusta1
 
%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein
%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein
%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfonteinmasabamasaba
 
Generic or specific? Making sensible software design decisions
Generic or specific? Making sensible software design decisionsGeneric or specific? Making sensible software design decisions
Generic or specific? Making sensible software design decisionsBert Jan Schrijver
 
%in ivory park+277-882-255-28 abortion pills for sale in ivory park
%in ivory park+277-882-255-28 abortion pills for sale in ivory park %in ivory park+277-882-255-28 abortion pills for sale in ivory park
%in ivory park+277-882-255-28 abortion pills for sale in ivory park masabamasaba
 
Software Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsSoftware Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsArshad QA
 
Introducing Microsoft’s new Enterprise Work Management (EWM) Solution
Introducing Microsoft’s new Enterprise Work Management (EWM) SolutionIntroducing Microsoft’s new Enterprise Work Management (EWM) Solution
Introducing Microsoft’s new Enterprise Work Management (EWM) SolutionOnePlan Solutions
 
Payment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdf
Payment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdfPayment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdf
Payment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdfkalichargn70th171
 
VTU technical seminar 8Th Sem on Scikit-learn
VTU technical seminar 8Th Sem on Scikit-learnVTU technical seminar 8Th Sem on Scikit-learn
VTU technical seminar 8Th Sem on Scikit-learnAmarnathKambale
 
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...masabamasaba
 
Exploring the Best Video Editing App.pdf
Exploring the Best Video Editing App.pdfExploring the Best Video Editing App.pdf
Exploring the Best Video Editing App.pdfproinshot.com
 
8257 interfacing 2 in microprocessor for btech students
8257 interfacing 2 in microprocessor for btech students8257 interfacing 2 in microprocessor for btech students
8257 interfacing 2 in microprocessor for btech studentsHimanshiGarg82
 
Announcing Codolex 2.0 from GDK Software
Announcing Codolex 2.0 from GDK SoftwareAnnouncing Codolex 2.0 from GDK Software
Announcing Codolex 2.0 from GDK SoftwareJim McKeeth
 
Architecture decision records - How not to get lost in the past
Architecture decision records - How not to get lost in the pastArchitecture decision records - How not to get lost in the past
Architecture decision records - How not to get lost in the pastPapp Krisztián
 

Dernier (20)

%in Harare+277-882-255-28 abortion pills for sale in Harare
%in Harare+277-882-255-28 abortion pills for sale in Harare%in Harare+277-882-255-28 abortion pills for sale in Harare
%in Harare+277-882-255-28 abortion pills for sale in Harare
 
%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain
%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain
%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain
 
%in Midrand+277-882-255-28 abortion pills for sale in midrand
%in Midrand+277-882-255-28 abortion pills for sale in midrand%in Midrand+277-882-255-28 abortion pills for sale in midrand
%in Midrand+277-882-255-28 abortion pills for sale in midrand
 
%in Durban+277-882-255-28 abortion pills for sale in Durban
%in Durban+277-882-255-28 abortion pills for sale in Durban%in Durban+277-882-255-28 abortion pills for sale in Durban
%in Durban+277-882-255-28 abortion pills for sale in Durban
 
Right Money Management App For Your Financial Goals
Right Money Management App For Your Financial GoalsRight Money Management App For Your Financial Goals
Right Money Management App For Your Financial Goals
 
%+27788225528 love spells in Vancouver Psychic Readings, Attraction spells,Br...
%+27788225528 love spells in Vancouver Psychic Readings, Attraction spells,Br...%+27788225528 love spells in Vancouver Psychic Readings, Attraction spells,Br...
%+27788225528 love spells in Vancouver Psychic Readings, Attraction spells,Br...
 
%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview
%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview
%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview
 
Define the academic and professional writing..pdf
Define the academic and professional writing..pdfDefine the academic and professional writing..pdf
Define the academic and professional writing..pdf
 
%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein
%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein
%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein
 
Generic or specific? Making sensible software design decisions
Generic or specific? Making sensible software design decisionsGeneric or specific? Making sensible software design decisions
Generic or specific? Making sensible software design decisions
 
%in ivory park+277-882-255-28 abortion pills for sale in ivory park
%in ivory park+277-882-255-28 abortion pills for sale in ivory park %in ivory park+277-882-255-28 abortion pills for sale in ivory park
%in ivory park+277-882-255-28 abortion pills for sale in ivory park
 
Software Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsSoftware Quality Assurance Interview Questions
Software Quality Assurance Interview Questions
 
Introducing Microsoft’s new Enterprise Work Management (EWM) Solution
Introducing Microsoft’s new Enterprise Work Management (EWM) SolutionIntroducing Microsoft’s new Enterprise Work Management (EWM) Solution
Introducing Microsoft’s new Enterprise Work Management (EWM) Solution
 
Payment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdf
Payment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdfPayment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdf
Payment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdf
 
VTU technical seminar 8Th Sem on Scikit-learn
VTU technical seminar 8Th Sem on Scikit-learnVTU technical seminar 8Th Sem on Scikit-learn
VTU technical seminar 8Th Sem on Scikit-learn
 
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
 
Exploring the Best Video Editing App.pdf
Exploring the Best Video Editing App.pdfExploring the Best Video Editing App.pdf
Exploring the Best Video Editing App.pdf
 
8257 interfacing 2 in microprocessor for btech students
8257 interfacing 2 in microprocessor for btech students8257 interfacing 2 in microprocessor for btech students
8257 interfacing 2 in microprocessor for btech students
 
Announcing Codolex 2.0 from GDK Software
Announcing Codolex 2.0 from GDK SoftwareAnnouncing Codolex 2.0 from GDK Software
Announcing Codolex 2.0 from GDK Software
 
Architecture decision records - How not to get lost in the past
Architecture decision records - How not to get lost in the pastArchitecture decision records - How not to get lost in the past
Architecture decision records - How not to get lost in the past
 

Dot net platform and dotnet core fundamentals

  • 1. August 7, 2017 Lalit Kale @techiethought .NET Platform & .NET Core Fundamentals Limerick DotNet Azure User Group (LDNA)
  • 2. 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)
  • 3. Our Sponsors Limerick DotNet Azure User Group (LDNA)
  • 4. 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
  • 7. The umbrella term for .NET Standard and all .NET implementations and workloads. Always capitalized, never ".Net". What is .NET?
  • 8. • 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
  • 9. What is .NET – Circa 2003
  • 10. Inside Look - .NET 2003
  • 11. Unmanaged Vs. Managed Applications
  • 12. CLR & CTS CTS Fundamental Types • Classes • Structures • Enumerations • Interfaces • Delegates
  • 14. • .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
  • 15. • 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
  • 17. 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
  • 18. Break
  • 19.
  • 20.
  • 21.
  • 22.
  • 23.
  • 24.
  • 25. 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
  • 26. Limerick DotNet Azure User Group (LDNA) And Satya nuked our world!
  • 27. Any Developer. Any App. Any Platform Microsoft Vision
  • 28. 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
  • 29. 2016 – Open Source and Microsoft
  • 30. 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
  • 31. 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
  • 32. 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
  • 33. 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
  • 35. Solution - .NET Standard 2.0
  • 36. APIs Included and Streamlined
  • 38. . 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 Group https://www.meetup.com/limerick-dotnet/ Twitter: limerickdotnet

Notes de l'éditeur

  1. Please note, this is mandatory slide and Do Not change or exclude
  2. https://docs.microsoft.com/en-us/dotnet/standard/glossary
  3. https://technet.microsoft.com/en-us/library/bb496996.aspx
  4. https://docs.microsoft.com/en-us/dotnet/standard/garbage-collection/fundamentals http://www.cs.inf.ethz.ch/ssw/files/GC_in_NET.pdf
  5. Slide 5 to 11 are our sponsors adverts. These will be run only in break during the session. So, do not change or exclude these slides. However, you can move them as a group wherever you wanted to have break.
  6. Bank of Ireland: 53 sec <iframe width="560" height="315" src="https://www.youtube.com/embed/IcjQzsx-95c?autoplay=1&amp;rel=0&amp;controls=0&amp;showinfo=0" frameborder="0" allowfullscreen></iframe>
  7. Microsoft Cloud: Empowering Cancer Research: 40 sec <iframe width="560" height="315" src="https://www.youtube.com/embed/GY2Bg0op-Kc?autoplay=1&amp;rel=0&amp;controls=0&amp;showinfo=0" frameborder="0" allowfullscreen></iframe>
  8. Microsoft Ireland:Why Build with Microsoft Azure? 1.48 sec <iframe width="560" height="315" src="https://www.youtube.com/embed/M8PIwKtsrR4?autoplay=1&amp;rel=0&amp;controls=0&amp;showinfo=0" frameborder="0" allowfullscreen></iframe>
  9. JetBrains: The Drive to Develop : 2.10 sec <iframe width="560" height="315" src="https://www.youtube.com/embed/tTShTikQA6U?autoplay=1&amp;rel=0&amp;controls=0&amp;showinfo=0" frameborder="0" allowfullscreen></iframe>
  10. Introduction to Database DevOps: RedGate 1.30 sec <iframe width="560" height="315" src="https://www.youtube.com/embed/VEVzrkmfyaA?autoplay=1&amp;rel=0&amp;controls=0&amp;showinfo=0" frameborder="0" allowfullscreen></iframe>
  11. Redgate SQL Clone: 1.05 Sec <iframe width="560" height="315" src="https://www.youtube.com/embed/0A2ZXvVQji4?autoplay=1&amp;rel=0&amp;controls=0&amp;showinfo=0" frameborder="0" allowfullscreen></iframe>
  12. https://github.com/dotnet/core/blob/master/roadmap.md
  13. This is End slide. As a user group, we wanted to share your contribution with our community, off course, with due credits. Hence, we are sharing this presentation under creative commons Noncommercial-ShareAlike 4.0 international license.