Title: DotNET A Developer
1DotNETA Developers Perspective
- Mike Litzkow
- University of Wisconsin - Madison
2Microsofts Goals
- Better software development tools
- Better software
- Take over the world
- Desktop
- Servers
- Small Devices
3What Is DotNET?
- Execution environment above Win32
- Common Language Runtime
- Major Technology Pieces
- DotNET Framework
- C
- ASP.NET
- XML Web Services (passport friends)
- Visual Studio .NET
4Common Language Runtime (CLR)
C, C, VB, JavaScript
Cobol, Fortran, Perl, Python, Eiffel, Pascal,
SmallTalk,
- Supports multiple languages
- Languages interoperate freely
- All code is compiled on target machine
- Compiler aware of actual CPU to be used
- Nothing is interpreted (not even script)
- JIT is default, can compile at install time
- Type safety
- Including array bounds checking
- Garbage collection
(including inheritance)
5But, Will the CLR Last?
- Enterprise development
- language interoperability
- Security
- buffer overrun problems eliminated
- Software reliability
- memory leaks, access errors eliminated
- versioning problems addressed (end of DLL Hell)
- Transition to 64-bit architecture
- no pointers, target machine compilation
Probably Yes
6Visual Studio.NET
C, C, VB, JavaScript, HTML, XML, Schema,
Bitmaps,
- Multi-language development
- Multi-language debugging
- Syntax coloring and checking
- Intellisense
- Drag n Drop GUI development
- Same GUI tools for multiple languages
- Similar GUI tools for desktop and web
Command line development is available (and free)
DotNET Framework SDK
7DotNET Framework
- Example content
- Object, String, Int, Float,
- I/O
- Windows forms
- Web forms
- XML processing
- Reflection
- Usage model
- Direct use
- Use by inheritance
- Custom toolbox
8C
- Extremely similar to Java
- Differences
- Enumerations
- Properties
- Delegates
- No checked exceptions
- Everything is an object
- Reference types
- Value types
9C - Syntax Examples
- Enumeration
- public enum Direction North, South, East, West
- private Direction direction
- Property
- public Direction Direction
- get return direction
- set
- direction value
- pointTo( direction )
-
Delegate too complex to show here
- Property usage
- obj.Direction Direction.North
10But, Will C Last?
- Its a good language, but a lot like Java
- MS has control unlike Java
- Heavily used inside MS
- Is C a really important part of DotNET?
Probably Yes
Nah
11ASP.NET
- Server-side code
- runs on CLR
- uses .NET Framework
- All code is compiled (even JavaScript)
- Supports separation of code and HTML
- Easy and efficient DB connectivity
- Drag n drop web forms development
- Forms work across multiple browsers
- Even small devices
- Xcopy deployment
- Debugging, logging, caching,
12But, Will ASP.NET Last?
Probably Yes (CLR on Server, .NET Framework
support)
Not sure about web forms, HTML/Script connection,
DB Connectivty
13XML Web Services
- RPC implemented with XML (SOAP)
- Service description in XML (WSDL)
- Underlying protocol HTTP penetrates firewalls
- Lots of hype and controversy (Passport)
Geneva convention
14But, Will XML Web Services Last?
- Web services are an industry wide initiative
- Lots of questions about compatibility remain
Will be important for B2B commerce
Much more slowly than Microsoft hopes
15DotNET Books
- Introducing Microsoft .NET
- David S. Platt
- C Essentials
- Ben Albahari
- Applied Microsoft .NET Framework Programming
- Jeffery Richter
- Essential .NET The Common Language Runtime
- Don Box
- Programming Microsoft Windows With C
- Charles Petzold
Easy Intro to Whole Platform
Compact reference for C
CLR
CLR
Windows Forms (desktop apps)
16Further Talks
- C
- Delegates
- C vs C performance
- GUI builder
- CLR
- Types
- Metadata
- Versioning
- Security
- ASP.NET
- Web forms
- Database connectivity
- Business logic
- Security
17Contact Info
- Mike Litzkow
- mlitzkow_at_facstaff.wisc.edu
- mike_at_cs.wisc.edu
- 262-6122
- eTEACH Home Page
- http//eteach.engr.wisc.edu