.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:
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.
.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#.
Next step to learn the C# programing language.