Contrary to general belief .NET is not a single technology.
Rather it is a set of
Technologies
that work together seamlessly to solve your business problems.
Kind of
applications you can develop:
What type of applications can I develop?
When you hear the name .NET, it gives a feeling that it is
something to do only
with internet or networked applications. Even though it is true
that .NET provides
solid foundation for developing such applications it is possible
to create many
other types of applications. Following list will give you an
idea about various
types of application that we can develop on .NET.
1. ASP.NET Web applications: These include dynamic and data
driven browser
based applications.
2. Windows Form based applications: These refer to traditional
rich client
applications.
3. Console applications: These refer to traditional DOS kind of
applications like
batch scripts.
4. Component Libraries: This refers to components that typically
encapsulate
some business logic.
5. Windows Custom Controls: As with traditional ActiveX
controls, you can
develop your own windows controls.
6. Web Custom Controls: The concept of custom controls can be
extended to
web applications allowing code reuse and modularization.
7. Web services: They are “web callable” functionality available
via industry
standards like HTTP, XML and SOAP.
8. Windows Services: They refer to applications that run as
services in the
background. They can be configured to start automatically when
the system
boots
up.
.NET Framework SDK
You can develop such varied types of applications. That’s fine.
But how? As with
most of the programming languages, .NET has a complete Software
Development
Kit (SDK) - more commonly referred to as .NET Framework SDK - that
provides classes, interfaces and language compilers necessary to
program for
.NET. Additionally it contains excellent documentation and Quick
Start tutorials
that help you learn .NET technologies with ease. Good news is
that - .NET
Framework SDK is available FREE of cost. You can download it
from the MSDN
web site. This means that if you have machine with .NET
Framework installed
and a text editor such as Notepad then you can start developing
for .NET right
now!
Development Tools
If you are developing applications that require speedy delivery
to your customers
and features like integration with some version control software
then simple
Notepad may not serve your purpose. In such cases you require
some Integrated
Development Environment (IDE) that allows for Rapid Action
Development
(RAD). The new Visual Studio.NET is such an IDE. VS.NET is a
powerful and
flexible IDE that makes developing .NET applications a breeze.
Some of the
features of VS.NET that make you more productive are:
- Drag and Drop design
- IntelliSense features
- Syntax highlighting and auto-syntax checking
- Excellent debugging tools
- Integration with version control software such as Visual
Source Safe (VSS)
- Easy project management
Note that when you install Visual Studio.NET, .NET Framework is
automatically
installed
on the machine.
.NET Redistributable
In order to run application developed using .NET
Framework the machine must
have certain ‘runtime’ files installed. They are
collectively called as .NET
redistributable. This is analogous to traditional
Visual Basic applications that
required Visual Basic runtime installed on target
computers. .NET redistributable
provides one redistributable installer that contains
the common language runtime
(more on that later) and Microsoft .NET Framework
components that are
necessary to run .NET Framework applications. The
redistributable is available as
a stand-alone executable and can be installed
manually or as a part of your
application setup.
You can download .NET redistributable at
http://msdn.microsoft.com/downloads/default.asp?url=/downloads/sample.asp?url
=/msdn-files/027/001/829/msdncompositedoc.xml
More technical information about .NET
redistributable can be found at
http://msdn.microsoft.com/library/default.asp?url=/library/enus/
dnnetdep/html/dotnetfxref.asp
Note that if you have installed .NET Framework SDK,
there is no need of
installing redistributable separately. Also, note
that there is difference between
.NET Framework SDK and .NET redistributable in terms
of purpose and tools
and documentation supplied. .NET Framework SDK is
intended to ‘develop’
applications where as .NET redistributable is intended to ‘run’
.NET applications.
Features of .NET
Now that we know some basics of .NET, let us see what makes .NET
a wonderful
platform for developing modern applications.
Rich Functionality out of the box
.NET framework provides a rich set of functionality out of the
box. It contains
hundreds of classes that provide variety of functionality ready
to use in your
applications. This means that as a developer you need not go
into low level details
of many operations such as file IO, network communication and so
on.
Easy development of web applications
ASP.NET is a technology available on .NET platform for
developing dynamic
and data driven web applications. ASP.NET provides an event
driven
programming model (similar to Visual Basic 6 that simplify
development of web
pages (now called as web forms) with complex user interface.
ASP.NET server
controls provide advanced user interface elements (like calendar
and grids) that
save lot of coding from programmer’s side.
OOPs Support
The advantages of Object Oriented programming are well known.
.NET provides
a fully object oriented environment. The philosophy of .NET is –
“Object is
mother of all.” Languages like Visual Basic.NET now support many
of the OO
features that were lacking traditionally. Even primitive types
like integer and
characters can be treated as objects – something not available
even in OO
languages like C++.
Multi-Language Support
Generally enterprises have varying skill sets. For example, a
company might have
people with skills in Visual Basic, C++, and Java etc. It is an
experience that
whenever a new language or environment is invented existing
skills are outdated.
This naturally increases cost of training and learning curve.
.NET provides
something attractive in this area. It supports multiple
languages. This means that
if you have skills in C++, you need not throw them but just
mould them to suit
.NET environment. Currently four languages are available right
out of the box
namely – Visual Basic.NET, C# (pronounced as C-sharp),
Jscript.NET and
Managed C++ (a dialect of Visual C++). There are many vendors
that are
working on developing language compilers for other languages
(20+ language
compilers are already available). The beauty of multi language
support lies in the
fact that even though the syntax of each language is different,
the basic
capabilities of each language remain at par with one another.
Multi-Device Support
Modern lift style is increasingly embracing mobile and wireless
devices such as
PDAs, mobiles and handheld PCs. . . .NET provides promising
platform for
programming such devices. .NET Compact Framework and Mobile
Internet
Toolkit are step ahead in this direction.
Automatic memory management
While developing applications developers had to develop an eye
on system
resources like memory. Memory leaks were major reason in failure
of
applications. .NET takes this worry away from developer by
handling memory on
its own. The garbage collector takes care of freeing unused
objects at appropriate
intervals.
Compatibility with COM and COM+
Before the introduction of .NET, COM was the de-facto standard
for
componentized software development. Companies have invested lot
of money and
efforts in developing COM components and controls. The good news
is – you can
still use COM components and ActiveX controls under .NET. This
allows you to
use your existing investment in .NET applications. .NET still
relies on COM+ for
features like transaction management and object pooling. In fact
it provides
enhanced declarative support for configuring COM+ application
right from your
source code. Your COM+ knowledge still remains as a valuable
asset.
No more DLL Hell
If you have worked with COM components, you probably are aware
of “DLL
hell”. DLL conflicts are a common fact in COM world. The main
reason behind
this was the philosophy of COM – “one version of component
across machine”.
Also, COM components require registration in the system registry.
.NET ends this
DLL hell by allowing applications to use their own copy of
dependent DLLs.
Also, .NET components do not require any kind of registration in
system registry.
Strong XML support
Now days it is hard to find a programmer who is unaware of XML.
XML has
gained such a strong industry support that almost all the
vendors have released
some kind of upgrades or patches to their existing software to
make it “XML
compatible”. Currently, .NET is the only platform that has built
with XML right
into the core framework. .NET tries to harness power of XML in
every possible
way. In addition to providing support for manipulating and
transforming XML
documents, .NET provides XML web services that are based on
standards like
HTTP, XML and SOAP.
Ease of deployment and configuration
Deploying windows applications especially that used COM
components were
always been a tedious task. Since .NET does not require any
registration as such,
much of the deployment is simplified. This makes XCOPY
deployment viable.
Configuration is another area where .NET – especially ASP.NET –
shines over
traditional languages. The configuration is done via special
files having special
XML vocabulary. Since, most of the configuration is done via
configuration files,
there is no need to sit in front of actual machine and configure
the application
manually. This is more important for web applications; simply
FTPing new
configuration file makes necessary changes.
Security
Windows platform was always criticized for poor security mechanisms.
Microsoft
has taken great efforts to make .NET platform safe and secure
for enterprise
applications. Features such as type safety, code access security
and role based
authentication
make overall application more robust and secure.
Coming Next…
By the time you must have got idea about what .NET is and what
it can do for you. You
probably will have installed .NET on your machine waiting
eagerly to try hands on it.
However, before you go into the code level details, it is
essential that you firmly
understand certain fundamentals. In the next section we will
demystify some intrinsic
concepts
and features of .NET framework.
@2
What
type of Programmers we are ?
System
Programmers: One who programs directly for a given hardware.
Ex:
Device Drivers etc..
Application
Programmers: One Who Programs Applications used by People for their
requirements.
Ex:
Calculator, Calendar, MS Office packages, Accounting Packages etc..
.NET if
for Application Programmers not for the System Programmers.
Definitions:
Platform:
is an environment for developing and executing applications.
Framework:
is ready to use collection of classes and interfaces used for developing a
particular type of application.
Understanding the .NET Platform and its layers
Here in this section we will be covering what the .NET Platform is
made up of
and we will define its layers. To start, .NET is a framework that
covers all the layers
of software development above the Operating System. It provides the
richest level of
integration among presentation technologies, component technologies,
and data
technologies ever seen on Microsoft, or perhaps any, platform.
Secondly, the entire
architecture has been created to make it easy to develop Internet
applications, as it
is to develop for the desktop.
Constituents of .NET Platform
The .NET consists of the following three main parts
.NET Framework – a completely re-engineered
development environment.
.NET Products – applications from MS based on the
.NET platform, including
Office and Visual Studio.
.NET Services – facilitates 3rd party
developers to create services on the .NET
Platform.
The Common Language Runtime (CLR)
At the base is the CLR. It is considered as the heart of the .NET
framework. .NET
applications are compiled to a common language known as Microsoft
Intermediate
Language or “IL”. The CLR, then, handles the compiling the IL to
machine language,
at which point the program is executed.
The CLR environment is also referred to as a managed environment, in
which
common services, such as garbage collection and security, are
automatically
provided.
Thank you for sharing this information. It is very interesting to read
ReplyDeleteDot Net training center in Chennai | Dot Net course in Chennai