This document summarizes a presentation about the history and evolution of the .NET platform. It discusses how .NET was initially developed as a response to problems with COM/DCOM and C++. It then covers the key components of early .NET implementations like the CLR and CTS. The presentation describes how .NET expanded with new frameworks and fell behind market trends. It outlines Microsoft's shift to embrace open source and how this led to the development of .NET Core to make .NET cross-platform and modular. The talk concludes by discussing how .NET Standard 2.0 further streamlined APIs to improve compatibility.
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)
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
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
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
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
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
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
Please note, this is mandatory slide and Do Not change or exclude
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.
Bank of Ireland: 53 sec
<iframe width="560" height="315" src="https://www.youtube.com/embed/IcjQzsx-95c?autoplay=1&rel=0&controls=0&showinfo=0" frameborder="0" allowfullscreen></iframe>
Microsoft Cloud: Empowering Cancer Research: 40 sec
<iframe width="560" height="315" src="https://www.youtube.com/embed/GY2Bg0op-Kc?autoplay=1&rel=0&controls=0&showinfo=0" frameborder="0" allowfullscreen></iframe>
Microsoft Ireland:Why Build with Microsoft Azure? 1.48 sec
<iframe width="560" height="315" src="https://www.youtube.com/embed/M8PIwKtsrR4?autoplay=1&rel=0&controls=0&showinfo=0" frameborder="0" allowfullscreen></iframe>
JetBrains: The Drive to Develop : 2.10 sec
<iframe width="560" height="315" src="https://www.youtube.com/embed/tTShTikQA6U?autoplay=1&rel=0&controls=0&showinfo=0" frameborder="0" allowfullscreen></iframe>
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.