Mụ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.. Buổi Nội dung Số tiết1 Giới thiệu tổng quan về lập trình trê
Trang 1Trình Bày: ThS Nguyễn Hà Giang
1
Trang 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
Trang 4Giới thiệu môn học
khác: Windows Phone 7, BlackBerry, Bada,
IPhone OS, Symbian OS, WebOS
Trang 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
3 J2ME: tổng quan về công nghệ J2ME và kiến trúc J2ME
7 Android: Tổng quan về lập trình trên HĐH Android
10 Android: SQLite
Đề cương môn học
Trang 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
Trang 7 J2ME
Core J2ME Technology & MIDP, John W Muchow, Sun.
Beginning J2ME From Novice to Professional, J.Knudsen, Apress.
http://java.sun.com/j2me/
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.
http://developer.android.com
Google Search: J2ME, Android…
Tài liệu tham khảo
Trang 8J2ME programming
Java SE development: JDK 6 ( http://java.sun.com/javase )
IDE Eclipse + Plug-in J2ME (EclipeME)
Sun J2ME Wireless Toolkit 2.5
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
Trang 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
Trang 10Lư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!
Trang 11Nhu 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 Đ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
Trang 12Mộ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
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!
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!
Trang 13Do 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
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
Trang 14Theo Garner
Nền tảng nào đang phổ biến nhất?
Trang 15Thị phần smartphone Q1-2013
Nền tảng nào đang phổ biến nhất?
Trang 16Kể 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ệ!
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
Trang 17Android 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
Trang 18Mặ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
Trang 19MOBILE APPLICATION
NATIVE APP, MOBILE WEB APP
Trang 20Desktop 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
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
Trang 21Native 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!
Đâ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!
Trang 22Mobile 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ư:
Mobile web app vs Native app
Trang 23Native 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ư:
Trang 24Mộ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
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
ứng dụng được viết bằng native code cho riêng
Mobile web app vs Native app
Trang 25Facebook Web app trong trường hợp này sẽ là:
http://m.facebook.com
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
Trang 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
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
Mobile web app vs Native app
Trang 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
Trang 28Hơ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
Trang 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