Chương 3: SƠ LƯỢC VE COMPACT FRAMEWORK
3.1.2. Những công cụ dé phát triển ứng dụng của Windows CE
3.2.1.2. Hiển thị đồ hoa (Graphical Output )
Windows CE có khả năng đồ họa rat dep, mặc dau nó không có điểm nào
gần như một đặc tính lớn GUI+ như .NET Framework cung cấp. Tuy nhiên nó
chỉ hỗ trợ cho ba công cụ vẽ cơ bản là; text, raster và vector.
3.2.1.3. — Hỗ trợ các thành phần của ADO.NET(Supported
ADO.NET Elements)
Lớp quản ly thư viện ADO.NET là DataSet, cái cần giữ lai bên trong bộ
nhớ hoặc trong đổi tượng DataTable. Một bảng dữ liệu là một tập hợp của
những dòng, những cột. Một bảng trong ADO.NET có cấu trúc là một mô hình
cơ sở dữ liệu quan hệ. Những kiểu dữ liệu trong bang được tao ra từ đối tượng DataRelationship. Dữ liệu được đọc và viết thì sử dụng những đối tượng được
tạo ra từ lớp ADO.NET.
Một tập hợp ADO.NET có thể được tao ra từ dau, sử dụng nhimg đối tượng của hệ thống System.Data namespace. Trong khi ý tưởng tạo ra một bảng
dữ liệu giống như nhiều công việc khác, nó có thé đơn giản hóa sự dùng những mang dữ liệu. Điều khiến DataGrid có thể cung cấp việc hiển thị dữ liệu một
cách dé dang. Lưới trong Compact Framework hỗ trợ việc trinh bay dit liệu nhưng không hỗ trợ việc soạn thảo dữ liệu.
Một sự tiếp cận truyền thống hơn dé sử dụng ADO.NET là truy cập vào một cơ sở dữ liệu cư trú lâu dai trong kho. ADO.NET yêu cầu sự hỗ trợ một nơi
cung cắp dữ liệu. Một nơi cung cấp dữ liệu là một bộ điều khiển thiết bị logic cho cơ sở dữ liệu, nó có thé kết nối đến cơ sở dữ liệu, thực thi các lệnh của cơ sở dit liệu và truy nhập vào kết quả. Compact Framework cung cap hai nơi lưu trừ cơ sở đừ liệu: thư viện liên kết động System.Data.SqlClient và
system.Iata.SqlServerCe.
3.2.1.4. Hỗ trợ XML (XML Support)
Một định dạng cơ sở dữ liệu quan trọng cho .NET la XML, eXtended
Markup Language. XML cung cấp một loại chuẩn để tạo ra các thẻ HTML.
Trong khi những văn ban và hình ảnh thì hiển thị trong một trình duyệt web, cấu
trúc dữ liệu XML cho việc truy cập programmatic.HTML.
Có vô số cách sử dụng XML bên trong thé giới NET. Dau tiên XML sử dụng trong cơ sở đừ liệu ADO.NET, một nỗi tiếng khác XML được sử dụng tốt hơn trong Web services, và tốt hon nữa là trong XML Web services.
Compact Framework hỗ trợ mô hình XML Document Object Model
(DOM), cho phép các tài liệu cla XML được đọc vào trong bộ nhớ va thao tác
thông qua sự hỗ trợ của lớp XML Document, Compact Framework hỗ trợ việc xem
xét kĩ lưỡng việc lưu trữ XML trong bộ nhớ.
Compact Framework cung cấp một tập hợp cơ bản của XML services,
nhưng không phải tất cả những lớp XML có trong desktop thì điều có trong
Compact Framework.
Shh.
3.2.1.5. Những giới hạn của Compact Framework (Compact Framework Limitations )
Windows CE là một tập nhỏ hơn, đơn giản hon desktop.NET
Framework. Compact Framework không hỗ trợ việc biên dịch các modules IL và tất cà IL thì tự thực hiện chuyển đối khi thực thi bằng mã JITted. Những lập trình viên đã quen làm việc trên desktop thì cũng có thể quen với tiện ích ngen.exe, sử dụng những modules biên dịch trước và dé quản ly một tập hợp
những hình ảnh biển dịch trước trong Compact Framework.
XML Web services được Compact Framework hỗ trợ không phải là loại thủ tục từ xa duy nhất gọi cơ chế trong .NET. Một loại gọi cơ chế khác là NET Remoting, nó cũng hỗ trợ trên desktop. NET Remoting cung cấp một loại cơ chế lighter-weight cho Web serviees, nó lớn hơn bộ điều khiển bởi một nghỉ thức nhị phân.NETRemoting thì linh hoạt hon Web services, khi một điều khiến có thể chạy trên cùng một máy tính đó hoặc trên một mảy tính được nối mạng. Tuy nhiên nó không là một nghỉ thức chuẩn công nghiệp bởi vì nó chỉ tốt
trong Windows CE nhưng no không hỗ trợ cho Compact Framework.
3.2.1.6. Kétludn
Giống như những lõi công nghệ khác, như Win32 va COM, Microsoft đã
chuyển .NET Framework đến Windows CE với hình thức .NET Compact Framework. Đặc tính cốt lõi của hai khung đó là đồng nhất: một loại tập lệnh thi hỗ trợ sự vận hành giữa các ngôn ngữ máy thực thi tập tin với cấu trúc IL, cái mà JITted hướng dẫn trong lúc thực thi và tự động cập nhật bộ nhớ khi thực
hiện.
Trên điều cốt lõi đó, Compact Framework hỗ trợ việc giảm tập con của namespace được tìm thấy trên đesktop, với một nhắn mạnh trong việc xây đựng
những ứng dụng của Windows Forms thì kho dự trữ dữ liệu sử dụng những đặc
- 46 -
tính ADO.NET, và để giao tiếp với thé giới bên ngoài thì sử dụng XML Web
services. Sự gan bó chặt chẽ giữa hai loại thực thi như vậy làm cho chương trình Compact Framework có thé chạy ổn định trên cả desktop lẫn NET Framework.
3.2.2. Sự khác nhau giữa .NET FRAMEWORK và .NET COMPACT
FRAMEWORK
3.2.2.1. Các Namespace
SysiomiViial onằ
.~..—._—____—=—~~<*
0 EN }— ee
Hình 3.2. Các namespace
Hinh trên thể hiện những namespace hỗ trợ cho .NET Framework và .NET
Compact Framework. Những namespace trong 6 màu xanh như: ADO, SQL thì hỗ trợ cho .NET Framework còn những namespace màu vàng như: IO, Threading thi hỗ trợ
cho .NET Compact Framework.
3.2.2.2. Sự khác nhau từ .NET Desktop Framework
ô7.
„NET
Frame work
dựa vào CLR . Có thê sử dụng | Có
trên server để xây dựng những
ứng dụng Web. Web Form tạo ra
từ ASP.NET thi dé dang dé phat triển những giao điện trang web động. Nó không hỗ trợ trên .NET
Compact Framework.
Ho trợ 28
Desktop controls Các loại điều khiển trên Desktop
35
— loại File change notifications | Thông báo thay đôi tập tin
Phương thức join được hồ trợ de
thông báo khi một luồng đã kết
thúc.
Thread Termination
- 48 -
Cho phép xây d những ứn
. NET Remoting Phó Xây HERE hia Có
dụng phân tán.
COM Objects Không
Một loại điều khiến giao diộ AM giao diện as Khong
người dùng đồ họa
Checked List Box Một điều khién giao diện ngườiộ giao diện nguti| Không
dùng đỏ họa
- Không ho trợ kéo thả, không in,
không có Microsoft ActiveX® hỗ
trợ, và không có GDI+ trong .NET Compact Framework.
—
trên server để xây dựng những
Desktop controls Ho trợ | Hồ trợ 28
3Sloại ! loại ứng dụng Web. Web Form tạo ra
từ ASP.NET thì dé dàng dé phát
File change notifications | Thông bảo thay đôi tập tin Có | Không
Thread Termination Phương thức join được hỗ trợ dé System. Windows. EForms
Namespace
ASP.NET
triển những giao điện trang web
động. Nó không hỗ trợ trên .NET
Compact Framework.
Các loại điê
- 49 -
thông báo khi một luông đã ket thúc.
Assembly loading changes | Compact apps sẽ không thé tải
một module vào trong một miền
không gian tập trung. Đây là một
kĩ thuật tiên tiến ma Microsoft cảm thấy hau hết các lập trình
viên không mắc lỗi trong môi
. NET Remoting Cho phép xây dựng những ứng
i phân tan.
- Mặc dù những ứng dung của
.NET Compact Framework có thể
sử dụng Web server, nhưng nó thì
- 50 -
không tự tự cung cap cho nó
được vì thiểu một Web server.
“native code”. Đây là vấn đề lớn bởi vì thực thi
CLR thì không quản lý được bộ nhớ . Sự phát triển
thì thường sử dụng C++ viết trong Visual
Studio.NET.
- Globalization (Unicode) — Định dang ngày tháng
và phân loại các bảng theo việc định nghĩa địa
phương ở phía dưới hệ điều hành.
- Có thê xây dựng cho giao diện do họa những ứng
dụng mà không phải là kiểu dialog bằng việc xâm
nhập vào và vẽ lên trên cửa số chính của ứng dụng.
- Sự hồ trợ cho sự thực hiện nhiêu phiên bản trong
.NET Framework để cho bạn cỏ nhiều ứng dụng và
những thành phan sử dụng một phiên ban có thé tái phân phoi trên một máy tính cùng lúc.
-5] -
- Native hỏ trợ việc giao tiếp với ODBC và những
cơ sở dữ liệu Oracle. Nơi cung cấp dữ liệu cho
ODBC ship với .NET Framework. Cung cấp việc truy cập vào bộ điều khiển ODBC như là OLE
DB.NET và truy cập tới OLE DB native - Cung cap tính có the chuyên nhị phân.
- Có khả năng cuộn COM lại cho sự truy cập các ứng dụng của .NET Compact Framework, bạn phải xây dựng cho một Win32 với một tập hợp của các
hàm xung quanh bất kỳ thư viện Windows
- P/Invoke được sử dụng cho tính vận hành
manage code dé gọi native code.
- Managed code tự động sắp xếp các kiêu dữ liệu
đơn giản
- Có thé tạo ra một tập tin CAB trực tiếp project
Kết luận
.NET Compact Framework nhỏ hơn các lớp và thư viện của .NET
Framework. .NET Compaet Framework được điều chỉnh cho kích thước và thực thi của thiết bị. Những kích thước nhị phân có sự phân biệt rd ràng như .NET
c®1<
Framework thì lớn 20 lần. Kích thước nhị phân của .NET Framework là khoảng
30 MB. Trong khi kích thước của .NET Compact Framework là 1.5 MB.
Cả hai NET Framework và .NET Compact Framework điều cung cấp một mô hình lập trình quen thuộc và chắc chắn. Có một từ khóa như namespace,
classes, method names, properties va data type. Việc lập trình sẽ đơn giản hóa
và an toàn hơn dựa vào những kiến trúc và thiết kế của nền tảng đó.Những lập
trình viên đã quen thuộc với NET Framework sẽ dễ dang thực hiện trong .NET
Compact Framework.