Dot net platform and dotnet core fundamentals
-
Upload
lalit-kale -
Category
Software
-
view
136 -
download
3
Transcript of Dot net platform and dotnet core fundamentals
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