Call Us at: 8056 966 366 / 9500 960 135
Mail us at: info@cloudcareersolutions.com

.NET introduction (.net basics)

What do I need to know before I learn .net?

If you are absolutely new to the world of software, I would strongly recommend going thru Programming Methodology from Stanford and CS 61B: Data Structures  video tutorials from UC Berkley ( both available on youtube). It will save you a lot of time learning .net in the future. Its totally worth it.

What is .net?

Microsoft .net is a piece of software that makes it easier for you to build software that is meant to run on Windows based machines. If you want to build windows desk top applications or web sites that run on windows servers, you would use .net.

If I have a Mac or Linux, what are my options?

You should install the .net mono framework, which is meant for .net development on Mac and Linux.  However, at this point I must mention, I have never commercially developed any application using the .net mono framework. If you are particular about using a Linux based machine, I would recommend at looking at alternatives such as Java EE.

Why use .net?

The biggest advantage of using a .net technology is that Microsoft offers a lot of products that integrate well with .net. Also Microsoft supports all these products (you can’t call anyone for support if you use apache for a webserver 🙂   ) The development time for a product in a Microsoft technology is much shorter as compared to java. With the introduction of LINQ, the productivity of a C# developer has taken another giant leap. The only downside is that, while technologies like php and apache webservers are free,  using Microsoft technologies for commercial deployment costs money. But considering the overall development and maintenance cost, Microsoft always works out cheaper.

If I don’t want to buy Visual Studio what are my options for development in .net?

You have a couple of options for a free development environment.

  • Use Visual Studio 2010 Express: This is a free scaled down version of Visual studio. Visual studio Express comes in a few flavors (Visual Web developer express, Visual C# express and a few more). This has almost everything that a beginner needs. In fact I even know of some relatively small companies that exclusively use the free Visual Web developer express edition for all their internal website development.
  • You can write code in notepad and compile it using the command line compiler. The command line compiler is a part of the .net sdk.

Of the two I would strongly recommend the first option.

ASP.NET Web Forms Model

ASP.NET web forms extend the event-driven model of interaction to the web applications. The browser submits a web form to the web server and the server returns a full markup page or HTML page in response.

All client side user activities are forwarded to the server for stateful processing. The server processes the output of the client actions and triggers the reactions.

Now, HTTP is a stateless protocol. ASP.NET framework helps in storing the information regarding the state of the application, which consists of:

  • Page state
  • Session state

The page state is the state of the client, i.e., the content of various input fields in the web form. The session state is the collective information obtained from various pages the user visited and worked with, i.e., the overall session state. To clear the concept, let us take an example of a shopping cart.

User adds items to a shopping cart. Items are selected from a page, say the items page, and the total collected items and price are shown on a different page, say the cart page. Only HTTP cannot keep track of all the information coming from various pages. ASP.NET session state and server side infrastructure keeps track of the information collected globally over a session.

The ASP.NET runtime carries the page state to and from the server across page requests while generating ASP.NET runtime codes, and incorporates the state of the server side components in hidden fields.

This way, the server becomes aware of the overall application state and operates in a two-tiered connected way.

The ASP.NET Component Model

The ASP.NET component model provides various building blocks of ASP.NET pages. Basically it is an object model, which describes:

  • Server side counterparts of almost all HTML elements or tags, such as <form> and <input>.
  • Server controls, which help in developing complex user-interface. For example, the Calendar control or the Gridview control.

ASP.NET is a technology, which works on the .Net framework that contains all web-related functionalities. The .Net framework is made of an object-oriented hierarchy. An ASP.NET web application is made of pages. When a user requests an ASP.NET page, the IIS delegates the processing of the page to the ASP.NET runtime system.

The ASP.NET runtime transforms the .aspx page into an instance of a class, which inherits from the base class page of the .Net framework. Therefore, each ASP.NET page is an object and all its components i.e., the server-side controls are also objects.

(1) Common Language Runtime or CLR

It performs memory management, exception handling, debugging, security checking, thread execution, code execution, code safety, verification, and compilation. The code that is directly managed by the CLR is called the managed code. When the managed code is compiled, the compiler converts the source code into a CPU independent intermediate language (IL) code. A Just In Time(JIT) compiler compiles the IL code into native code, which is CPU specific.

(2) .Net Framework Class Library

It contains a huge library of reusable types. classes, interfaces, structures, and enumerated values, which are collectively called types.

(3) Common Language Specification

It contains the specifications for the .Net supported languages and implementation of language integration.

(4) Common Type System

It provides guidelines for declaring, using, and managing types at runtime, and cross-language communication.

(5) Metadata and Assemblies

Metadata is the binary information describing the program, which is either stored in a portable executable file (PE) or in the memory. Assembly is a logical unit consisting of the assembly manifest, type metadata, IL code, and a set of resources like image files.

(6) Windows Forms

Windows Forms contain the graphical representation of any window displayed in the application.

(7) ASP.NET and ASP.NET AJAX

ASP.NET is the web development model and AJAX is an extension of ASP.NET for developing and implementing AJAX functionality. ASP.NET AJAX contains the components that allow the developer to update data on a website without a complete reload of the page.

(8) ADO.NET

It is the technology used for working with data and databases. It provides access to data sources like SQL server, OLE DB, XML etc. The ADO.NET allows connection to data sources for retrieving, manipulating, and updating data.

(9) Windows Workflow Foundation (WF)

It helps in building workflow-based applications in Windows. It contains activities, workflow runtime, workflow designer, and a rules engine.

(10) Windows Presentation Foundation

It provides a separation between the user interface and the business logic. It helps in developing visually stunning interfaces using documents, media, two and three dimensional graphics, animations, and more.

(11) Windows Communication Foundation (WCF)

It is the technology used for building and executing connected systems.

(12) Windows CardSpace

It provides safety for accessing resources and sharing personal information on the internet.

(13) LINQ

It imparts data querying capabilities to .Net languages using a syntax which is similar to the tradition query language SQL.

 

Leave a Reply