Lập trình Windows
Chương 1. Giới thiệu Microsoft .Net Platform
1
Mục tiêu
• Giới thiệu .NET Platform
• Giới thiệu .NET Framework
• Những thuận lợi của .NET Framework
• Các thành phần của .NET Framework
• Các loại ngơn ngữ lập trình trên .NET
• Các loại ứng dụng có thể viết với .NET
• Q trình tạo, biên dịch và chạy chương trình
2
2
Microsoft .NET Platform
.Net Platform
• Là một tập các cơng cụ và cơng nghệ giúp xây dựng dễ dàng các ứng dụng Internet
• Đơn giản hóa việc phát triển các ứng dụng trong môi trường phân bố của Internet
4
4
.NET Platform
• Các thành phần của .NET Platform
• .NET Framework
• .NET My Services
• .NET Enterprise Servers
• Visual Studio .NET
5
.NET Platform
Internet
Visual Studio .NET
Orchestration
Internet
.NET
Framework
COM+
.NET
Building
Enterprise
Block
Servers
Services
Windows
Available
With .NET
New
Today
Enhancements
Capabilities
6
.NET Platform
Môi trường chung cho việc xây dựng, triển khai và thực thi các ứng dụng
• Khơng gắn chặt vào hệ điều hành
• Khơng gắn chặt vào ngơn ngữ
• Nhiều tiện ích khác giúp cho việc phát triển các ứng dụng nhanh, hiệu quả hơn
7
.NET My Services
• Một tập XML Web Service cho phép user truy cập thơng tin qua Internet
• Dùng các .NET My Service các ứng dụng có thể truyền thơng trực tiếp bằng giao thức SOAP và
XML
• Một số services
• .NET Calendar
• .NET Contacts
• .NET Inbox
• .NET Documents
•…
8
.NET Enterprise Servers
•
•
•
Một nhóm các sản phẩm của Microsoft
Mỗi sản phẩm phụ trách một thành phần then chốt cho kiến trúc ứng dụng đang phát triển
Một số sản phẩm
•
•
•
•
Microsoft SQL Server
Microsoft Biztalk Server
Microsoft Host integration Server
…
9
.Visual Studio .NET
Là mơi trường tích hợp để
xây dựng các ứng dụng trên
.NET Framework.
10
Microsoft .NET Framework
.Net Framework
• Mơ hình lập trình thống nhất
• Đơn giản việc phát triển ứng dụng
• Mơi trường thực thi code an tồn
• Độc lập ngơn ngữ (hỗ trợ nhiều ngơn ngữ lập trình)
• Hỗ trợ XML Web Service (Dựa trên các công nghệ chuẩn: HTTP, XML, SOAP)
12
Mơ hình lập trình thống nhất
API nhất qn bất chấp
ngơn ngữ và mơ hình lập trình
.NET Framework
Stateless,
RAD,
Subclassing,
Composition,
Power,
Delegation
Expressiveness
VB Forms
MFC/ATL
Code được nhúng vào các trang
HTML
ASP
Windows API
13
Đơn giản việc phát triển ứng dụng
Windows API
HWND hwndMain = CreateWindowEx(
0, "MainWClass", "Main Window",
WS_OVERLAPPEDWINDOW | WS_HSCROLL | WS_VSCROLL,
CW_USEDEFAULT, CW_USEDEFAULT,
CW_USEDEFAULT, CW_USEDEFAULT,
(HWND)NULL, (HMENU)NULL, hInstance, NULL);
ShowWindow(hwndMain, SW_SHOWDEFAULT);
UpdateWindow(hwndMain);
.NET Framework
Form form = new Form();
form.Text = "Main Window";
form.Show();
14
.NET Framework
• Các phiên bản .NET Framework
• .NET Framework 1.0 – Visual Studio 2002
• .NET Framework 1.1 – Visual Studio 2003
• .NET Framework 2.0 – Visual Studio 2005
• .NET Framework 3.0 – Visual Studio 2005
• .NET Framework 3.5 – Visual Studio 2008
• .NET Framework 4.0 – Visual Studio 2010
• .NET Framework 4.5 – Visual Studio 2012
• .NET Framework 4.5 – Visual Studio 2013
• .NET Framework 4.6 – Visual Studio 2015
• Gồm có 2 thành phần chính
• Common Language Runtime (CLR)
• Framework Class Library (FCL)
15
16
.NET Framework
Microsoft
Visual Basic
.NET
®
C++
C#
Microsoft
JScript
…
®
Framework Class Library
®
.NET Framework
Microsoft Visual Studio
Common Language Specification
.NET
Common Language Runtime
Windows
LINUX
17
Common Language Runtime
– CLR –
Common Language Runtime
Base Class Library Support
Thread Support
COM Marshaler
Type Checker
Exception Manager
Security Engine
Debug Engine
IL to Native
Code
Garbage
Compilers
Manager
Collector
Class Loader
19
Common Language Runtime – CLR
Môi trường thực thi cho ngôn ngữ chung và các dịch vụ trong quá trình thực thi
• Biên dịch
• Quản lý bộ nhớ
• Quản lý thread
• Quản lý ngoại lệ
• Bảo mật
• Kiểm tra an tồn kiểu
•…
20
Common Language Runtime
Compilation
Source Code
Language Compiler
Code
MSIL
Metadata
Trước khi installation hay khi
mỗi phương thức lần đầu tiên
được gọi
Execution
Native
JIT Compiler
Code
21
Common Language Runtime
• Các loại code trong .NET
• Source code
• MSIL
• OptIL
• Native machine code (mã máy thuần túy)
22
Common Language Runtime
public static void Main()
.method static public void Main(string[] args ) il managed
{
{
.entrypoint
Console.WriteLine("Hello, World);
// this function is the application entry point
.maxstack 8
}
// *****************************************************
// Console.WriteLine("Hello, World)";
// *****************************************************
ldstr "Hello, World"
// load string onto stack
// Call static System.Console.Writeline function
// (function pops string from the stack)
call void [mscorlib]System.Console::WriteLine(class System.String)
// *****************************************************
ldstr "Press Enter to continue“
call void [mscorlib]System.Console::WriteLine(class System.String)
// Call the System.Console.Read function
call int32 [mscorlib]System.Console::Read()
// The pop instruction removes the top element from the stack.
// (remove number returned by Read() function)
pop
// *****************************************************
ret
}
23
Common Language Runtime
• MSIL
• MSIL là tập các lệnh, mã lệnh cấp thấp do Microsoft sáng tạo ra.
• Các source code được viết bằng nhiều loại ngôn ngữ khác nhau đều phải dịch sang MSIL
• OptIL
• OptIL là tập con của MSIL có thể được sinh bằng trình biên dịch tối ưu. OptIL giúp cho việc
sinh nhanh native code
24
Common Language Runtime
C#
C#
Code
Compiler
Visual Basic
Visual Basic
Code
Compiler
COBOL
COBOL
Code
Compiler
RunTime
JIT
IL
Compiler
Native
Code
25