DotNet Platform - thelastmile/FreeCodeCamp GitHub Wiki

The .NET Platform

Logo

.NET platform is a big and comprehensive collection of frameworks and libraries managed by Microsoft. C# is the most popular language used to develop a range of .NET applications, such as web apps, windows aps, Mac and iPhone apps.

We will start with learning C# programing language, and will make you familiar with development environment, project structures, techniques, and best practices that you will perform as a professional developer.

First let's begin with a brief overview of the .NET platform, and get some jargons out of the way. Don't worry, you don't have to know in-depth about these at this point.

  • .NET Framework : (pronounced dot net) provides configuration for your application to run on top of it. It provides all the services an app needs; for instance communication with database, networks, file systems which are commonly used to build console, desktop, web, mobile and game applications.

    • CLR (Common Language Runtime) : is an execution environment for your application which manages its life-cycle. CLR provides services like memory management, and is:

      1. implementation of CLI standard(Common Language Infrastructure)
      2. designed to be platform-independent. Platform refers to the computer architecture and operating system.
      3. language independent, for instance can be used for C#, C++,VB.NET and F#.
    • C-Sharp Compiler : a csc.exe is a compiler which transforms C# code into Microsoft Intermediate Language (MSIL), commonly referred as IL. It defines instructions which CLR can understand. CLR's job is to read these instructions and tranform them into machine-understandable instructions.

    • Class libraries : It contains thousands of in-built classes for your application's use, for example System.IO for reading/writing data streams, HttpClient sends data over network, ASP.NET for web applications, ADO.NETfor data access to relational databases (like Microsoft SQL Server and MySQL), and Windows Communication Foundation (WCF) for service-oriented applications which communicates over established protocols like HTTP, REST, SOAP and TCP etc.

    • The C# Programming Language (pronounced "C-sharp") : C# has a syntax similar to Java, C++, and Javascript. It is:

      1. used to write applications, services and reusable libraries.
      2. designed to work with .NET platform.
      3. strongly typed, high level object oriented language.
  • .NET Core : is Microsoft's recent endeavour to move towards open source, cross platform development delivered as Nuget packages. They are working with Mono community, which is an implementation of Microsoft .NET framework to build apps on Windows, Linux, and iOS.

  • Nuget: is package manager for .NET applications.

  • Silverlight : primarily intended to focus on web browsers plug-in to provide enrich multimedia.

  • .NET for windows app : used to create Windows 8.x Store apps using C#.

The C# programing language

Next step to learn the C# programing language.