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.

pdf29 trang | Chia sẻ: truongthinh92 | Lượt xem: 3119 | Lượt tải: 1download
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:

  • pdfslide_lap_trinh_tren_thiet_bi_di_dong_6934.pdf
Tài liệu liên quan