|
|
|
|
|
Design goals for Visual Basic .NET |
|
Building the next generation
of applications |
|
The Basic language and compiler |
|
|
|
|
Modernize |
|
Simplify |
|
Reduce programming errors |
|
Full access to .NET Framework |
|
|
|
|
|
|
|
Application services in ASP+ |
|
Authentication, Caching, State Services |
|
The best of Web Classes and ASP |
|
Web Forms separates UI and code |
|
Familiar development model |
|
Full, compiled Visual Basic language |
|
Target any browser on any platform |
|
|
|
|
Visual inheritance |
|
Secure and low TCO |
|
Integrates with Web Services |
|
RAD control creation |
|
Accessibility support built in |
|
In-place menu editor! |
|
|
|
|
|
|
|
VBXs, COM, now Web Services |
|
Creation is easy! |
|
“WebMethod” Subs and Functions |
|
Visual Studio automatically publishes to the Web |
|
Drag and drop consumption |
|
Discovery via Server Explorer,
Web References |
|
As simple as calling a method |
|
|
|
|
Visually compose business objects |
|
Manage enterprise wide
programmer
resources |
|
Scalable, transacted, cross-machine, and
cross-platform messaging |
|
Efficient scheduling |
|
Configure and diagnose your production
applications |
|
|
|
|
|
|
|
Scalability, interoperability by default |
|
Datasets are |
|
Visually designed or imported |
|
Disconnected and move between tiers |
|
Persisted and remoted as XML |
|
Program directly against objects |
|
Full programmatic control over modifications |
|
|
|
|
|
XML enables application integration |
|
The tool produces and consumes XML |
|
Datasets, Object Persistence,
Web Services |
|
Visual Basic .NET makes XML easy |
|
Visually define the schema (XSD) |
|
Automatic schema inference |
|
Access-like table editing of data |
|
IntelliSense™! |
|
|
|
|
|
|
|
Modernized |
|
Fully Object Oriented |
|
Structured exception handling |
|
Cross-language inheritance, interoperability |
|
Powerful |
|
Free threading, OO function pointers |
|
Simplified and Consistent |
|
“Option Strict”, one type of assignment |
|
|
|
|
|
Reuse by composition |
|
Reuse by inheritance |
|
Inheritance features: |
|
Single base class |
|
Method and property overriding |
|
Protected access type |
|
|
|
|
|
|
Inheriting classes easily broken when base class
changes |
|
By default methods are not overridable |
|
Overriding is explicit using
“Overrides” keyword |
|
“Shadows” keyword used to hide inherited members |
|
Classes can be declared as NotInheritable |
|
|
|
|
|
|
|
Shared members on classes |
|
Shared between all instances of a class |
|
Previously were defined outside class in a
standard module |
|
Nested Type Support |
|
Classes and other types can be encapsulated
within a class |
|
Structures |
|
Support Properties, Methods, and Events |
|
Support Interfaces |
|
|
|
|
|
Eliminates need for GoTo |
|
Supports typed exceptions |
|
Try Construct |
|
Guarded code between Try and first
Catch statement |
|
Catch Statements |
|
filters on type or general condition |
|
Finally block |
|
always executed |
|
Throw statement |
|
Generates typed exception |
|
|
|
|
Eliminate parameterless default properties |
|
Only one form of assignment |
|
Always use parentheses around args |
|
Fix variable declaration syntax:
Dim
x, y As Integer |
|
Short-circuiting And and Or operators |
|
|
|
|
|
|
|
Parameterized constructors |
|
Variables can be initialized where declared |
|
Circular References |
|
Garbage collector recovers instances in
reference cycles |
|
Decimal type replaces Currency |
|
|
|
|
|
|
|
Option for stricter type checking |
|
Disallow Implicit conversions that may fail at
runtime |
|
Disallow late-bound calls |
|
Overloaded methods supported |
|
No unexpected implicit conversions |
|
Strings and numeric |
|
Date and Boolean |
|
Array declarations must specify rank |
|
|
|
|
|
First-class access to framework |
|
Seamless Language Interoperability |
|
File I/O names not reserved |
|
Importing Namespaces |
|
Allows unqualified access to types |
|
Placed at file or project level |
|
|
|
|
|
|
|
Delegates |
|
Object oriented function pointer |
|
Points to a specific method of a specific
instance |
|
Event Extensions |
|
Implemented on top of delegates |
|
Dynamic hook-up of method as handler |
|
Many events can be routed to same method |
|
Free Threading |
|
SyncLock statement for synchronization |
|
|
|
|
|
|
|
Reference assignment for arrays |
|
Instance size much smaller |
|
Faster Object manipulation |
|
Faster creation |
|
Faster assignment |
|
Supports direct data member access |
|
|
|
|
|
|
|
Project conversion wizard |
|
Copies your Visual Basic 6.0 project |
|
Migrates most technologies |
|
Some code needs to be rewritten |
|
“TODO” comments inserted into code |
|
Report generated |
|
|
|
|
|
|
A first class player … |
|
Modern, Simple, Consistent, and Robust |
|
Full access to the .NET platform |
|
Your skills and investments will
move forward |
|
Visual Basic .NET is much bigger than simply a
new “rev” of the language! |
|