• 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... Khác nhau giữa người sử dụng di độngcố định • Di động • Không tập trung • Thường
Trang 1Công cụ và nền tảng phát triển ứng dụng di động
Trang 4• 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
Trang 7Khác nhau giữa người sử dụng di
động<>cố đị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
Trang 9– giao diện, logics, dữ liệu
– Giao diện, logics, middleware, dữ liệu
9
@Hà Quốc Trung 2011
Trang 10Chức năng của client
Trang 12Các giải pháp trong mô hình n-lớp
12
@Hà Quốc Trung 2011
Trang 132 Một số chuẩn thông dụng
• WAP
• Publishing framework
Trang 14• 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
Trang 15Kiến trúc WAP
Trang 16• 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
Trang 17Proxy 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 WAP<>HTTP,
Trang 19• PAP-Push Access Protocol
Trang 20• Proxy Push thông báo tới MMS Client theo
các thông số của User Agent Profile
Trang 21WAP và các vấn đề của tính toán di
động
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
Trang 22Publishing 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ị
Trang 23Một vài framework thông dụng
Trang 24• 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)
Trang 26MIDP (Mobile Information Device
Trang 27• Recording
• Video Playback
• Image Formats
• Networking
• File Access
• SQLite
• Core Location
• Certificate
• File System
• Bonjour
Trang 29• 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,
Trang 30Kiến trúc của Android
Nguồn http://developer.android.com
Trang 31• Đăng tải động trên nhiều kênh
• Có thể tương tác với các framework Java khcs
Trang 32Kiến trúc của Cocoon
Trang 33Basic web application development with
Trang 34Basic web application development with
Trang 35Nguồn: Basic web application development
with Apache Cocoon
Pipelines
• Contain matchers for (requested) URI
Example
Trang 36Basic web application development with
Apache Cocoon
Pipeline example
<map:pipeline>
<map:match pattern= "body-**.html">
<map:generate type= "file" src= "{1}.xml"/>
<map:transform type= "xslt" src= "doc2html.xsl"/>
<map:serialize type= "html"/>
</map:match>
</map:pipeline>
Trang 37Bà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?