Chương 1 : Tổng quan Khi nói đến các loại thiết bị di động thì có thể kể đến đó là PDA (Pocket PC và Palm), Mobilephone,. Với nhiều người sử dụng, sức quyến rũ của một thiết bị di động thật đơn giản, chẳng phải là khả năng chơi game, duyệt web hay chạy những ứng dụng cao cấp. Điểm hấp dẫn và đáng chú ý hơn cả của nó lại chỉ ở những ứng dụng cơ bản nhất của một chiếc sổ tay: nhiệm vụ lưu và tra số điện thoại, quản lý cuộc hẹn, sắp xếp công việc và lưu trữ những dòng tin nhanh. Bên cạnh đó là nhu cầu cần có 1 bộ từ điển để tiện cho việc tra cứu.
Hiện nay, có thể kể đến một số chương trình tự điển trên các thiết bị di động như là : KinKin: đây là một ứng dụng cho Pocket PC, với các tính năng cơ bản như thêm/bớt từ điển, tra từ, tra chéo trong các ứng dụng khác. Ưu điểm của nó là chạy nhanh và hiện nay nó bao gồm 4 bộ từ điển: Anh –Việt, Việt – Anh, Pháp – Việt, Việt – Pháp.1: Giao diện chương trình từ điển KinKin Và còn một số ứng dụng từ điển khác như Lac Viet MTD 2002 với các chức năng cũng tương tự như chương trình trên nhưng tốc độ xử lý chậm hơn so với tự điển KinKin .2: Giao diện chương trình từ điển Lac Viet MTD 2002 Nói tóm lại những ứng dụng từ điển nói trên đã đáp ứng được phần nào nhu cầu tra cứu của người dùng. Bên cạnh đó nó vẫn tồn tại một số khuyết điểm như số ứng dụng từ điển không nhiều nên chúng ta không có nhiều lựa chọn, một điểm nữa là tốc độ xử lý vẫn con chậm và giao diện hơi khó sử dụng. Do đó ứng dụng từ điển TZPDict của nhóm chúng em ra đời đã khắc phục được những điểm yếu đó.
4 Chương 2 : Công nghệ .Net Compact Framework 2. Tổng quan về Pocket PC 2. Giới thiệu : Khi nói về Pocket PC ta cần phân biệt hai khái niệm. Đó là hệ điều hành Pocket PC (Pocket PC Operating System) và thiết bị Pocket PC (Pocket PC – device).
Hệ điều hành Pocket PC: là một phiên bản của hệ điều hành Windows CE cho các thiết bị di động được Microsoft giới thiệu vào đầu năm 2000. Thiết bị Pocket PC: là một PDA, là một thiết bị cầm tay (palm–size) sử dụng hệ điều hành Pocket PC. Một thiết bị Pocket PC luôn đi kèm với một phiên bản của hệ điều hành Pocket PC. Hệ điều hành Pocket PC: Hệ điều hành Pocket PC được thiết kế với các tính năng và giao diện dành riêng cho các thiết bị hỗ trợ cá nhân PDA và máy tính cầm tay (handheld PC).
Có thể hiểu hệ điều hành Pocket PC là một phiên bản của hệ điều hành Windows CE được cài đặt nhằm tối ưu cho các thiết bị này. Hệ điều hành Pocket PC giải quyết được nhiều thiếu sót đã làm giảm thành công của hệ điều hành Windows CE, như giao diện quá phức tạp, tốc độ chậm, khả năng lưu trữ kém, nguồn cung cấp năng lượng không tốt, … Phiên bản mới nhất là hệ điều hành Pocket PC 2003, một thể hiện của hệ điều hành Windows CE 4.3: Giao diện Pocket PC 2003 2. Thiết bị Pocket PC: Ra đời vào những năm 90 của thế kỉ 20, thiết bị Pocket PC là một dạng thiết bị PDA sử dụng hệ điều hành Pocket PC. Với thiết bị Pocket PC thì mục đích của Microsoft là tạo ra một máy tính đa năng mà có thể đặt trong lòng bàn tay.
Các thiết bị Pocket PC do nhiều hãng như Compag, HP, Casio sản xuất. Thiết bị Pocket PC có tốc độ và bộ nhớ gấp vài lần so với các thiết bị sử dụng hệ điều hành PalmOS. Chúng cũng có độ phân giải màn hình lớn hơn (320x240) và gần như hiển thị được tất cả các màu. Khả năng thể hiện và ghi âm đã trở thành chuẩn.
Hơn nữa, thiết bị Pocket PC sử dụng các chuẩn cắm công nghiệp, có tính tương thích và có một số hình thức thêm các phần (module) mở rộng (thường dưới hình thức các thẻ Compact Flash) như các thẻ nhớ (storage card), hay modem kết 6 nối Internet, …Tất cả các hệ thống có thể giao tiếp qua cổng hồng ngoại (IR– Infrared), và chúng cũng có thể kết nối với desktop qua cổng USB dùng cáp nối. Microsoft đã thêm các tính năng mới cho thiết bị Pocket PC với hệ điều hành Pocket PC (lưu trong ROM) chứa phiên bản thu gọn của một số phần mềm như: Pocket Internet Explorer, Pocket Word và Excel, Outlook, Microsoft Reader, Media Player, File Manager, Notepad và Calculator, …cũng như gói phần mềm ActiveSync giữa thiết bị Pocket PC và các máy trạm. Các phần mềm khác phải được lưu trong Systems RAM (đóng vai trò là sự kết hợp giữa hệ thống tập tin và bộ nhớ hỗn tạp). Microsoft cũng cung cấp một số phần mềm miễn phí như: Pocket Streets, Transcriber (bộ giải mã chữ viết tay) và Games (như Freecell).
Nhiều phần mềm khác của hãng thứ ba cũng được tích hợp sẵn như: Databases, Picture Viewers, … Với tất cả những tính năng trên thì Pocket PC thực sự là một trong những thiết bị PDA được sử dụng phổ biến nhất ở Việt Nam hiện nay, cũng như trong tương lai. Nhưng do điều kiện không cho phép nên ứng dụng Từ điển chỉ được phát triển trên Pocket PC 2003.4: Một số thiết bị Pocket PC 7 Ghi chú: Từ đây, trong luận văn, khi đề cập đến Pocket PC xin hiểu đây là thiết bị Pocket PC (ứng dụng được xây dựng trên phiên bản hệ điều hành Pocket PC 2003, được phát triển trên nhân hệ điều hành nhúng Windows CE 3. Ngoài ra, do là một biến thể của Windows CE 3.0, nên khi đề cập tới các vấn đề liên quan như khả năng lập trình, hạn chế về tốc độ, giải pháp của Windows CE… xin hiểu đó là các vấn đề gặp phải với hệ điều hành Pocket PC 2. Giới thiệu về .Net Compact Framework 2.
Net Compact Framework là gì ? .Net Compact Framework (.Net CF) là một giao diện lập trình, một thư viện thực thi được tạo ra như là sự kết hợp giữa hai công nghệ của Microsoft: Window CE và .Net Compact Framework là một tập con của. Nó bao gồm các thư viện lớp cơ sở và có thêm một số thư viện chuyên cho việc phát triển trên các thiết bị PDA.Net Compact Framework được thiết kế để cho phép các ứng dụng .Net chạy được trên tất cả các thiết bị PDA mà không lệ thuộc hệ điều hành.NET Compact Framework Applications App Domain Host Platform Specific Class Libs Base Class Libs Managed Execution Engine (MSCOREE.DLL) Native Platform Adaptation Layer Host Operating System Hình 2.5: Kiến trúc của .Net Compact Framework. Một số đặc điểm của .net Compact Framework: 2. Độc lập với thiết bị và hệ điều hành: Hoạt động gần giống nguyên tắc với một máy ảo nhưng được thiết kế để tận dụng tối đa tài nguyên của thiết bị nhúng, .NET Compact Framework cho phát triển một ứng dụng .NET viết một lần, chạy ở mọi nơi.
Cần lưu ý rằng do các máy PDA sử dụng rất nhiều chủng loại CPU khác nhau như ARM4, ARM4I, Xscale… các chương trình cũng cần được biên dịch thành nhiều tập tin .EXE ứng với mỗi chủng loại CPU. Khi cài đặt, chương trình đóng gói setup sẽ kiểm tra và chép tập tin .EXE phù hợp với loại CPU được sử dụng trong thiết bị. Đối với ứng dụng .NET, chương trình có thể chạy trên bất kỳ loại CPU nào.NET Compact Framework chỉ mới được viết cho các máy PDA sử dụng hệ điều hành Windows CE. Kế hoạch xây dựng .NET CF cho các hệ điều hành nhúng khác đang được xây dựng, bắt đầu từ Embedded Linux.
Đây là một trong những ưu điểm nổi trội của việc chọn lựa .NET Compact Framework để phát triển ứng dụng trên Pocket PC. Được xây dựng dựa trên những thừa hưởng từ .NET Compact Framework (.NET CF) là thư viện .NET Framework đã được Microsoft thiết kế lại để chạy hiệu quả trong điều kiện tài nguyên giới hạn của các thiết bị PDA. Nó bao gồm 18 thư viện với dung lượng khoảng 2,5MB trong khi .Net Framework phiên bản 1.1 gồm 86 thư viện chiếm khoảng 40MB. Tất cả các thành phần chuẩn “phổ biến” của .Net Framework trên desktop đều có thể tìm thấy trong .Net Compact Framework.
Các tập tin thực thi sử dụng tập chỉ dẫn CIL để đưa chúng vào bộ nhớ và được biên dịch JIT (Just In Time - cơ chế chỉ biên dịch các phần cần thiết để chạy chương trình) sang những chỉ dẫn ngôn ngữ máy bởi cơ chế thực thi ngôn ngữ chung (CLR - Common Language Runtime) của .Net Compact Framework.Net CF cũng cung cấp cơ chế quản lý bộ nhớ giống như trên desktop như: cấp phát bộ nhớ, quản lý bộ nhớ Heap, và cơ chế dọn rác tự động. 9 Compact Framework cũng hỗ trợ tất cả các chuẩn trong nền tảng ngôn ngữ chung (CLI – Common Language Infrastructure), gồm hệ thống kiểu chung (Common Type System) cũng như đặc tả kiểu chung (Common Language Specification). Mặc dù bộ khung này không phong phú bằng trên desktop, nhưng các thao tác trong thời gian thực thi cơ bản là chính xác. Duy trì sự nhất quán với Desktop: Các lập trình viên đã quen với các ứng dụng .Net trên desktop sẽ cảm thấy gần gũi với .Net Compact Framework vì cả hai bộ khung chia sẻ tất cả các kiểu giá trị cơ bản, hầu hết các không gian tên (namespaces) và nhiều lớp chung.Forms Design Component Model System.Drawing Cache Security Drawing 2D Printing Configuration Session State Imaging Text System.NET SQL Client XML Document Serialization Design SQL ServerCE Xslt/XPath Reader/Writers System Collections IO Configuration Security Net Service Process Text Reflection Diagnostics Globalization Resources Threading Hình 2.6: Không gian tên và các lớp của .Net Compact Framework Tuy nhiên, hầu hết các lớp trên .Net Compact Framework có số thuộc tính, phương thức, sự kiện ít hơn.
Đây cũng chính là một khó khăn cho các lập trình viên khi tiếp cận với .Net Compact Framework. Họ phải mất thời gian để thích nghi với “sự thiếu sót”.Net CF cũng được xây dựng trên môi trường Visual Studio .Net như các ứng dụng. Một chương trình viết bằng .Net CF có thể chạy được trên desktop mà không cần bất kỳ sự thay đổi nào. Tính nhất quán cao của chúng cho phép trên cùng một tài liệu hỗ trợ cả hai bộ khung.
Các thành phần nào của lớp được hỗ trợ trên .Net CF sẽ được ghi chú là “Supported by the .Net Compact Framework”.7: Ghi chú hỗ trợ .Net Compact Framework trong MSDN 2. Chạy tốt trên các thiết bị nhúng di động: Hai thách thức chính khi phát triển các ứng dụng trên các thiết bị PDA là kích thước và tốc độ.