Docstoc

dotnet

Document Sample
dotnet Powered By Docstoc
					One     DotNET
A Developer‟s Perspective




           Mike Litzkow
University of Wisconsin - Madison
           Microsoft‟s Goals
 Better software development tools
 Better software
 Take over the world
    – Desktop
    – Servers
    – Small Devices
             What 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
Common Language Runtime (CLR)
                                          C++, C#, VB, JavaScript
                                        Cobol, Fortran, Perl, Python,
   Supports multiple languages         Eiffel, Pascal, SmallTalk, …
    – Languages interoperate freely (including inheritance)
   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
       But, 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
           Visual Studio.NET
                                        C++, C#, VB, JavaScript,
   Multi-language development          HTML, XML, Schema,
                                        Bitmaps, …
   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
           DotNET Framework
   Example content             Usage model
    – Object, String, Int,       – Direct use
        Float, …                 – Use by inheritance
    –   I/O                      – Custom toolbox
    –   Windows forms
    –   Web forms
    –   XML processing
    –   Reflection
                             C#
 Extremely similar to Java
 Differences
    – Enumerations
    – Properties
    – Delegates
    – No “checked” exceptions
    – Everything is an object
          Reference types
          Value types
           C# - Syntax Examples
   Enumeration
    public enum Direction {North, South, East, West};
    private Direction direction;

   Property                          Property usage
    public Direction Direction {     obj.Direction =
       get { return direction; }       Direction.North;
       set {
             direction = value;
             pointTo( direction );
       }
    }
          But, Will C# Last?
 It‟s a good language, but a lot like Java
 MS has control – unlike Java
 Heavily used inside MS
          Probably Yes
   Is C# a really important part of DotNET?
          Nah
                     ASP.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, …
But, Will ASP.NET Last?
Probably Yes (CLR on Server,
.NET Framework support)
Not sure about web forms,
HTML/Script connection,
DB Connectivty …
       XML 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
    But, 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
               DotNET Books
   Introducing Microsoft .NET
     – David S. Platt Easy Intro to Whole Platform
   C# Essentials
     – Ben Albahari Compact reference for C#
   Applied Microsoft .NET Framework Programming
     – Jeffery Richter CLR
   Essential .NET: The Common Language Runtime
     – Don Box CLR
   Programming Microsoft Windows With C#
    – Charles Petzold   Windows Forms (desktop apps)
                    Further Talks
   C#                           ASP.NET
    – Delegates                   – Web forms
    – C# vs C++ performance       – Database connectivity
    – GUI builder                 – “Business” logic
   CLR                           – Security
    – Types
    – Metadata
    – Versioning
    – Security
               Contact Info
Mike Litzkow
  – mlitzkow@facstaff.wisc.edu
  – mike@cs.wisc.edu
  – 262-6122
eTEACH Home Page
  – http://eteach.engr.wisc.edu

				
DOCUMENT INFO