Saturday 18 October 2014

Introduction to the C# Language and the .NET Framework

C# is an elegant and type-safe object-oriented language that enables developers to build a variety of secure and robust applications that run on the .NET Framework. You can use C# to create Windows client applications, XML Web services, distributed components, client-server applications, database applications, and much, much more. Visual C# provides an advanced code editor, convenient user interface designers, integrated debugger, and many other tools to make it easier to develop applications based on the C# language and the .NET Framework.
Note Note
The Visual C# documentation assumes that you have an understanding of basic programming concepts. If you are a complete beginner, you might want to explore Visual C# Express, which is available on the Web. You can also take advantage of books and Web resources about C# to learn practical programming skills.

C# syntax is highly expressive, yet it is also simple and easy to learn. The curly-brace syntax of C# will be instantly recognizable to anyone familiar with C, C++ or Java. Developers who know any of these languages are typically able to begin to work productively in C# within a very short time. C# syntax simplifies many of the complexities of C++ and provides powerful features such as nullable value types, enumerations, delegates, lambda expressions and direct memory access, which are not found in Java. C# supports generic methods and types, which provide increased type safety and performance, and iterators, which enable implementers of collection classes to define custom iteration behaviors that are simple to use by client code. Language-Integrated Query (LINQ) expressions make the strongly-typed query a first-class language construct.
As an object-oriented language, C# supports the concepts of encapsulation, inheritance, and polymorphism. All variables and methods, including the Main method, the application's entry point, are encapsulated within class definitions. A class may inherit directly from one parent class, but it may implement any number of interfaces. Methods that override virtual methods in a parent class require the override keyword as a way to avoid accidental redefinition. In C#, a struct is like a lightweight class; it is a stack-allocated type that can implement interfaces but does not support inheritance.
In addition to these basic object-oriented principles, C# makes it easy to develop software components through several innovative language constructs, including the following:
  • Encapsulated method signatures called delegates, which enable type-safe event notifications.
  • Properties, which serve as accessors for private member variables.
  • Attributes, which provide declarative metadata about types at run time.
  • Inline XML documentation comments.
  • Language-Integrated Query (LINQ) which provides built-in query capabilities across a variety of data sources.
If you have to interact with other Windows software such as COM objects or native Win32 DLLs, you can do this in C# through a process called "Interop." Interop enables C# programs to do almost anything that a native C++ application can do. C# even supports pointers and the concept of "unsafe" code for those cases in which direct memory access is absolutely critical.
The C# build process is simple compared to C and C++ and more flexible than in Java. There are no separate header files, and no requirement that methods and types be declared in a particular order. A C# source file may define any number of classes, structs, interfaces, and events.

NET Framework Platform Architecture

C# programs run on the .NET Framework, an integral component of Windows that includes a virtual execution system called the common language runtime (CLR) and a unified set of class libraries. The CLR is the commercial implementation by Microsoft of the common language infrastructure (CLI), an international standard that is the basis for creating execution and development environments in which languages and libraries work together seamlessly.
Source code written in C# is compiled into an intermediate language (IL) that conforms to the CLI specification. The IL code and resources, such as bitmaps and strings, are stored on disk in an executable file called an assembly, typically with an extension of .exe or .dll. An assembly contains a manifest that provides information about the assembly's types, version, culture, and security requirements.
When the C# program is executed, the assembly is loaded into the CLR, which might take various actions based on the information in the manifest. Then, if the security requirements are met, the CLR performs just in time (JIT) compilation to convert the IL code to native machine instructions. The CLR also provides other services related to automatic garbage collection, exception handling, and resource management. Code that is executed by the CLR is sometimes referred to as "managed code," in contrast to "unmanaged code" which is compiled into native machine language that targets a specific system. The following diagram illustrates the compile-time and run-time relationships of C# source code files, the .NET Framework class libraries, assemblies, and the CLR.
From C# source code to machine execution Language interoperability is a key feature of the .NET Framework. Because the IL code produced by the C# compiler conforms to the Common Type Specification (CTS), IL code generated from C# can interact with code that was generated from the .NET versions of Visual Basic, Visual C++, or any of more than 20 other CTS-compliant languages. A single assembly may contain multiple modules written in different .NET languages, and the types can reference each other just as if they were written in the same language.
In addition to the run time services, the .NET Framework also includes an extensive library of over 4000 classes organized into namespaces that provide a wide variety of useful functionality for everything from file input and output to string manipulation to XML parsing, to Windows Forms controls. The typical C# application uses the .NET Framework class library extensively to handle common "plumbing" chores.

Friday 17 October 2014

ASP.NET Tutorial - Introduction

