Bài giảng Lập trình trên thiết bị di động
Ưu điểm của mobile web app
Cross platform: chạy trên mọi trình duyệt mobile hỗ trợ
HTML & JS
Không cần cài đặt trên máy
Thuận lợi cho nhà phát triển
1 verson for all: giảm chi phí và thời gian cho việc phát
triển, bảo trì & nâng cấp
Ngôn ngữ đơn giản HTML & JS
Không bị giới hạn môi trường lập trình
Cập nhật phiên bản sẽ đến ngay lập tức & trong suốt
với người dùng.
Bạn đang xem trước 20 trang tài liệu Bài giảng Lập trình trên thiết bị di động, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
1LẬP TRÌNH TRÊN
THIẾT BỊ DI ĐỘNG
Khoa Công nghệ thông tin
Đại học Kỹ thuật Công nghệ TP HCM – Hutech
Trình Bày: ThS. Nguyễn Hà Giang
1
2Nội dung
1. Giới thiệu môn học
2. Đề cương môn học
3. Cách thức đánh giá
4. Tài liệu tham khảo
5. Các chủ đề tìm hiểu
3Mục tiêu
Các thiết bị di động như: mobile phone, smart phone,
PDA đang ngày trở nên phổ biến, được sử dụng mọi
lúc, mọi nơi.
Do đa dạng về chủng loại, nền tảng nên khi thiết kế và
xây dựng ứng dụng thật không đơn giản.
Mục tiêu là nhằm giới thiệu về các nền tảng di động
phổ biến và cách thức phát triển app trên các nền tảng
đó.
Cụ thể SV sẽ tiếp cận với các nền tảng
J2ME (Java 2 Micro Edition): LT + TH
Android: LT + TH
iOS, Windows Phone, Symbian, RIM BB (nghiên cứu
và báo cáo)
Giới thiệu môn học
4Giới thiệu môn học
Nội dung:
Tổng quan các kiến thức cơ bản về lập trình trên thiết
bị di động
Lập trình trên thiết bị di động đơn giản với J2ME
Lập trình trên thiết bị di động smart phone với Android
Giới thiệu một số nền tảng lập trình di động khác:
Windows Phone 7, BlackBerry, Bada, IPhone OS,
Symbian OS, WebOS.
5Buổi Nội dung Số tiết
1 Giới thiệu tổng quan về lập trình trên thiết bị di động 3
2 Trình bày một số hệ điều hành và ngôn ngữ LT trên các
thiết bị di động phổ biến
3
3 J2ME: tổng quan về công nghệ J2ME và kiến trúc J2ME
- Tổng quan về MIDLet
3
4 J2ME: lập trình giao diện cấp cao 3
5 J2ME: lập trình giao diện cấp thấp 3
6 J2ME: Record Management System (RMS) 3
7 Android: Tổng quan về lập trình trên HĐH Android
- Cơ bản lập trình trên Android
3
8 Android: UI design – Activity 3
9 Android: Service, Async 3
10 Android: SQLite
Trau đổi thảo luận
2
1
Đề cương môn học
6Hình thức học
Nghe giảng lý thuyết, tham gia thảo luận
Thực hành đầy đủ các bài lab (bắt buộc)
Thực hiện đồ án môn học (bắt buộc)
Hình thức đánh giá
Thực hành: 30%
Viết một ứng dụng nhỏ trên J2ME hoặc Android
Để thi thực hành phải thực hiện đầy đủ các bài lab
Lý thuyết: 70%
Trình bày đồ án môn học
Trình bày đồ án môn học
Trả lời các câu hỏi
Cách thức đánh giá
7• J2ME
• Core J2ME Technology & MIDP, John W. Muchow, Sun.
• Beginning J2ME From Novice to Professional, J.Knudsen, Apress.
•
• Android
• Beginning Android, Mark L. Murphy, Apress, 2009.
• Pro Android Media, Shawn Van Every, Apress, 2009
• Unlocking Android – A Developer's Guide, Frank Ableson.
• Professional Android™ Application Development, Reto Meier, Wrox.
• Pro Android Web Apps, Damon Oehlman, Apress, 2011.
• The Android Developer’s Cookbook, James Steele, Addison-Wesley, 2011.
• Android™ A Programmer’s Guide, J.F. DiMarzio.
• Android Programming Tutorial, Mark L. Murphy, 2011
• Android Essentials, Chris Haseman, Apress, 2009.
•
• Google Search: J2ME, Android
Tài liệu tham khảo
8J2ME programming
Java SE development: JDK 6 (
IDE Eclipse + Plug-in J2ME (EclipeME)
Sun J2ME Wireless Toolkit 2.5
NetBeans IDE
Android programming
Java SE development: JDK 6 (
Android SDK
IDE Eclipse + Plug-in for Android
Có thể sử dụng bản Eclipse Galileo (3.5), Helios (3.6), Indigo (3.7),
hoặc Juno (4.2).
Công cụ & môi trường thực hành
9STT Tên đề tài Nhóm sinh viên
1 Tìm hiểu Windows Phone & UD
2 Tìm hiểu cách pháp triển UD Web trên Mobile
3 Nghiên cứu iOS & xây dựng ứng dụng trên iPhone
4 Nghiên cứu Symbian & UD
5 Tìm hiểu RIM BlackBerry & UD
6 Tìm hiểu MeeGo & ứng dụng
7 Tìm hiểu Bada & ứng dụng minh hoạ
Chủ đề tìm hiểu
10
STT Tên ứng dụng Mô tả
1 Ứng dụng quản lý chi tiêu cá nhân
2 Ứng dụng game Tetris
3 Ứng dụng sổ tay cá nhân
4 Ứng dụng Order trong nhà hàng
5 Ứng dụng từ điển Anh-Việt
6 Ứng dụng Online Inventory Terminal Quản lý kho hàng
7 Ứng dụng Game Line
8 Ứng dụng Game Matching
9 Ứng dụng tra cứu mã số bài hát Karaoke 6 số
10 Ứng dụng hỗ trợ học và luyện thi LT bằng lx B2
Các ứng dụng chọn để demo
Lưu ý: nếu hai đề tài cũng tìm hiểu một nền tảng OS, thì ứng dụng demo phải
hoàn toàn khác nhau!
11
Nhu cầu sử dụng điện thoại di động đã trở nên phổ biến
trên toàn thế giới.
Sự tiến bộ vượt bậc của công nghệ đã thay đổi hành vi
của con người.
Điện thoại di động là lĩnh vực công nghệ phát triển mạnh
mẽ nhất!
2015: số người truy cập Internet qua điện thoại di động
sẽ vượt qua số người truy cập Internet qua PC.
Tại sao phải lập trình trên thiết bị di động?
Điện thoại di động sẽ trở thành phương tiện giao tiếp và là công cụ làm
việc chủ yếu của con người
12
Một bảng thống kê từ IDC vào 6/2011:
2005: có 50tr người dùng SP, 200tr người dùng NetBook
PC
2010: có 250tr người dùng SP! NetBook PC là 350tr
2013: dự báo các dòng desktop PC và NetBook PC sẽ bị
SP vượt qua mặt với số lượng 650tr người dùng!
Tại sao phải lập trình trên thiết bị di động?
Thị trường thiết bị số & công nghệ
lập trình trên thiết bị di động đang
là mảnh đất màu mỡ để khai thác!
13
Do sự phát triển vượt bậc của thiết bị di động
nhiều công ty PM trên máy tính chuyển hướng sang
PM trên di động.
rất nhiều công ty dự định tham gia trong lĩnh vực này!
Tại sao phải lập trình trên thiết bị di động?
Cần rất nhiều nhân lực cho
việc phát triển ứng dụng trên
thiết bị di động
14
Theo Garner
Nền tảng nào đang phổ biến nhất?
15
Thị phần smartphone Q1-2013
Nền tảng nào đang phổ biến nhất?
16
Kể từ khi IPhone ra phiên bản đầu tiên 2007, cho đến
nay đã là phiên bản 4. Tạo nên cơn sốt SP trên toàn cầu
VN cũng ko ngoại lệ!
Sự thành công của dòng máy iPod và thương hiệu Apple
chính là nền tảng để IPhone trở thành SP mà ai cũng
mong muốn!
IPhone với thiết kế đẹp mắt, nhỏ gọn, giao diện dễ sử
dụng và đặc biệt là màn hình cảm ứng mượt mà
lý do để giới trẻ lựa chọn.
Thị trường smartphone Việt Nam
17
Android xuất hiện chậm hơn (2008-2009).
Không ồn ào, đình đám như IPhone, nhưng SP dùng
Android lại hùng hậu về số lượng và kiểu dáng.
Do nhiều hãng sản xuất SP tham gia hỗ trợ Android:
HTC, Samsung, LG, Sony Ericsson.
Trong khi IPhone là sản phẩm của Apple, với thiết kế
đơn nhất.
Nguyên nhân thành công của Android ở VN
Số lượng người dùng Google đông.
Tích hợp các dịch vụ Google trong nền tảng này giúp
user khai thác và sử dụng thuận tiện hơn.
Giới công nghệ đặc biệt ấn tượng với kho ứng dụng
khổng lồ của Android (tương tự như AppStore)
Thị trường smartphone Việt Nam
18
Mặc dù Android có nhiều mẫu mã và giá tiền rẻ hơn hẳn
so với IPhone, tuy nhiên, IPhone lại "ăn điểm" hơn
Android về thương hiệu & kiểu dáng!
Thị trường smartphone Việt Nam
19
MOBILE APPLICATION
NATIVE APP, MOBILE WEB APP
20
Desktop App truy cập trên desktop và được install vào
PC
Web app truy cập thông qua web browser, phải có kết
nối internet/intranet để truy cập chúng.
Mobile app là ứng dụng phát triển cho smartphone &
tablet
Web app cho mobile là dạng ứng dụng web chạy trên
trình duyệt dành cho mobile.
Rõ ràng với sự gia tăng mạnh mẽ của Internet đã làm
cho ứng dụng web ngày một phổ biến đe doạ thay thế
desktop app (!?)
Tuy nhiên 3 dạng ứng dụng trên đều có những ưu điểm
nổi bật và sẽ cùng song hành tồn tại!
Desktop vs. Web vs. Mobile applications
21
Native app xuất hiện trước mobile web app sau khi có sự
xuất hiện của mobile device.
Nhưng chúng chỉ thật sự nổi bật và phát triển sau khi
Apple giới thiệu AppStore.
Mang lại cơ hội phát triển ứng dụng cho 3rd party trên
iOS
UI cao cấp của IP và tích hợp khả năng thanh toán
qua iTunes đã dẫn đến sự bùng nổ ứng dụng trên iOS
Mobile web app vs. Native app
Đây là tiền đề cho việc lập trình ứng dụng mobile phát triển mạnh
mẽ cho đến ngày nay!
22
Mobile App là một phần mềm được viết cho một thiết bị
di động như điện thoại hoặc tablet
Thực hiện một tác vụ đặc biệt cho một nhu cầu của user
như:
game,
lịch,
trình chơi nhạc,
tìm đường trên bản đồ Google map,
ứng dụng quản lý
Mobile app mang một khái niệm chung và rộng lớn cho
tất cả các ứng dụng chạy trên thiết bị mobile (bao gồm
native app và web app).
Mobile web app vs. Native app
23
Native App là một ứng dụng được thiết kế đặc biệt chỉ
chạy trên một hệ điều hành của một thiết bị nào đó.
Thường phải điều chỉnh để chạy được trên các thiết bị
khác nhau.
Mobile web app thì ứng dụng sẽ chạy trên trình duyệt
của thiết bị di động đó.
Một số web app dành cho mobile như:
Mobile web app vs. Native app
24
Một native app phát triển trên IP sẽ chạy trên nền tảng
độc quyền là iOS.
Trên Nokia thì nền tảng sẽ là Symbian.
Một web app trong trường hợp này thường được viết
bằng ngôn ngữ cross platform:
để nhiều trình duyệt có thể chạy được như HTML và
Javascript, ngoài ra còn có thể dùng Flash/Flex.
VD:
Facebook native app hiện tại có mặt trên các app store
như:Google market, Apple Store ...
User phải lên store/market tải về và cài đặt trên máy,
ứng dụng được viết bằng native code cho riêng từng
hệ điều hành sử dụng.
Mobile web app vs. Native app
25
Facebook Web app trong trường hợp này sẽ là:
Chạy bằng trình duyệt của các OS trên.
Về mặt tính năng thì cả 2 hầu như giống nhau 90% trở
lên.
Web app trên mobile có xu hướng phát triển về mặt
giao diện và kỹ thuật càng giống với native app càng
tốt.
Tuy nhiên không phải những gì Native App làm được
thì Web app cũng có thể (điều ngược lại ntn? ).
Mobile web app vs. Native app
26
Ưu điểm Native app
Dễ dàng thu phí và an toàn với các phương thức
thanh tóan như iTunes và Google Checkout,
dễ dàng tiếp thị và chào bán trên các chợ ứng dụng như
App Store và Google market
Mobile web app thì việc kinh doanh và thanh toán cho
ứng dụng vẫn còn nhiều thủ tục, không nhất quán,
không an toàn và không thúc đẩy mạnh mẽ tiêu dùng
Về performance thì native app chạy nhanh hơn mobile
app trong hầu hết trường hợp.
Tuy nhiên sự chênh lệch ở các ứng dụng có thể là nhỏ,
chấp nhận được và khó nhận biết bởi người dùng.
Hiện tại, với dòng game thì native app vượt bậc và
thắng tuyệt đối.
Mobile web app vs. Native app
27
Ưu điểm native app
Có khả năng truy cập phần cứng (camera, thu âm,),
truy cập bộ nhớ mobile, thông tin contact, call, sms
Mobile web app thì ko có khả năng này
Có khả năng chạy offline.
Nhược điểm
Không thể cross platform: một native app chỉ có thể
chạy trên một hệ điều hành nhất định.
Không nhất quán giữa các phiên bản ứng dụng, chi
phí phát triển cao và đòi hỏi khả năng thành thạo
nhiều ngôn ngữ.
Mobile web app vs. Native app
28
Nhược điểm
Bảo trì hay nâng cấp sẽ làm mất nhiều thời gian. Do
phải sửa chữa từng app trên từng OS.
Thủ tục đưa lên chợ ứng dụng và chờ đợi approval (đôi
khi bị reject vì vi phạm một số điều lệ của nhà phát triển
chợ ứng dụng), nên bản cập nhật không đến tay người
dùng ngay lập tức.
Hơn nữa user phải tự update khi vào chợ ứng dụng.
Tính đa dạng phiên bản của OS làm cản trở việc phổ
dụng các native app.
Các thiết bị chạy phiên bản OS cũ hơn sẽ không cài đặt
được
Mobile web app vs. Native app
29
Ưu điểm của mobile web app
Cross platform: chạy trên mọi trình duyệt mobile hỗ trợ
HTML & JS
Không cần cài đặt trên máy
Thuận lợi cho nhà phát triển
1 verson for all: giảm chi phí và thời gian cho việc phát
triển, bảo trì & nâng cấp
Ngôn ngữ đơn giản HTML & JS
Không bị giới hạn môi trường lập trình
Cập nhật phiên bản sẽ đến ngay lập tức & trong suốt
với người dùng.
Mobile web app vs. Native app
Các file đính kèm theo tài liệu này:
- slide_lap_trinh_tren_thiet_bi_di_dong_6934.pdf