Title: Exposing the Microsoft 'NET Framework
1Exposing theMicrosoft .NETFramework
(c) Allan C. Milne School of Computing Creative
Technologies University of Abertay Dundee
Last updated 26th July 2006
2Agenda
- Interoperability
- Compilation
- VB.NET C
- Visual Studio .NET
- Application contexts
3Language Interoperability
- Common IL, CLR, class library type system
- .NET features available in all languages
- Development tools can be applied to all languages
- Application components can be written in
different languages - Class inheritance works across languages
4Its Music To My Ears
"Programming in different languages is like
composing pieces in different keys, particularly
if you work at the keyboard. If you have learned
or written pieces in many keys, each key will
have its own special emotional aura. Also,
certain kinds of figurations "lie in the hand" in
one key but are awkward in another. So you are
channelled by your choice of key. In some ways,
even enharmonic keys, such as C-sharp and D-flat,
are quite distinct in feeling. This shows how a
notational system can play a significant role in
shaping the final product."
Godel, Echer, Bach An Eternal Golden
Braid Hofstadter, 1980, Chapter X
5The Right Tool for the Job
.NET Framework
C
JScript
VB .NET
Application
6Compilation
Source code
Class library
VB.NET
Assemblies
C
Visual Studio .NET
7Visual Basic .NET
- VB has been rewritten
- Incompatible with VB6
- Generally more logical and elegant
- Fully object-oriented
- Removes legacy features
- Includes full .NET functionality
- Retains VB development model
8C (C sharp)
- A completely new language ?
- Basically its the Java programming model with a
more C like syntax - Fully supports .NET functionality
- Includes enumerations, foreach, properties,
events, delegates, - Enables rapid development a la VB
9Visual Studio .NET
- The integrated development environment (IDE) for
.NET - Includes all the usual management, development
debugging support - One IDE for all languages
- Supports all .NET features including windows, web
form web services applications - Supports different project types
10Developing with .NET
- Use the Framework SDK to
- initially get to grips with the concepts
- avoid too many learning curves
- develop simple applications
- Use Visual Studio .NET to
- create more complex user interfaces
- manage larger projects
- create applications in database or internet
contexts
11Console Applications
- The CLR can operate in a console context such as
the Command Prompt - Screen text output keyboard input supported
through the class System.Console - Class library functionality is fully accessible
12Windows Forms
- Client desktop applications can be built using
all .NET functionality - Applications can be console-based or
windows-based - Use System.Windows.Forms namespace for GUI
creation - Standard GUI components available with
properties, methods events - Visual Studio .NET provides GUI designer to
generate required code
13ADO.NET
- Replaces DAO, RDO, ADO
- Defines a disconnected data object model
- An access mechanism and object model for
databases - Supports many database types
- Facilitates XML integration
- Supports XML-based services
- Internet-aware
- Scaleable
14ASP.NET
- Replaces Active Server Pages (ASP)
- Embedded server-side web page processing
- Can use any .NET language
- The ASP.NET code is compiled rather than
interpreted - Executes against a server-side CLR
15Web Forms
- Analogous to Windows forms
- Exposes HTML web pages
- Interface developed through drag-and-drop web
form designer in Visual Studio .NET - Built around server-side controls with
properties, methods events executed on the
server - Web forms emit HTML to build an interface in a
browser
16Web Services
- Allows applications to communicate share data
across the Internet - Exposes a class API across the Internet
- Facilitates distributed scaleable applications
- Stateless
- Non-proprietary
Protocol Stack
17Web Services Mapping
Application Concepts
Web Protocol
.NET Concepts
18Getting Hold of .NET
- .NET Framework SDK
- CLR, compilers, debuggers, tools, class
libraries, documentation, - free download of 100Mb
- Visual Studio .NET
- IDE for all languages
- size 2.5Gb to 3.5Gb