Se ha denunciado esta presentación.
Utilizamos tu perfil de LinkedIn y tus datos de actividad para personalizar los anuncios y mostrarte publicidad más relevante. Puedes cambiar tus preferencias de publicidad en cualquier momento.

Dot net platform and dotnet core fundamentals

This is the presentation deck, I did for LimerickDotNet-Azure User group.
Event Url: https://www.meetup.com/Limerick-DotNet/events/240897689/

Session Details:
This session represented .NET journey of almost 17 years. Through this slid-deck, I narrated .NET platform progression till .NET Standards 2.0.

This session was accompanied by a small demo of running small dotnet program on alpine linux with docker container.

  • Inicia sesión para ver los comentarios

Dot net platform and dotnet core fundamentals

  1. 1. August 7, 2017 Lalit Kale @techiethought .NET Platform & .NET Core Fundamentals Limerick DotNet Azure User Group (LDNA)
  2. 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. 3. Our Sponsors Limerick DotNet Azure User Group (LDNA)
  4. 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
  5. 5. .NET 2000 2017
  6. 6. What is .NET?
  7. 7. The umbrella term for .NET Standard and all .NET implementations and workloads. Always capitalized, never ".Net". What is .NET?
  8. 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. 9. What is .NET – Circa 2003
  10. 10. Inside Look - .NET 2003
  11. 11. Unmanaged Vs. Managed Applications
  12. 12. CLR & CTS CTS Fundamental Types • Classes • Structures • Enumerations • Interfaces • Delegates
  13. 13. Garbage Collection
  14. 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. 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
  16. 16. Fast Forward… 2015
  17. 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. 18. Break
  19. 19. 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
  20. 20. Limerick DotNet Azure User Group (LDNA) And Satya nuked our world!
  21. 21. Any Developer. Any App. Any Platform Microsoft Vision
  22. 22. 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
  23. 23. 2016 – Open Source and Microsoft
  24. 24. 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
  25. 25. 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
  26. 26. 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
  27. 27. 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
  28. 28. Programming Model Problem in brewing
  29. 29. Solution - .NET Standard 2.0
  30. 30. APIs Included and Streamlined
  31. 31. Compatibility Towards .NET Standard
  32. 32. . 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

×