Tải bản đầy đủ (.ppt) (38 trang)

Hệ thống thông tin di động (Phần 4) pptx

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (561.56 KB, 38 trang )

Bài giảng 5. Software platforms

Giới thiệu

Mobile software platforms

Java ME

Python

Symbian OS

Windows Mobile

Maemo

Android

Bada

Other
Nội dung

Những thế hệ di động đầu tiên không hỗ trợ cho
việc phát triển phần mềm

Ngày nay hầu hết các thiết bị di động hỗ trợ cả 3
ngôn ngữ để phát triển phần mềm (native C++,
java ME, Python)

Mobile szoftware platform



Ngôn ngữ lập trình

Thư viện code

Công cụ phát triển (SDK, emulator)
Giới thiệu

Giới thiệu

Mobile software platforms

Java ME

Python

Symbian OS

Windows Mobile

Maemo

Android

Bada

Other
Nội dung

Java Mobile Edition


J2ME (Java 2 Micro Edition)

Hầu hết các thiết bị di động ngày nay có hỗ trợ
java

Đặc điểm cơ bản của java

Hướng đối tượng

Từ “program code” -> “object code” (không phải
machine code)

“object code” được chạy bởi JVM (Java virtual
machine)
Java ME - Giới thiệu
Các phiên bản Java 1/2
Các phiên bản Java 2/2
Kiến trúc J2ME 1/2
Kiến trúc J2ME 2/2
• Mỗi linh kiện sử dụng cấu hình khác nhau

Thành phần của cấu hình

Virtual machine
– Hàm API cơ bản (vd: Java SE API-k)

2 lọai cấu hình của J2ME
– CLDC (Connected Limited Device Configuration)


UI đơn giản, bộ nhớ nhỏ, Procesor yếu

Vd: mobile telephone, PDA đơn giản

CDC(Connected Device Configuration)

UI đa dạng, nhiều bộ nhớ hơn, hỗ trợ giao thức mạng

Vd: Internet TV, PDA
Cấu hình (Configuration)

Cung cấp các hàm API hữu dụng hơn cho việc
lập trình

Mobile Information Device Profile (MIDP)

bổ sung các tính năng như hỗ trợ kết nối, các thành
phần hỗ trợ giao diện người dùng … vào CLDC

cung cấp một giao diện người dùng đơn giản và các
tính năng mạng đơn giản dựa trên HTTP

Phiên bản hiện nay: MIDP 2.0

PDA Profile:

Foundation Profile:
Hiện trạng (Profile)

Giới thiệu


Mobile software platforms

Java ME

Python

Symbian OS

Windows Mobile

Maemo

Android

Bada

Other
Nội dung

Lập trình cấp cao, hướng đối tượng

cơ chế cấp phát bộ nhớ tự động

ngôn ngữ có hình thức rất sáng sủa, cấu trúc rõ
ràng, thuận tiện cho người mới học lập trình

ngôn ngữ lập trình dạng thông dịch (script)

không cần phải thực hiện biên dịch và liên kết


Chạy trên nhiều hệ điều hành:

Windows

Linux

Mobil platformok (S60, Windows CE, iPhone, )
Python – giới thiệu

Ưu điểm

Miễn phí (phát triển trên mã nguồn mở)

ổn định, trưởng thành (có trước cả java)

Có tính kế thừa (đối tượng, module)

Dễ dàng tích hợp với code C/C++/Java

Nhược điểm

Ít người sử dụng, phát triển, ít tài liệu, ví dụ,

Không có sẵn những tính năng cấp thấp

Cần cài đặt trình biên dịch, không được tích hợp sẵn
trong HĐH
Phát triển trên Python


S60 Là nền tảng điện thọai Symbian

Ngòai các thư viên Python chuẩn còn có cá API:

Quản lý tin nhắn

Chức năng thọai

Quản lý camera

Đồ họa 3D (OpenGL ES)


Python trên S60
• Để chạy Python

Viết script trên PC
– Copy script vào điện thọai

Khởi động trình biên dịch Python, load, chạy script
• Sử dụng Python trong việc:
– Tạo ra nguyên mẫu (prototype)
– Phát triển những mobile client đơn giản

testing

Python trên S60

Giới thiệu


Mobile software platforms

Java ME

Python

Symbian OS

Windows Mobile

Maemo

Android

Bada

Other
Nội dung

Hệ điều hành cho điện thọai di động

Những thiết bị có phần cứng hạn chế:

Bộ vi xử lý yếu

Bộ nhớ ít

Pin hạn chế

Được thiết kế có tính sẵn sàng cao


Rất hiếm khi cần phải reboot lại máy

Hỗ trợ chức năng quản lý thông tin cá nhân(địa chỉ
liên lạc, lịch)

Hỗ trợ các giao thức truyền tin

Hiện tại vẫn đứng đầu trong điện thọai thông minh
Symbian OS – Giới thiệu

lớp giao diện người dùng đồ họa cung cấp
những thành phần bổ sung cho nhân hệ
điều hành

UI platforms:

S60 (formerly Series 60 User Interface)

UIQ (User Interface Quartz)

Những ứng dụng viết cho các platform
khác nhau không tương thích với nhau.
Symbian OS – UI platforms
• phổ biến nhất (trước đây là Series 60)

Sử dụng bàn phím hoặc màn hình cảm ứng
• Có 4 phiên bản chính

Phiên bản hiện nay: S60 5th edition


Hỗ trợ kích cỡ màn hình và sự bố trí khác nhau
– Tích hợp C/C++ APIs và Adobe Flash Lite 3.0
S60 platform
• Các ứng dụng nền tảng có thể được viết bằng
C++

Hỗ trợ ứng dụng Java

UIQ 2, chỉ giành cho màn hình cảm ứng

UIQ 3.x

Sofkey style (Motorola Z8)

Pen style
UIQ platform
• Java ME

Python

Open C/C++

Native C++

Bản thân HĐH được viết trên C++

Có sẵn API cấp thấp
– Ngôn ngữ C++ có những hạn chế:


Học trong thời gian dài

Cần thiết phương pháp mới
Symbian OS – Phát triển phần mềm

Giới thiệu

Mobile software platforms

Java ME

Python

Symbian OS

Windows Mobile

Maemo

Android

Bada

Other
Nội dung

Sự đột biến trong Windows Mobile

Điện thọai thông minh (Windows Mobile Standard)


PDA (Windows Mobile Professional, Classic)

Xây dựng trên Windows CE

HĐH kèm theo nhiều ứng dụng có sẵn (Excel
Mobile, Word Mobile, )

Phiên bản thông dụng hiện tại: Windows Mobile
6

Phiên bản 7 (Multi-touch, )
Giới thiệu

Java ME

Embedded Visual C++

.NET Compact Framework (CF.NET)

Ngôn ngữ C# hoặc Visual Basic .NET (hướng
đối tượng, ngôn ngữ cấp cao)

Intermediate Language (IL) code: đựơc tạo ra
trong giai đọan đầu của quá trình biên dịch

Just In Time Compilation (JIT):Một mã nhị
phân được tao ra trước khi chạy ứng dụng
Phát triển

×