This document provides an overview of a course on programming in .NET. It outlines the aim to provide an understanding of programming principles using a .NET framework. The learning outcomes include understanding .NET principles, designing solutions, implementing solutions, and testing/documenting solutions. It also lists resources like books and websites. An introduction covers what .NET is, its version history, design features like interoperability and security, and supported programming languages.
2. Aim
Lecturer: Jareed Eve;2
To provide learners with an understanding of the
principles of programming using a .NET
framework as an underpinning technological
concept in the fields of programming and systems
development.
3. Learning Outcomes
Lecturer: Jareed Eve;3
1. Understand the principles of programming using
a .NET framework.
2. Be able to design .NET solutions
3. Be able to implement .NET solutions
4. Be able to test and document .NET solutions.
7. What is .NET
Lecturer: Jareed Eve;7
The .NET Framework is a software framework
developed by Microsoft
Programs written for the .NET Framework
execute in a software environment, known as the
Common Language Runtime (CLR)
CRL - An application virtual machine that provides
services such as security, memory management,
and exception handling.
The class library and the CLR together constitute
the .NET Framework.
8. The .NET Framework is an environment for
building, deploying, and running Mobile, Desktop,
Web Applications and Web Services.
Microsoft's first server technology ASP (Active
Server Pages), was a powerful and flexible
"programming language". But it was too code
oriented. It was not an application framework and
not an enterprise development tool.
The Microsoft .NET Framework was developed to
solve this problem.
MS .NET Framework
9. .NET Frameworks Advantages:
Easier and quicker programming
Reduced amount of code
Declarative programming model
Richer server control hierarchy with events
Larger class library
Better support for development tools
MS .NET Framework
10. Version History 1
Lecturer: Jareed Eve;10
Microsoft started development of the .NET
Framework in the late 1990s (Next Generation
Windows Services (NGWS)).
The first beta versions of .NET 1.0 were released
in 2000.
Version 3.0 of the .NET Framework is included
with Windows Server 2008 and Windows Vista.
Version 3.5 is included with Windows 7 and
Windows Server 2008 R2, and can also be
installed on Windows XP and Windows Server
2003.[2]
On 12 April 2010, .NET Framework 4 was
released alongside Visual Studio 2010.
12. Design Features 1
Lecturer: Jareed Eve;12
Interoperability
Common Language Runtime engine
Language independence
Base Class Library
Security
Simplified Deployment
Portability
13. Design Features: Interoperability
Lecturer: Jareed Eve;13
Ability of a system to work with or use the parts of
another system
Because computer systems commonly require
interaction between newer and older applications,
the .NET Framework provides means to access
functionality implemented in newer and older
programs that execute outside the .NET
environment.
14. Design Features: CLR Engine
Lecturer: Jareed Eve;14
It provides many services such as
Automatic garbage collection
Code access security
Simplified versioning
Simple and reliable deployment
Deep cross-language interoperability
Debugging across different languages
Performance
Scalability
15. Design Features: Language
Independence
Lecturer: Jareed Eve;15
It is possible to use .NET from many
programming languages because they have all
agreed on some standards.
The Common Type System or CTS is a
specification that defines the different data types
and programming constructs.
Regardless of where languages come from or
why people choose them, the .NET framework is
a feature rich library that helps with the rapid
development of computer systems.
16. Design Features: Base Class Library
Lecturer: Jareed Eve;16
A library of functionality available to all languages
using the .NET Framework.
The BCL provides classes for common functions
File reading and writing,
Graphic rendering,
Database interaction,
XML document manipulation, etc.
It consists of classes, interfaces of reusable types
that integrates with CLR(Common
Language Runtime).
17. Design Features: Simplified
Deployment
Lecturer: Jareed Eve;17
The .NET Framework includes design features
and tools which help manage the installation of
computer software
It ensures that it does not interfere with previously
installed software
It conforms to security requirements.
18. Design Features: Security
Lecturer: Jareed Eve;18
The design addresses some of the vulnerabilities
Example: buffer overflows, which have been
exploited by malicious software.
.NET provides a common security model for all
applications
19. Design Features: Portability
Lecturer: Jareed Eve;19
The framework was designed to be platform-
agnostic, and cross-platform implementations are
available for other operating systems.
Microsoft submitted the specifications for the
Common Language Infrastructure, the C#
language, and the C++/CLI language to both
ECMA and the ISO, making them available as
official standards.
This makes it possible for third parties
to create compatible implementations of
the framework and its languages on other
platforms.
The .NET Framework is a software framework developed by Microsoft that runs primarily on Microsoft Windows. It includes a large library and provides language interoperability across several programming languages.
The .NET Framework family also includes two versions for mobile or embedded device use. A reduced version of the framework, the .NET Compact Framework, is available on Windows CE platforms, including Windows Mobile devices such as smartphones. Additionally, the .NET Micro Framework is targeted at severely resource-constrained devices.
The .NET Framework introduces a Common Type System, or CTS. The CTS specification defines all possible data types and programming constructs supported by the CLR and how they may or may not interact with each other conforming to the Common Language Infrastructure (CLI) specification. As a result the .NET Framework supports the exchange of types and object instances between libraries and applications written using any conforming .NET language.
Reality though, it is mostly (only) used on Microsoft systems due to the easy integrations.