360 likes | 549 Views
Microsoft Development Platform Introduction. Lesson: Introduction to the .NET Framework. What is the .NET Framework? What Problems Does .NET Solve? The .NET Framework Components Benefits of Using the .NET Framework Visual Studio .NET: The Tool for .NET Development.
E N D
Lesson: Introduction to the .NET Framework • What is the .NET Framework? • What Problems Does .NET Solve? • The .NET Framework Components • Benefits of Using the .NET Framework • Visual Studio .NET: The Tool for .NET Development
What is the .NET Framework? Developer Tools Clients ASP.NET Web Applications Databases XML Web Services User Experiences .NET Framework
What Problems Does .NET Solve? • Even with the Internet, most applications and devices have trouble communicating with each other • Programmers end up writing infrastructure instead of applications • Programmers have had to limit their scope or continually learn new languages
Message Queuing COM+ (Transactions, Partitions, Object Pooling) IIS WMI The .NET Framework Components Visual Basic C++ C# Perl Python … XML Web Services User Interface ASP.NET ADO.NET and XML .NET Framework Class Library Common Language Runtime Win32
MFC/ATL .NET Framework Windows API Visual Basic ASP 1990’s 2000’s 1980’s Benefits of Using the .NET Framework • Based on Web standards and practices • Functionality of .NET classes is universally available • Code is organized into hierarchical namespaces and classes • Language independent
Visual Studio .NET: The Tool for .NET Development Web Forms Tools Windows Forms Tools Visual Studio .NET Multiple Languages Error Handling Web Services Tools Data Access Design Develop Debug Deploy
Lesson: Overview of ASP.NET • What is ASP.NET? • ASP.NET Web Application
What is ASP.NET? • Evolutionary, more flexible successor to Active Server Pages • Dynamic Web pages that can access server resources • Server-side processing of Web Forms • XML Web services let you create distributed Web applications • Browser-independent • Language-independent
ASP.NET Web Application ASP.NET Web Server Clients Web Forms Web.config Page1.aspx Code-behind pages Output Cache Internet Page2.aspx machine.config global.asax WebServices Database Components XML Data
Lesson: Overview of Visual Studio .NET • Why Visual Studio .NET? • Start Page • Available Project Templates • Integrated Development Environment (IDE)
Why Visual Studio .NET? • One IDE for multiple languages and multiple project types • Multiple languages within a project • Multiple project types within a solution • Integrated browser • Debugging support • Customizable interface
Start Page • Online support access • Recent projects
Available Project Templates • The list of available project templates is based on your Profile and Project Type selections
Integrated Development Environment (IDE) Editor/Browser Object Browser SolutionExplorer Toolbox Properties ServerExplorer Task List Dynamic Help
Lesson: Creating an ASP.NET Web Application Project • The Development Process • Web Application Files • Web Application File Structure
The Development Process Create a DesignSpecification Create a New Project Create the Interface and Write Code Test and Debug Build Visual Studio .NET Deploy
Web Application Files • Solution files (.sln, .suo) • Project files (.vbproj, .csproj) • Web application files • ASP.NET Web Forms (.aspx) • ASP.NET Web services (.asmx) • Classes, code-behind pages (.vb or .cs) • Global application classes (.asax) • Web.config file • Project assembly (.dll)
Web Application File Structure Inetpub My Documents wwwroot Visual StudioProjects Solution ProjectA Solution.sln ProjectA.vbproj WebForm1.aspx WebForm1.aspx.vb(Code-behind page) Development Files Assembly Files Bin Build ProjectA.dll
Lesson: Overview of the .NET-Based Languages • Multiple Language Support • The Common Language Runtime • The Common Language Runtime Components • Runtime Compilation and Execution • What are Namespaces? • Using Namespaces
Multiple Language Support • The .NET Framework is designed to support many languages • More than 20 languages currently supported • Microsoft provides Visual Basic .NET, C#, Visual J# .NET, and JScript .NET • Benefits of multiple-language support • Code modules are reusable • API access is the same for all languages • The right language is used for the right task • Performance is roughly equal between all languages
The Common Language Runtime • One runtime for all . NET-Based Languages • Manages threads and memory • Garbage collection • Enforces code security • Eliminates DLL versioning problems • Multiple versions of a DLL can run simultaneously • Applications can specify a version of a DLL to use
Type Checker Exception Manager The Common LanguageRuntime Components .NET Framework Class Library Support Thread Support COM Marshaler Security Engine Debug Engine MSIL to Native Compilers Code Manager Garbage Collector Class Loader
Which language? Visual Basic .NETcompiler MSIL C#compiler JITcompiler Runtime Compilation and Execution default.aspx C# code Visual Basic .NET code HTML Runtime Nativecode
What are Namespaces? • Group related classes • Logical, not physical, grouping • Namespaces are hierarchical • Decrease naming conflicts • Imports keyword in Visual Basic .NET code • Using keyword in C# code Imports System.Data.SqlClient using System.Data.SqlClient;
Using Namespaces • Implicit object declaration • Explicit object declaration Imports System.Web.UI.WebControls ... Dim listBox1 As New ListBox() listBox1.Items.Add("First Item") using System.Web.UI.WebControls; ... ListBox listBox1 = new ListBox(); listBox1.Items.Add("First Item"); Dim listBox1 As New System.Web.UI.WebControls.ListBox() listBox1.Items.Add("First Item") System.Web.UI.WebControls.ListBox listBox1 = new System.Web.UI.WebControls.ListBox(); listBox1.Items.Add("First Item");
Lesson: Comparison of the .NET-Based Languages • Visual Basic .NET • C# • Choosing a Language
Visual Basic .NET • Visual Basic .NET is the latest version of Visual Basic • True object-oriented language • Visual Basic Scripting Edition (and JScript) are still used for client-side script Private Sub Button1_Click(ByVal sender As System.Object, _ ByVal e As System.EventArgs) Handles Button1.Click Dim i As Integer = 0 Dim x As Double = TextBox1.Text For i = 0 To 4 x *= 2 Label1.Text = Label1.Text & x & "," Next End Sub
C# • C# is a new language • Similar to Java, Visual C++, and Pascal private void Button1_Click(object sender, System.EventArgs e) { int i = 0; double x = Convert.ToDouble(TextBox1.Text); for (i=0; i<=4; i++) { x *= 2; Label1.Text = Label1.Text + x + ","; } }
Choosing a Language • .NET Framework class library is the same regardless of language • Performance • All languages are compiled to MSIL • Only performance difference is how each language compiler compiles to MSIL • The runtime compiles all MSIL the same, regardless of its origin • Development experience • C# is similar to Java, C, Visual C++, and Pascal • Visual Basic .NET is similar to Visual Basic • Browser compatibility • ASP.NET code is server-side code, so browser compatibility is not an issue
Lesson: Creating a Component Using Visual Studio .NET • What are Classes and Components? • Creating a Class • Using Components in an ASP.NET Web Form • Demonstration: Creating a Class in Visual Studio .NET
component What are Classes and Components? • Classes are groups of code with no user interface • Components are compiled classes • Components are compiled as DLL files • Components are used for sharing code between applications Web application Web application Windows application
Creating a Class • Create a Class Library project in Visual Studio .NET • Visual Studio .NET creates a default namespace • Create methods of the class Public Class Shipping Function ShippingCost _ (ByVal sngPrice As Single) As Single '… Return (sngShipping) End Function End Class public class Shipping { public Single ShippingCost (Single sngPrice) { //… return sngShipping; } }
Using Components in an ASP.NET Web Form • Add a reference to the DLL • Instantiate the class object: • Use the object: CompanyA.Shipping x = new CompanyA.Shipping(); Dim x As New CompanyA.Shipping component.dll component.dll Namespace CompanyA Class Shipping Function ShippingCost (…) End ClassEnd Namespace namespace CompanyA { class Shipping { public void ShippingCost (…) { } } } sngShipping = _ x.ShippingCost(sngPrice) sngShipping = x.ShippingCost(sngPrice);