ASP.NET is a free web framework for developing Web sites and Web applications using HTML, CSS and JavaScript. Moreover, it is a technology for developing, deploying, and running Web applications. ASP.NET is a part of the Microsoft .NET Framework, so all .NET Framework features are available to ASP.NET applications. That means, when you developing ASP.NET applications you have access to classes in the .NET Framework. 

Asp.Net Overview
ASP.NET web pages are simply pure text, like HTML files. ASP.NET web pages are the main building block for application development. You can develop your applications in any language compatible with the common language runtime, including Microsoft Visual Basic and C#. These languages enable you to develop ASP.NET applications that benefit from the common language runtime, type safety, inheritance, and so on. ASP.NET incorporates all the important standards of our time, such as XML and SOAP, plus with ADO.NET and the foundation class libraries. 

Model View Controller
Model View Controller (MVC)
ASP.NET developments supports three different models, they are Web Pages, Model View Controller(MVC) and Web Forms. Model View Controller (MVC) architectural pattern separates web applications into three different components, Model, View and Controller. It is a lightweight, highly testable presentation framework that is integrated with existing ASP.NET features, such as master pages and membership-based authentication. It is defined in the System.Web.Mvc assembly. 

Asp.Net Extension
You can extend the functionality of ASP.Net web pages by adding some extensions framework that released by Microsoft. ASP.NET AJAX, ASP.NET MVC Framework, ASP.NET Razor view engine, ASP.NET Dynamic Data, ASP.NET SignalR etc. are some of the popular Asp.Net extensions.

Asp.Net Versions
The following tables gives you in details of Asp.Net versions with the .NET Framework releases.
asp.net versions
 
Asp.Net Development tools
You can develop Asp.Net web application in several available software packages.
asp.net development tools
 
Visual Studio
Visual Studio .NET is an excellent development tool for constructing ASP.NET web applications. It provides all of the necessary tools and support for creating ASP.NET web applications. ASP.NET web applications are hosted by Internet Information Server (IIS), which accepts requests from clients and optionally authenticates them before passing the requests on to the Web application.

Asp.Net MONO
Asp.Net Mono is the Open Source development platform bases on the Microsoft .Net Framework. You can run your Asp.Net applications in MONO, you have three options. They are Apache hosting, Fast CGI hosting and XSP. XSP is a lightweight and simple web server entirely written in C#. From the following chapters you can learn more about ASP.NET technology in detail.

VB.NET Tutorial - Introduction

VB.NET is an update to Visual Basic that targets Microsofts .NET Framework. VB.NET has a lot of similarities to Visual Basic but also some differences. VB.NET is an object-oriented language, which supports the abstraction, encapsulation, inheritance, and polymorphism features. It is the most productive tool for rapidly creating a wide range of Windows, Web, Mobile, and Office applications built on the .NET Framework. 

The Visual Basic language is designed to be human readable and accessible to everyone from novice programmers to advanced system architects. All of this is built on top of the .NET Framework, which guarantees that programs written in Visual Basic run with unsurpassed scalability and reliability. The .NET Framework provides VB.Net programmers with the ability to create fully object oriented programs (OOPs), just like the ones created using Java, C# or C++. Also programs written in VB.Net will interoperate seamlessly with programs written in any other .NET languages such as Visual C#, Visual J#, or Visual C++. 

Many programmers says VB.Net ease of use as the key to its success. Using VB.NET, you can create a wide variety of applications, such as a Console Applications, that displays its output in an MS-DOS-like window, Windows Applications that often displays a form-based interface, Web Applications, Web Services, Mobile Applications etc. I hope this site will help you to acquire the skills and knowledge necessary to develop various types of applications in VB.NET in a simplified manner rather than in a complex way.

C# Tutorial - Introduction

C# is a language for professional programming. C# (pronounced C sharp) is a programming language designed for building a wide range of enterprise applications that run on the .NET Framework. The goal of C# is to provide a simple, safe, modern, object-oriented, high performance , robust and durable language for .NET development. Also it enables developers to build solutions for the broadest range of clients, including Web applications, Microsoft Windows Forms-based applications, and thin- and smart-client devices.

Visual C# developers can leverage their existing C, C++ , Java skills and knowledge to be successful in the Microsoft .NET development environment. So many C, Java, and C++ development will move to C# to take advantage of .NET features. In cooperation with the .NET CLR (Common Language Runtime), it provides a language to use for ComponentOriented software, without forcing programmers to abandon their existing knowledge in C, C++, or COM code. 

The following C# lessons provide an overview of the basics of the language and identify important language features. Each lessons includes one or more sample programs. I hope this website will help you to acquire the skills and knowledge necessary to develop Windows applications in Visual C# in a simplified manner rather than in a complex way.

Monday 13 October 2014

Everybody Welcome to DOT NET Developer's Technologies

Everybody Welcome to DOT NET Developer's Technologies. This provides Tutorials, Projects, Experience, Knowledge, Comments and much more about DOT NET Technologies...