Tổng quan
• WAP
• Publishing FW
• Một số công cụ và nền tảng cơ bản
37 trang |
Chia sẻ: Mr Hưng | Lượt xem: 887 | Lượt tải: 0
Bạn đang xem trước 20 trang nội dung tài liệu Công cụ và nền tảng phát triển ứng dụng di động, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
Công cụ và nền tảng phát
triển ứng dụng di động
Nội dung
• Tổng quan
• WAP
• Publishing FW
• Một số công cụ và nền tảng cơ bản
2@Hà Quốc Trung 2011
Tổng quan
• Cách tiếp cận
• Mô hình tập trung
• Mô hình nhiều lớp
@Hà Quốc Trung 2011 3
Cách tiếp cận
• Phần mềm
– Mức thấp=ngôn ngữ máy
– Mức cao=các ngôn ngữ lập trình
– Công cụ, nền tảng, ..=> trừu tượng hóa phần mềm
• Giảm độ phức tạp
• Có rất nhiều công cụ cho phần mềm thông thường
– OOP, Design partern, các tiến trình phát triển phần
mềm
• Câu hỏi: có gì khác trong phát triển ứng dụng di
động
4@Hà Quốc Trung 2011
Phát triển ứng dụng di đôngcố
định
• Mức thấp: giống nhau
• Mức cao:
– Chưa đề cập đến các vấn đề như
• Nhận biết vị trí, tài nguyên hạn chế, nguồn hạn chế, nền
tảng thay đổi, giao diện người sử dụng thay đổi, QoS
• Người sử dụng có vị trí thay đổi, không tập trung vào
ứng dụng, dừng công việc đột ngột, khắp nơi
• Đang có sự thay đổi liên tục
5@Hà Quốc Trung 2011
Khác nhau của hệ thống di động/hệ
thống cố định
• Vị trí
• QoS
• Tài nguyên hạn chế
• Giao diện NSD khác nhau
• Thiết bị khác nhau
• Push
6@Hà Quốc Trung 2011
Khác nhau giữa người sử dụng di
độngcố định
• Di động
• Không tập trung
• Thường xuyên ngắt quãng công việc
• Làm việc mọi nơi
7@Hà Quốc Trung 2011
Công cụ và nền tảng tập trung
• Logic của ứng dụng đặt ở thiết bị tính toán
trung tâm
• Thiết bị đầu cuối chuyên biệt cho một ứng
dụng cụ thể
• Cấu hình của thiết bị được xác định khi thiết
kế
• Chỉ còn các vấn đề về QoS và Push
• Vd Call Center
8@Hà Quốc Trung 2011
II. N-Tier FW
• Nguyên tắc:
– Phân tán các chức năng của ứng dụng Client-
Server
• Hệ thống cố định:
– giao diện, logics, dữ liệu
– Giao diện, logics, middleware, dữ liệu
9@Hà Quốc Trung 2011
Chức năng của client
• Khả chuyển
• JVM
• MS .NET FW
– Sử dụng nhiều tài nguyên và nguồn
10@Hà Quốc Trung 2011
Giải pháp
• Thin client-web
• Thich client
– Bộ công cụ phát triển –operating environment
• J2EE-Net-Symbian-IOS SDK
– Bộ công cụ phát triển trực tiếp
• Ứng dụng độc lập
• Phần cứng chuyên biệt
11@Hà Quốc Trung 2011
Các giải pháp trong mô hình n-lớp
12@Hà Quốc Trung 2011
2. Một số chuẩn thông dụng
• WAP
• Publishing framework
@Hà Quốc Trung 2011 13
WAP
• Thay thế HTTP cho các thiết bị di động
• Định hướng cho các thiết bị nhỏ gọn (thin
client)
– WAP, WML->XHTML
• Sử dụng giao thức truyền thông khác nhau
– TCP/IP – persistent. WAP: Non Persistent TCP
• Mô hình Proxy-gateway
• Đầy đủ để có thể xây dựng các ứng dụng di
động
@Hà Quốc Trung 2011 14
Kiến trúc WAP
@Hà Quốc Trung 2011 15
WAP-UI
• WML đơn giản hơn HTML, thuận tiện cho Micro
Browser
• WML tuân thủ XML-> các trình duyệt khác nhau
hiển thị giống nhau
• WML thiết kế cho màn hình đơn sắc kích thước
nhỏ
• WML thiết kế cho phép tương tác với dịch vụ
thoại (WAP WTA)
• Khó khăn chuyển đổi HTML->WML. Giải pháp:
XHTML
@Hà Quốc Trung 2011 16
Proxy và Gateway
• Bảo mật: WTLS
• Điểm truy cập vào hệ thống cho client
• Chuyển đổi giao thức WAPHTTP,
WSPHTTP
• Caching
• Chuẩn bị nội dung:
– WML->WMLC, WMLS
@Hà Quốc Trung 2011 17
MMS
• Hiển thi: SMIL
• Đánh địa chỉ
• Giao diện MMS
– Proxy-relay, email, messaging system
@Hà Quốc Trung 2011 18
PUSH
• PAP-Push Access Protocol
@Hà Quốc Trung 2011 19
WAP-Push
• MMS client kết nối với Master Pull Proxy,
đăng ký
• Proxy kết nối với Application Server thông qua
PAP
• Các thông báo được AS push với định dạng
MIME
• Proxy Push thông báo tới MMS Client theo
các thông số của User Agent Profile
@Hà Quốc Trung 2011 20
WAP và các vấn đề của tính toán di
động
Vị trí 1.x không hỗ trợ. 2.x không đầy đủ
QOS WSP, WDP, WTLS, chưa quan tâm đến vấn đề ngắt kết
nối
Thiết bị khả năng hạn chế Phù hợp với các thiết bị di động
Khả năng tương tác không cao
Không khai thác được các tính năng của các thiết bị mới
Nguồn hạn chế Mặc định OK, tuy nhiên không cho phép nhà phát triển
can thiệp vào việc tiết kiệm năng lượng
Giao diện thay đổi Phù hợp với đa số thiết bị, chia màn hình thành các khu
vực
Nền tảng khác nhau 1.x không, 2.x có (UAP)
Push-Pull WAP-Push (2.x)
@Hà Quốc Trung 2011 21
Publishing FW
• Cung cấp các định dạng thông tin khác nhau
• Đáp ứng các dạng tài liệu cần thiết cho các
thiết bị
@Hà Quốc Trung 2011 22
Một vài framework thông dụng
• Java
• Symbian
• Androit
• IOS
• Apache Cocoon
• IBM-Every Place
@Hà Quốc Trung 2011 23
Java
• J2ME (Java Micro Edition)
• Là máy ảo Java đã được gõ bỏ một số tính
năng cho phù hợp với các thiết bị di động
• MIDP
• Hỗ trợ 2 loại thiết bị
– Các thiết bị có kết nối, cấu hình hạn chế:
Connected Limited Device Configuration (KVM)
– (32-512KB)
– Các thiết bị có kết nối CDC (2-16MB)
@Hà Quốc Trung 2011 24
So sánh CLDC và CDC
@Hà Quốc Trung 2011 25
Nguồn:
php?t=8862
MIDP (Mobile Information Device
Profile)
• Profile: Mở rộng các cấu hình, bổ sung thêm
các thành phần phù hợp với thiết bị
• MIDP
• PDA
• Core Java
• Personal Basis Profile, Personal Profile, RMI
Profile, Game Profile.
@Hà Quốc Trung 2011 26
IOS
(nguồn:
Cocoa Touch
• Multi touch
• Core Motion
• View
Hirearchy
• Localization
• Controls
• Alerts
• Web View
• Map Kit
• Image Picker
• Camera
Media
• Audio
• Open AL
• Audio
Mixing
• Recording
• Video
Playback
• Image
Formats
• Quartz
• Animation
• OpenGL
Core Services
• Collection
• Address
Books
• Networking
• File Access
• SQLite
• Core
Location
• Net Services
• Threading
• Preferences
• URL Tools
Core OS
• OSX
• BSD
• Sockets
• Security
• Power
Management
• Certificate
• File System
• Bonjour
@Hà Quốc Trung 2011 27
Lập trình IOS
• Bộ công cụ lập trình IOS SDK
• Tạo account, đăng nhập-> tải, cài đặt
• Bộ công cụ mô phỏng
• Thiết bị di động IOS
– Iphone, Ipad
• Máy tính MAC ()
@Hà Quốc Trung 2011 28
Android
• Google
• Tự do-Mã nguồn mở
• Dựa trên Linux, đa nhiệm, đa luồng
• Có thể chạy trên nhiều loại thiết bị di động
khác nhau
– ĐT DĐ, đầu đĩa, máy nghe nhạc, ...
@Hà Quốc Trung 2011 29
Kiến trúc của Android
Nguồn
@Hà Quốc Trung 2011 30
Cocoon
• Công cụ phát triển các ứng dụng Web
• Sử dụng Java & XML
• Chuyển đổi thông tin sang dạng phù hợp với
các thiết bị di động
• Đăng tải động trên nhiều kênh
• Có thể tương tác với các framework Java khcs
@Hà Quốc Trung 2011 31
Kiến trúc của Cocoon
@Hà Quốc Trung 2011 32
Basic web application development with
Apache Cocoon
Sitemap components
• Pipelines
• Matchers
• Generators
• Transformers
• Serializers
• Readers
Basic web application development with
Apache Cocoon
Sitemap
• XML configuration file
• Request handling
• Where everything comes together
Nguồn: Basic web application development
with Apache Cocoon
Pipelines
• Contain matchers for (requested) URI
Example
Basic web application development with
Apache Cocoon
Pipeline example
Bài tập
• Java
– Cài đặt J2ME, MIDP trên máy PC với bộ mô
phỏng và thực hiện chương trình Hello World
– Thực hiện chương trình trên một thiết bị di động
hỗ trợ Java
– Qui trình thực hiện ứng dụng
• Cài đặt môi trường làm việc với IOS SDK
• Cài đặt WAP Server
• Xây dựng ứng dụng?
@Hà Quốc Trung 2011 37
Các file đính kèm theo tài liệu này:
- 02_cong_cu_va_nen_tang_2511.pdf