1. Trang chủ
  2. » Công Nghệ Thông Tin

Khóa Luận Tìm Hiểu Về Ngôn Ngữ Lập Trình Độc Lập Trên Mobile PhoneGap

57 559 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 57
Dung lượng 2,19 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Hiện tại, các ứng dụng dành cho thiết bị di động đang bị phân mảnh rất lớn do các hãngcông nghệ lớn cạnh tranh, ganh đua nhau tạo ra các nền tảng hệ điều hành di động của riêngmình: IOS,

Trang 1

ĐẠI HỌC QUỐC GIA HÀ NỘI TRƯỜNG ĐẠI HỌC CÔNG NGHỆ

Nguyễn Văn Điềm

TÌM HIỂU VỀ FRAMEWORK NGÔN NGỮ LẬP TRÌNH

ĐỘC LẬP TRÊN MOBILE

KHÓA LUẬN TỐT NGHIỆP ĐẠI HỌC CHÍNH QUY

Ngành: Công nghệ thông tin

Trang 2

ĐẠI HỌC QUỐC GIA HÀ NỘI TRƯỜNG ĐẠI HỌC CÔNG NGHỆ

Nguyễn Văn Điềm

TÌM HIỂU VỀ FRAMEWORK NGÔN NGỮ LẬP TRÌNH

ĐỘC LẬP TRÊN MOBILE

ĐỒ ÁN TỐT NGHIỆP ĐẠI HỌC HỆ CHÍNH QUY

Ngành: Công nghệ thông tin

Cán bộ hướng dẫn: TS Nguyễn Trí Thành

(ký tên)

Trang 3

TÓM TẮT Tóm tắt: Trong thời kì mà công nghệ số phát triển với tốc độ chóng mặt như hiện nay, điện thoại

thông minh hay còn gọi là Smartphone thực sự đã mang đến một cuốc cách mạng cho các thiết bị

di động Sự tiến bộ vượt bậc của công nghệ đã làm thay đổi hoàn toàn thói quen cũng như hành

vi của con người Thiết bị di động đã đang và sẽ trở thành phương tiện giao tiếp và làm việc chủyếu của cong người Và phần cốt lõi để tạo ra sức hấp dẫn từ chiếc Smartphone chính là hệ điềuhành và các ứng dụng mà chúng đang chạy

Hiện tại, các ứng dụng dành cho thiết bị di động đang bị phân mảnh rất lớn do các hãngcông nghệ lớn cạnh tranh, ganh đua nhau tạo ra các nền tảng hệ điều hành di động của riêngmình: IOS, Android, Window Phone, BlackBerry, webOS,… Vì vậy, các framework ngôn ngữlập trình lần lượt ra đời với mục đích “viết một lần, có thể chạy khắp nơi – tương thích với hầuhết các nền tảng hệ điều hành di động”, và Phonegap chính là một framework phổ biến nhất đápứng được mục đích đó tính đến thời điểm hiện tại

Trong khóa luận này, tôi sẽ tập trung chủ yếu vào việc tìm hiểu Phonegap, và xây dựngmột chương trình phần mềm ứng dụng sử dụng Phonegap có thể chạy trên nhiều nền tảngSmartphone khác nhau

Từ khóa: Smartphone, Phonegap, framework, tương thích.

Trang 4

Lời cảm ơn

Lời đầu tiên, tôi xin bày tỏ lời cảm ơn và lòng biết ơn sâu sắc nhất tới TS.NguyễnTrí Thành đã tận tình hướng dẫn và chỉ bảo tôi trong suốt quá trình thực hiện khóa luậnnày

Tôi xin chân thành cảm ơn các thầy, cô trong trường đại học Công Nghệ - Đại họcQuốc gia Hà Nội đã tạo mọi điều kiện thuận lợi cho tôi học tập, rèn luyện và ghiên cứu

Tôi cũng xin gửi lời cảm ơn đến các anh chị, các bạn cùng thực hiện khóa luận đã

hỗ trợ tôi rất nhiều về kiến thức chuyên môn trong quá trình thực hiện khóa luận

Tôi xin cảm ơn các bạn trong lớp K55CB đã ủng hộ, khích lệ, giúp đỡ và luôn sátcánh bên tôi trong suốt quá trình học tập, rèn luyện tại trường

Và cuối cùng, tôi xin được gửi lời cảm ơn tới gia đình, người thân và bạn bè những người đã luôn ở bên tôi những lúc khó khăn nhất, luôn động viên và khuyến khíchtôi trong cuộc sống cũng như trong học tập và công việc

-Tôi xin chân thành cảm ơn!

Hà Nội, ngày tháng năm 2014

Sinh viên

Nguyễn Văn Điềm

Trang 5

Lời cam đoan

Tôi xin cam đoan các kết quả đạt trong khóa luận này là do tôi thực hiện dưới sựhướng dẫn của TS Nguyễn Trí Thành

Tất cả các tài liệu tham khảo từ những nghiên cứu liên quan đều được nêu nguồngốc một cách rõ ràng từ danh mục tài liệu tham khảo trong khóa luận Trong khóa luận,không có việc sao chép tài liệu, công trình nghiên cứu của người khác mà không chỉ rõ

về mặt tài liệu tham khảo

Hà Nội, ngày tháng năm 2014

Sinh viên

Nguyễn Văn Điềm

Trang 6

Mục lụ

TÓM TẮT i

Lời cảm ơn ii

Lời cam đoan iii

Danh sách hình vẽ vii

Chương 1 1

MỞ ĐẦU 1

Chương 2 3

CƠ SỞ LÝ THUYẾT 3

2.1 HTML5 và CSS3 3

2.1.1 HTML và CSS 3

2.1.2 Một số đặc điểm nổi bật của HTML5 4

2.1.2.1 Hỗ trợ thay thế Flash 4

2.1.2.2 Tính năng bảo mật 6

2.1.2.3 Đơn giản hóa việc phát triển web 6

2.1.3 Các tính năng mới có trong HTML5 6

2.1.3.2 HTML5 hỗ trợ các phần tử định nghĩa mới 6

2.1.3.3 HTML5 hỗ trợ đồ họa tương tác với phần tử <canvas> 7

2.1.3.4 HTML5 cho phép các ứng dụng lưu trữ cục bộ với local storage 8

2.1.3.5 HTML5 hỗ trợ phát <audio> và <video> 8

2.1.3.6 HTML5 cải tiến biểu mẫu Web 9

2.1.3.7 HTML5 hỗ trợ khả năng truy cập tới hệ thống file system 9

2.1.3.8 HTML5 tăng tốc hiệu năng xử lý với Web Worker và Application Cache 10 2.1.3.9 HTML5 hỗ trợ định vị người dùng 10

Trang 7

2.1.3.10 HTML5 hỗ trợ khả năng cộng tác và giao tiếp thời gian thực 10

2.1.3.11 HTML5 hỗ trợ tiếp nhận các sự kiện events được gửi từ máy chủ 11

2.2 Giới thiệu về Framework mã nguồn mở Phonegap 12

2.2.1 Phonegap là gì? 12

2.2.2 Đôi nét về lịch sử của Phonegap 15

2.2.3 Tại sao lại sử dụng Phonegap? 16

2.2.3.2 Những ưu điểm khi sử dụng Phonegap? 16

2.2.3.3 Những hạn chế của Phonegap? 16

2.2.4 Cách thức Phonegap hoạt động 17

2.2.5 Các hàm APIs mà Phonegap hiện đang hỗ trợ trên các nền tảng mobile 19

2.2.5.1 Tổng quan về các APIs Phonegap 20

2.2.6 Cách thiết lập cài đặt môi trường lập trình cho PhoneGap 21

2.2.6.2 Cách thiết lập cài đặt Phonegap cho Android Project bằng Eclipse 22

2.2.6.2.1 Yêu cầu cài đặt 22

2.2.6.2.2 Tạo project mới sử dụng Phonegap trong Eclipse IDE 22

2.2.6.2.3 Tạo project mẫu HelloWorld 27

2.2.6.2.4 Chạy chương trình trên nền Android Emulator 28

Chương 3 30

Xây dựng chương trình ứng dụng 30

3.1 Phân tích thiết kế và xây dựng chương trình ứng dụng 30

3.1.1 Giới thiệu chung về chương trình ứng dụng 30

3.1.2 Phân tích chức năng của chương trình 30

3.1.2.1 Biểu đồ phân rã chức năng 31

3.1.2.1 Đặc tả chức năng của chương trình 31

3.1.3 Phân tích chương trình ứng dụng về biểu đồ Use Case 33 3.1.3.1 Biểu đồ phân rã use case thể hiện chức năng thực hiện thao tác chạm và tìm kiếm 35

3.1.3.2 Biểu đồ phân rã use case thể hiện chức năng xem thông tin cơ bản của nhân viên 35

Trang 8

3.1.3.3 Biểu đồ phân rã use case thể hiện chức năng liên lạc nhanh 36

3.1.3.4 Biểu đồ luồng dữ liệu thể hiện các chức năng APIs của Phonegap 37

3.1.4 Thiết kế cơ sở dữ liệu của chương trình ứng dụng 38

3.2 Thiết kế giao diện chương trình ứng dụng 39

3.2.1 Thiết kế tổng quát 39

3.2.2 Thiết kế chi tiết 39

3.2.2.1 Màn hình tìm kiếm nhân viên 39

3.2.2.2 Màn hình hiển thị danh sách các nhân viên theo từ khóa tìm kiếm 40

3.2.2.3 Màn hình hiển thị thông tin chi tiết của một nhân viên 41

3.2.2.4 Màn hình thao tác các chức năng liên lạc nhanh và chức năng được hỗ trợ của Phonegap 43

Chương 4 45

Kết quả, đánh giá chương trình phần mềm 45

4.1.Kết quả 45

4.2 Đánh giá chương trình phần mềm 45

4.2.1 Công cụ phần mềm 45

4.2.2 Đánh giá phần mềm 45

Chương 5 46

Kết luận và hướng phát triển 46

5.1 Kết luận 46

5.2 Hướng phát triển 46

Trang 9

Danh sách hình vẽ

Hình 1: Sơ đồ tổng quan hóa về cách thức hoạt động của Phonegap 13

Hình 2: Kiến trúc bên trong 1 ứng dụng Phonegap 17

Hình 3: Cách thức 1 ứng dụng Phonegap tương tác với thiết bị 19

Hình 4: Cách tạo 1 Android Project trong Eclipse IDE 23

Hình 5: Cách thiết lập các thông số để tạo 1 Android Project 24

Hình 6: Cách truy cập tới file java chính 25

Hình 8: Cấu trúc bên trong file AndroidManifest.xml 27

Hình 9: Cách nhúng file js vào file index.html 28

Hình 10: Hình chạy chương trình trên nền Android Emulator 29

Hình 11: Biểu đồ phân rã chức năng của ứng dụng 31

Hình 12: Biểu đồ Use Case tổng quát 34

Hình 13: Biểu đồ phân rã use case thể hiện chức năng thực hiện thao tác chạm và tìm kiếm nhân viên 35

Hình 14: Biểu đồ phân rã use case thể hiện chức năng xem thông tin cơ bản của nhân viên 36

Hình 15: Biểu đồ phân rã use case thể hiện chức năng liên lạc nhanh 37

Hình 16: Biểu đồ phân rã use case thể hiện các chức năng APIs của Phonegap 38

Hình 17: Màn hình tìm kiếm nhân viên 40

Hình 18: Màn hình hiển thị danh sách nhân viên 41

Hình 19: Màn hình hiển thị thông tin chi tiết của một nhân viên 42

Hình 20: Màn hình thể hiện chức năng View Manager và View Direct Reports của nhân viên (Diem Nguyen Van) 43

Hình 21: Màn hình thể hiện chức năng liên lạc nhanh (call office cell) và chức năng được hỗ trợ bởi APIs Phonegap (change picture) 44

Trang 10

Danh sách bảng

Bảng 1: Các phần tử định nghĩa mới trong HTML5 7

Bảng 2: Bảng so sánh các dạng ứng dụng mobile 14

Bảng 3: Bảng các hàm APIs được hỗ trợ cho từng nền tảng trong Phonegap 20

Bảng 4: Bảng đặc tả các chức năng của chương trình 32

Bảng 5:Bảng thiết kế cơ sở dữ liệu của một nhân viên 37

Bảng 6: Các công cụ, thư viện sử dụng 44

Trang 11

Chương 1

MỞ ĐẦU

Điện thoại thông minh hay còn gọi là smartphone thực sự đã mang đến một cuộccách mạng cho các thiết bị di động, trong thời kì mà công nghệ số phát triển với tốc độchóng mặt như hiện nay Nhu cầu sử dụng thiết bị di động đã trở nên rất phổ biếnkhông chỉ ở Việt Nam mà trên toàn thế giới Sự tiến bộ vượt bậc của công nghệ đã làmthay đổi hoàn toàn thói quen cũng như hành vi của con người Trong tương lai, thiết bị

di động sẽ trở thành phương tiện giao tiếp và làm việc chủ yếu của con người Và phầncốt lõi để tạo ra sức hấp dẫn từ chiếc smartphone chính là hệ điều hành và các ứngdụng mà chúng đang chạy

Hiện tại, các ứng dụng dành cho thiết bị di động đang bị phân mảnh rất lớn do cáchãng công nghệ lớn cạnh tranh, ganh đua nhau tạo ra các nền tảng hệ điều hành di độngcủa riêng mình Do đó có nhiều framework ngôn ngữ lập trình ra đời, với mục đích

“viết một lần, biên dịch qua cloud và chạy khắp nơi – tương thích với hầu hết các nềntảng hệ điều hành di động hiện tại”, cũng có nghĩa là những framework này là nhữngngôn ngữ lập trình độc lập trên mobile

Phonegap chính là một trong những framework phổ biến nhất đáp ứng được mụcđích đó Nó là công cụ phát triển ứng dụng cho cả iOS, Android, Window Phone,BlackBerry, webOS, Bada, Symbian cùng lúc…Việc ra đời của các framework này nóichung và của Phonegap nói riêng đã nhận được sự đóng góp của rất nhiều tổ chức vàcộng đồng công nghệ lớn

Đối với các lập trình viên trong việc tạo ra ứng dụng có thể chạy trên đa nền tảng

di động thì cần phải nắm bắt và hiểu rõ về các công nghệ bên trong mỗi nền tảng

Trang 12

Nhưng giờ đây, với sự hỗ trợ đắc lực của Phonegap, các lập trình viên chỉ cần nắm bắt

và chuyên sau về một công nghệ duy nhất, đó là công nghệ nền Web(bao gồmHTML5, Javascript, CSS3, Jquery Mobile, )

Nội dung đề tài: “Tìm hiểu framework ngôn ngữ lập trình độc lập trên mobile”ngoài việc tìm hiểu tổng quan về Phonegap, các công nghệ nền Web liên quan, còn xâydựng một chương trình phần mềm ứng dụng sử dụng Phonegap – viết một lần, biêndịch qua cloud và có thể chạy trên các nền tảng di động khác nhau

Nội dung Khóa luận này gồm 5 chương:

Chương 1 – Mở đầu: Nêu thực trạng, giới thiệu về công việc và nêu những nội

dung sẽ được trình bày

Chương 2 – Cơ sở lý thuyết: Giới thiệu về Phonegap và những công nghệ, cơ sở lý

thuyết được áp dụng để xây dựng chương trình

Chương 3 – Xây dựng chương trình: phân tích thiết kế và xây dựng, kiểm thử

chương trình phần mềm

Chương 4 – Kết quả, đánh giá chương trình phần mềm.

Chương 5 – Kết luận: Tóm lược những kết quả của Khóa luận, những đạt được và

hạn chế, triển vọng và hướng phát triển trong tương lai

Trang 13

Cascading Style Sheets, hay còn gọi tắt là CSS, là những file hỗ trợ cho trình duyệtWeb trong việc hiển thị một trang HTML Về cơ bản, các trang HTML như bộ xương –khuôn khổ cơ bản của một trang web, trong khi các file CSS sẽ cụ thể hóa các thànhphần của một trang nên được hiển thị như thế nào CSS cho phép ta kiểm soát phôngchữ, màu chữ, kiểu nền…, của một trang HTML.

CSS đã giúp cho việc thay đổi phong cách của một trang Web đơn giản hơn và đỡtốn thời gian hơn, bạn có thể thực hiện sự thay đổi trên một mục nào đó và sau đóapply sự thay đổi này trên toàn bộ trang Web thay vì phải thực hiện trên từng mụcriêng lẻ như trước đây

CSS3 là phiên bản mới nhất của CSS, được chia thành các module để có thể pháttriển và đặc tả độc lập CSS3 đưa vào nhiều thuộc tính và bộ chọn (selector) mới hỗ trợ

Trang 14

xây dựng các trang web với nội dung phong phú, hiêu ứng, giao diện người dùng tốthơn và vẫn đảm bảo yêu cầu mã tương đối nhẹ.

2.1.2 Một số đặc điểm nổi bật của HTML5

HTML5 mang lại cho người dùng trải nghiệm lướt Web hoàn toàn mới, nhanhhơn, ổn định hơn và bảo mật hơn HTML5 sẽ giúp các nội dung trên Web hoạt động tốthơn mà không cần phụ thuộc vào bất kì một ứng dụng phụ trợ nào khác Bên cạnh đó,HTML5 có khả năng hỗ trợ API (Application Programming Interface) và DOM(Document Object Model) sẽ cho phép dễ dàng mở rộng, giúp các nhà phát triển tự dosang tạo trong việc tạo ra các ứng dụng thân thiện và hữu ích hơn

Hơn nữa, với HTML5 mọi thiết bị từ máy tính cá nhân đến các thiết bị di động sẽ

có thể dễ dàng tiếp cận nội dung, chỉ cần duy nhất một điều kiện là trình duyệt đangdùng phải hỗ trợ HTML5 Và hiện nay, hầu hết các trình duyệt phổ biến đều hỗ trợmạnh mẽ HTML5, từ trình duyệt web: Firefox, Chrome, Opera, Internet Explorer đếncác trình duyệt trên iOS, Android,…

Với HTML5, các nhà phát triển chỉ cần xây dựng ứng dụng 1 lần, nó có thể hoạtđộng tốt trên tất cả các thiết bị, không như Flash hoặc Silverlight đòi hỏi phải cài đặtplugin để có thể hiển thị nội dung

Sau đây là một số tính năng nổi trội của HTML5 mà trong quá trình tìm hiểu tôi đãđúc kết được

Trang 15

hơn, phải yêu cầu cài đặt plugin để hoạt động Và Flash không phải là tối ưu cho cácthiết bị di động khi vấn đề về Pin luôn là mối quan tâm lớn của người dùng.

Huyền thoại Steve Jobs đã từng đưa ra quan điểm rất rõ rang, Flash sẽ không baogiờ xuất hiện trên các thiết bị di động của Apple, và cũng đưa ra sự ủng hộ tuyệt đốivào HTML5 Quan điểm này thể hiện rõ ràng đến nỗi Steve Jobs đã viết một bức thư

và đăng trên trang chủ của Apple và xóa tan những mong muốn đưa Flash lên iOS củangười dùng

Thời gian trước, Google đã phát triển công cụ Google Swiffy cho phép người dùngchuyển đổi nội dung từ Flash sang HTML5, Adobe mua lại Nitobi – công ty sang lập

bộ khung lập trình ứng dụng Phonegap và Phonegap Build cho phép lập trình viên pháttriển ứng dụng nền tảng cross-flatform trên di động với HTML5 và Javascript Bêncạnh đó, bản thân Adobe cũng cho ra đời công cụ mang tên Wallaby cho phép chuyểnnội dung từ Flash sang HTML5

Và mới đây, chính Adobe đã tuyên bố sẽ ngừng phát triển Flash trên các thiết bị diđộng mà thay vào đó là tập trung phát triển HTML5 Với giới công nghệ, đây có thể làmột bước ngoặt quan trọng Adobe cho biết họ vẫn sẽ tải lên các bản sửa lỗi, nhưng sẽkhông phát triển Flash trên các thiết bị di động nữa, và Flash Player 11.1 sẽ là phiênbản nâng cấp cuối cùng Adobe cũng có thông báo: “Hiện tại HTML5 đã được triểnkhai rộng rãi trên nhiều nền tảng khác nhau, nó sẽ trở thành giải pháp tốt nhất cho việcphát triển nội dung trên trình duyệt của thiết bị di động”

Hiện nay, nhiều trang web và dịch vụ lớn đã chuyển sang dùng HTML5, có thể kể

ra tiêu biểu trong số đó là Youtube, Nokia Máp,…Ngoài ra, rất nhiều game được xâydựng bằng HTMl5 đã xuất hiện, trong đó có các games nối tiếng như Angry Bird,Fieldrunners…

Như vậy với HTML5, người dùng Web sẽ có được một trải nghiệm hoàn toàn mới,

có thể thoải mái xem video, chơi games trên trình duyệt với mọi thiết bị mà không cần

Trang 16

quan tâm đến các thành phần bổ sung cần phải cài thêm Với các thiết bị di động nhưSmartphone, Tablet, người dùng sẽ không cần phải lo lắng về hiệu năng cũng như thờilương sử dụng Pin nữa, vì HTML5 đã tối ưu hóa những lo ngại đó.

2.1.2.2 Tính năng bảo mật

Mỗi trình duyệt có một plug-in riêng được lập ra với những tiêu chuẩn khác nhau,được đưa ra vào thời điểm khác nhau và kiểu bảo mật cũng khác nhau Thông thường,một số phiên bản plug-in có tính bảo mật hơn so với loại khác Khi số lượng plug-ingia tăng, chúng làm tăng độ phức tạp trong kiểm tra các lỗi an ninh

Thay thế nhiều loại plug-in với các đặc điểm được tích hợp với HTML5 sẽ bỏ điđược những khuyết điểm có trong các plug-in trước đó Những khuyết điểm có thể bịlợi dụng để thiết lập mã độc

2.1.2.3 Đơn giản hóa việc phát triển web

Bill Mill – chuyên viên thiết kế cho Lookingglass Cyber Solutions giải thích ngắn

gọn về sự thay đổi này: “Tôi thực sự thích HTML5 vì nó cho phép tôi làm việc trong một môi trường thích hợp, trình duyệt kiết hợp với Javascipt, DOM mà không phải bật

đi bật lại Flash Nó vừa là một ngôn ngữ lại vừa là một công cụ, không khác biết lắm

so với các plug-in khác”.

HTML5 cung cấp một ngôn ngữ lập trình JavaScript, một kiểu dữ liệu (XML hoặcDOM) và một phần nguyên tắc thiết lập (CSS) để kết nối văn bản, audio, video và đồhọa

2.1.3 Các tính năng mới có trong HTML5

2.1.3.2 HTML5 hỗ trợ các phần tử định nghĩa mới

Ta có thể liệt kê các phần tử định nghĩa mới trong HTML5 và các chức năng củachúng trong bảng sau đây

Trang 17

Bảng 1: Các phần tử định nghĩa mới trong HTML5.

<header (tiêu đ )>ề)> Đ nh nghĩa 1 tiêu đ cho 1 s ph n t c a trang web, cóth là toàn b trang, 1 ph n t <article>, hay <section>ịnh nghĩa 1 tiêu đề cho 1 số phần tử của trang web, cóể là toàn bộ trang, 1 phần tử <article>, hay <section> ộ trang, 1 phần tử <article>, hay <section> ề)> ần tử của trang web, có ử của trang web, cóố phần tử của trang web, có ần tử của trang web, có ử của trang web, có ủa trang web, có

<footer (chân trang)> Giống như phần tử <header>, nó định nghĩa một chân trang

cho 1 số phần của 1 trang

<nav (chuy nể là toàn bộ trang, 1 phần tử <article>, hay <section>

hướng)>ng)> Chứa các lien kết chuyển hướng ban đầu trên 1 trang web, chỉnên dùng cho các khối chuyển hướng, nhóm các liên kết lớn

<article (bài vi t)>ết)> Định nghĩa một mục độc lập trên trang có thể dùng riêng chonó, như mục tin tức, bài viết trên blog, hoặc nhận xét.

<section (ph n)>ần tử của trang web, có Đại diện cho 1 phần của một tài liệu hoặc ứng dụng, chẳng hạnnhư 1 chương hoặc 1 phần của 1 bài viết hoặc hướng dẫn.

<aside (nh n xét)>ận xét)> Đánh dấu 1 thanh phụ hoặc 1 số nội dung khác có phần tách rờivới nội dung xung quanh nó Ví dụ các khối quảng cáo.

<hgroup> Bọc 1 tiêu đề và 1 phụ đề Ví dụ trong trường hợp, 1 trang, 1

phần có nhiều hơn 1 tiêu đề ( có 1 tiêu đề, 1 phụ đề )

2.1.3.3 HTML5 hỗ trợ đồ họa tương tác với phần tử <canvas>

Chuẩn Web cũ tải hình ảnh bằng cách tải file GIF hay JPG Chuẩn Web mới có thểxây dựng hình ảnh trên Canvas Một loạt thư viện đồ họa đẹp được đưa ra, giúp cho đồhọa của Website trở nên tương tác hơn

Phần tử <canvas> định nghĩa chiều rộng, chiều cao, và mã định danh (ID) duy nhấtcho đối tượng Sau đó khi trang Web đã hoàn tất dựng hình, lập trình viên sử dụng mộtloạt các JavaScript API để thực sự vẽ các đối tượng trên khung nền ảnh (canvas).Những API này cho phép vẽ hình dạng và các đường kẻ, phết màu, độ mờ đục và cácgradient (độ dốc), tạo văn bản, chuyển đổi các đối tượng khung nền ảnh, và thể hiệnhình ảnh động Các API cũng cho phép phần tử <canvas> tương tác và đáp ứng với đầu

Trang 18

vào của người dùng như các sự kiện click chuột và các sự kiện bàn phím, tạo điều kiệnthuận lợi cho việc sản xuất các trò chơi và các ứng dụng Web trên khung nền ảnh.

2.1.3.4 HTML5 cho phép các ứng dụng lưu trữ cục bộ với local storage

Các nhà phát triên Web có truyền thống sử dụng các cookie để lưu trữ thông tintrên máy cục bộ của khách truy cập, cho phép một trang Web đọc lại thông tin này tạimột điểm sau đó mà không mất nhiều thời gian tải lại Trong khi các cookie rất có ích

để lưu trữ dữ liệu cơ bản, thì chúng lại bị hạn chế bởi thực tế các trình duyệt Webthường không cần thiết giữ lại hơn 20 cookie cho mỗi máy chủ hoặc nhiều hơn 4KB dữliệu cho mỗi cookie Ngoài ra, chúng được gửi đến máy chủ Web với mọi yêu cầuHTTP, gây ra lãng phí tài nguyên

HTML5 cũng cấp một giải pháp cho các vấn đề này bằng các Local Storage API(API lưu trữ cục bộ) Nó cho phép các nhà phát triển lưu trữ thông tin trên máy củakhách truy cập Ngoài ra, thông tin có thể truy cập ở bất kỳ điểm nào (ngay cả sau khitrang đã được đưa ra) và không được tải tự động với mỗi yêu cầu HTTP, điều nay giúpngăn cản các trang Web khỏi bị các trang Web khác đọc hay thay đổi dữ liệu đã lưu.Hầu hết các trình duyệt lưu trữ các trang Web trong bộ nhớ nhanh cục bộ, chophép xem chúng ngay cả khi người dùng không nối mạng Việc này hoạt động tốt vớicác trang tĩnh, nhưng nó không có sẵn cho nội dung động thường dựa vào cơ sở dữ liệunhư Gmail, Facebook, Twitter HTML5 cung cấp sự hỗ trợ cho các ứng dụng khôngnối mạng, ở đây trình duyệt tải tất cả các tệp cần thiết để sử dụng ứng dụng không cầnnối mạng, khi đó trình duyệt có thể cho phép các thay đổi bất kỳ được thực hiện trongquá trình được tải lên máy chủ khi chúng kết nối lại vào mạng Internet

2.1.3.5 HTML5 hỗ trợ phát <audio> và <video>

HTML5 bao gồm cả sựu hỗ trợ cho 2 phần tử mới, <audio> và <video>, cho phép các nhàphát triển Web bao gồm các nội dung đa phương tiện mà không cần người dùng cài đặtcác trình cắm thêm của trình duyệt Một số trình duyệt như Firefox, Google Chrome đãbắt đầu hỗ trợ các phần tử mới này và cung cấp các nút điều khiển phát lại của trình duyệt

Trang 19

chuẩn Điều này đã và sẽ dần được thay thế cho các nền tảng Adobe Flash, hay định dạngtệp Flash Video (.flv).

2.1.3.6 HTML5 cải tiến biểu mẫu Web

Bên cạnh những nút điều khiển biều mẫu đã có: button, checkbox, file, hidden, image,password, reset, radio,submit, text,…HTML5 đã cải tiến và thêm vào các nút biểu mẫuhữu ích thiết thực như:

 Color (màu)

 Date (ngày)

 Datetime (ngày giờ)

 Datetiem-local (ngày giờ địa phương)

 Email (thư điện tử)

 Month (tháng)

 Number (số)

 Range (phạm vi)

 Search (tìm kiếm)

 Tel (điện thoại)

 Time (thời gian)

 url (địa chỉ)

 week (tuần)

Điều này đã giúp ích rất nhiều cho các nhà phát triển web khi không còn phải sử dụng thưviện JavaScript bên ngoài để cung cấp các thành phần giao diện người dùng (UI), hoặc sửdụng một khung công tác phát triển thay thế khác như Adobe Flex, để tạo ra các kiểu nútđiều khiển tinh vi này

2.1.3.7 HTML5 hỗ trợ khả năng truy cập tới hệ thống file system

HTML5 cung cấp các hàm APIs hết sức mạnh mẽ để tương tác với dữ liệu kiểu nhị phân

và hệ thống file system của người sử dụng Các hàm này cho phép các ứng dụng web cókhả năng làm những việc như đọc các files dữ liệu một cách đồng bộ hoặc không đồng

bộ, tạo ra các dữ liệu nhị phân một cách tùy ý, viết các files, cho phép thực hiện xử lý trênfile khi kéo thả nó từ desktop vào trong trình duyệt và tải lên dữ liệu kiểu nhị phân bằngcách sử dụng XMLHttpRequest2

Ví dụ minh họa như các hàm File APIs này có thể sử dụng để tạo ra 1 hình ảnh thu nhỏdành cho việc xem trước của các bức ảnh khi chúng đang được gửi tới sever, hay chophép 1 ứng dụng lưu lại trong 1 file mà file này được sử dụng để tham chiếu tới khi người

Trang 20

dùng sử dụng ứng dụng trong trạng thái offline Hay hơn thế, bằng cách sử dụng WebAudio API thì ứng dụng có thể đọc đượ các file mp3 và hiển thị 1 cách trực quan bảnnhạc khi nó đang được chạy, thêm vào đó, người dùng có thể sử dụng các điều kiện logic

từ phía client để kiểm tra lại dạng mimetype của dữ liệu được tải lên xem có tương ứngvới đuôi mở rộng của file hay giới hạn kích thước của dữ liệu được tải lên

2.1.3.8 HTML5 tăng tốc hiệu năng xử lý với Web Worker và Application Cache

“Web” và “offline” là 2 từ mà rất nhiều người dùng nhận thấy chúng không bao giờ songhành cùng nhau Tuy nhiên trong HTML5 thì mọi chuyện lại khác, trang Web vẫn có thểhoạt động ngay cả khi chúng không được kết nối trực tuyến Người dùng có thể tải về cácfiles dữ liệu rất lớn (hơn 1GB) để sau đó có thể duyệt xem 1 cách offline

Application Cache mang lại cho ứng dụng 3 lợi ích:

1 Duyệt xem ngay cả khi offline

2 Tăng tốc hiệu năng xử lý bởi các nguồn tài nguyên được Cache lại do đó sẽ đượcnạp nhanh hơn

3 Giảm tải cho máy chủ - trình duyệt sẽ chỉ tải về các nguồn tài nguyên được cậpnhật hay được thay đổi từ phía máy chủ

Một Web Worker (các trình làm việc trên nền Web) là một mã javascript mà có thể chạythực thi trong nền web, hay thực thi một cách độc lập với các mã khác mà không hề gâyảnh hưởng tới hiệu năng xử lý của trang page Người dùng vẫn có thể tương tác với trangpage như nhấn chuột, lựa chọn, cuộn trang hay gõ văn bản,…

2.1.3.9 HTML5 hỗ trợ định vị người dùng

HTML5 có một API định vị địa lý cho phép một ứng dụng Web xác định vị trí địa lý hiệntại của người dùng, giả sử thiết bị mà ứng dụng đang nhắm tới cung cấp các tính năng đểtìm kiếm các thông tin như vậy (ví dụ, GPS trên điện thoại di động) Nếu người dùngkhông có một thiết bị hỗ trợ tính năng này (chẳng hạn như một chiếc điện thoại thôngminh iPhone hoặc Android 2.0) , thì người dùng có thể sử dụng Firefox và tải về một trìnhcắm thêm để cho phép thiết lập vị trí của họ bằng tay

2.1.3.10 HTML5 hỗ trợ khả năng cộng tác và giao tiếp thời gian thực

Các tính năng trong HTML5 được chia làm 2 nhóm: một là nhóm các tính năng dùng đểthúc đẩy các ứng dụng web đạt thế cân bằng với các ứng dụng nền desktop, hai là nhómcác tính năng đem tới cho các ứng dụng web những lợi thế vượt lên trên cả các ứng dụng

Trang 21

desktop truyền thống khả năng cộng tác theo thời gian thực là dạng tính năng điển hìnhthuộc nhóm 2, nó đem tới lợi thế cự kỳ to lớn cho các ứng dụng web.

WebSockets và WebRTC có thể thực sự làm thay đổi các trò chơi games trong sự giaotiếp theo thời gian thực bởi nó khiến việc lập trình phát triển dễ dàng hơn và nâng cao trảinghiệm của người dùng

WebSockets là công nghệ hỗ trợ giao tiếp hai chiều giữa client và server bằng cách sửdụng một TCP socket để tạo một kết nối hiệu quả và ít tốn kém Mặc dù được thiết kế đểchuyên sử dụng cho các ứng dụng web, lập trình viên vẫn có thể đưa chúng vào bất kì loạiứng dụng nào

Dữ liệu truyền tải thông qua giao thức HTTP chứa nhiều dữ liệu không cần thiết trongphần header Một header request/response của HTTP có kích thước khoảng 871 byte,trong khi với WebSocket, kích thước này chỉ là 2 byte (sau khi đã kết nối)

Vậy giả sử trong một ứng dụng game có thể tới 10,000 người chơi đăng nhập cùng lúc, vàmỗi giây họ sẽ gửi/nhận dữ liệu từ server Hãy so sánh lượng dữ liệu header mà giao thứcHTTP và WebSocket trong mỗi giây:

- HTTP: 871 x 10,000 = 8,710,000 bytes = 69,680,000 bits per second (66 Mbps)

- WebSocket: 2 x 10,000 = 20,000 bytes = 160,000 bits per second (0.153 Kbps)Chỉ riêng phần header thôi cũng đã chiếm một phần lưu lượng đáng kể với giao thứcHTTP truyền thống

WebRTC đem đến khả năng hỗ trợ cho video và audio trong hội thảo trực tuyến hay trongtruyền phát video trực tuyến

2.1.3.11 HTML5 hỗ trợ tiếp nhận các sự kiện events được gửi từ máy chủ

HTML5 Server-Sent Events cho phép một trang page tiếp nhận các cập nhật liên tục, tứcthời từ phía máy chủ, bất cứ khi nào có 1 sự kiện event mới xảy ra trên máy chủ thì 1thông báo sẽ được gửi tới client Để thực sự hiểu về Server-Sent Events, thì trước hết phảihiểu rõ về giới hạn mà công nghệ AJAX đi trước bị hạn chế:

- Kiểm soát vòng Polling là 1 kĩ thuật cổ điển được sử dụng bởi hầu hết đa số cácứng dụng AJAX Ý tưởng cốt yếu là ứng dụng sẽ gọi lặp đi lặp lại tới máy chủ đểthu nhận về dữ liệu Điều này tương tự với giao thức HTTP, xét cho cùng thì việcnhận về dữ liệu cũng quay quanh 1 định dạng request/response (yêu cầu/ hồi đáp).Client tạo ra 1 yêu cầu request và chờ đợi máy chủ hồi đáp và trả về dữ liệu Vấn

Trang 22

đề rắc rối lớn gặp phải ở đây là với những kiểm soát vòng polling rất lớn sẽ tạo rachi phí phụ cho giao thức HTTP rất lớn.

- Kiểm soát vòng long polling trong thời gian kéo dài trong khi máy chủ chưa sẵnsàng trả về dữ liệu thì nó sẽ giữ yêu cầu này cho tới khi dữ liệu được sẵn sàng trả

về Do vậy, kĩ thuật này thường được trích dẫn như 1 việc làm treo phương thứcGET Khi dữ liệu đã được sẵn sàng thì máy chủ sẽ hồi đáp trả về và đóng kết nối,quá trình xử lý này sẽ được lặp đi lặp lại

Theo cách khác thì Server-Sent Events (SSEs) được thiết kế để mang lại hiệu quả tốt hơn.Khi giao tiếp bằng SSEs, thì máy chủ có thể đẩy dữ liệu về client bất cứ khi nào nó muốn

mà không cần phải tạo ra 1 yêu cầu request Hay hiểu theo cách khác, thì các cập nhật ởmáy chủ có thể được truyền phát 1 cách liên tục, tự động, tức thời tới client SSEs chỉ mở

ra 1 kênh giao tiếp 1 chiều giữa máy chủ và client Điểm khác biệt chính giữa SSEs vàlong-polling là SSEs được kiểm soát trực tiếp từ trình duyệt và người dùng chỉ đơn giản làlắng nghe các thông điệp mà thôi

Sở dĩ tôi đi tìm hiểu sâu về HTML5 là vì nó là công nghệ chủ chốt trên nền web trongtương lai và hơn nữa, HTML5 chính là công nghệ chủ chốt trong việc xây dựng ứng dụngdựa trên nền tảng framework Phonegap để có thể biên dịch qua cloud và chạy trên nhiềunền tảng di động khác nhau Ngoài ra các công nghệ khác như CSS3, Javascript và JqueryMobile cũng rất cần thiết Nhưng do khuôn khổ không cho phép của khóa luận, tôi sẽ chỉgiới thiệu Jquery Mobile trong việc tìm hiểu mã nguồn mở Phonegap ở phần tiếp theo

2.2 Giới thiệu về Framework mã nguồn mở Phonegap

Trang 23

Hình 1: Sơ đồ tổng quan hóa về cách thức hoạt động của Phonegap

So sánh giữa 3 dạng ứng dụng mobile: web apps, hybrid apps và native apps

Bảng 2: Bảng so sánh các dạng ứng dụng mobile

Trang 24

Có thể tóm lược tổng quan về 3 dạng ứng dụng này như sau:

1 Navtive Application: Là những ứng dụng được xây dựng theo cách chính thống với

các ngôn ngữ lập trình/nền tảng do các nhà sản xuất di động quy định (ví dụ:Objective-C cho iOS và Java cho Android, Net cho Windows Phone,…) Ưu điểmcủa dạng ứng dụng này là nhà phát triển có thể thoải mái truy cập vào hệ thống,phần cứng của thiết bị (như hệ thống file, camera, microphone, accelerometer,…).Nhược điểm là bị bó buộc với công nghệ và nền tảng mà nhà sản xuất đưa ra

2 Web Application: Là các ứng dụng được xây dựng trên nền tảng web (mà điển hình

là HTML5), chỉ hoạt động trên trình duyệt của điện thoại Tiền thân của ý tưởngnày là những trang web có giao diện tùy biến cao, chạy được trên nhiều độ phângiải màn hình, về sau phát triển mạnh và hình thành nên một hướng đi mới choviệc phát triển ứng dụng di động Ưu điểm là có thể thoải mái phát triển ứng dụng

Trang 25

mà không cần quan tâm tới nền tảng vì nó cross-platform Nhược điểm là không cóđược sức mạnh truy cập sâu vào hệ thống và thiết bị như native app.

3 Hybrid Application: Là con lai của 2 dạng ứng dụng trên Có thể hiểu nôm na ứng

dụng này là: một native application chỉ có một đối tượng webview trên màn hình,dùng để hiển thị nội dung trang web app, và web app giao tiếp với native appthông qua một cầu nối (bridge) để mang lại sức mạnh của native app cho web app.Như vậy với việc phát triển ứng dụng theo kiểu Hybrid Application là tối ưu hơn rấtnhiều

2.2.2 Đôi nét về lịch sử của Phonegap

Phonegap là một dự án mã nguồn mở hoàn toàn miễn phí của Nitobi giúp việc phát triểnứng dụng dễ dàng hơn đối với mọi hệ điều hành Phát triển đầu tiên tại một sự kiệniPhoneDevCamp ở San Francisco, Phonegap tiếp tục giành chiến thắng giải thưởngChoice Award tại O’Reilly Media 2009 ở hội nghị Web 2.0 tháng 4 năm 2009 Điều đó đã

mở ra hướng đi mới cho các nhà phát triển ứng dụng web Kể từ đó có hơn 600,000 lượttải về và hàng ngàn ứng dụng được phát triển dựa trên Phonegap Apple đã xác nhận rằngFramework này đã được phê duyệt

Tuy được tạo ra bởi Nitobi nhưng đằng sau Phonegap là sự đóng góp của rất nhiều ngườitrong những tổ chức lớn như IBM, RIM và Microsoft Phonegap cũng khẳng định rằng:

Họ có một cộng đồng phát triển hấp dẫn, hoạt động mở, minh bạch và hợp tác

Framework Phonegap được sử dụng bởi một số nền tảng ứng dụng di động nhưWorklight, Convertigo và appMobi như là xương sống của động cơ phát triển điện thoại

di động dành cho khách hàng của họ Adobe chính thức công bố việc mua lại của NitobiSofware – nhà phát triển ban đầu, vào tháng 10 năm 2011 Từ đó các mã Phonegap đãđược sử dụng cho Apache Software Foundation để bắt đầu một dự án mới gọi là ApacheCordova

Ở các phiên bản Phonegap về trước, luôn bắt buộc các nhà lập trình khi tạo ra các ứngdụng iOS thì cần phải có 1 máy tính chạy trên hệ điều hành Mac của Apple, hay nhà lậptrình muốn tạo ra các ứng dụng cho Window Phone thì phải có máy tính chạy Windows.Tuy nhiên từ sau tháng 9 năm 2012, thì dịch vụ “Phonegap Build” đã được ra mắt và chophép các nhà lập trình tải lên mã nguồn của họ tới 1 hệ thống biên dịch đám mây, và nhớ

đó biên dịch ra các ứng dụng tương ứng cho từng nền tảng, chạy được trên nhiều loạismartphone khác nhau

Trang 26

2.2.3 Tại sao lại sử dụng Phonegap?

Nếu là một lập trình viên hay những người làm việc trong lĩnh vực tin học chắc hẳn cònnhớ đến thuật ngữ: “Write one, run any where” xuất hiện và trở thành một cơn sốt vàongày 23/05/1995 Ngày mà công ty máy tính Sun Microsystems đã giới thiệu một công cụlập trình mới – ngôn ngữ Java Java ra đời với một xứ mệnh khắc phục khó khăn trongviệc chuyển đổi các ứng dụng viết trên các hệ điều hành OS và các hệ xử lý CPU khácnhau Do vậy, người lập trình chỉ cần viết ứng dụng bằng Java đúng một lần, sau đó cóthể sử dụng ứng dụng này trên các hệ điều hành khác nhau như Windows XP,WindowsNT, Mac OS, Unix,… theo phương châm: “viết một lân, chạy ở bất kỳ đâu”.Như vậy trước tiên, Phonegap chính là truyền nhân suất sắc của Java khi hoàn thiện vàđẩy tiêu chí “Write one, run any Where” lên một tầm cao mới

2.2.3.2 Những ưu điểm khi sử dụng Phonegap?

 Phonegap cho phép chúng ta “write once, run everywhere” (viết một lần nhưngchạy trên mọi thiết bị)

 Chỉ cần có kiến thức về HTML5, CSS3, Javascript là có thể làm được

 Ta có được các file cài đặt trên mỗi nền tảng khác nhau thông qua các applicationstores (App Store, Android Market,…)

 Cung cấp nhiều API cho phép thao tác tốt với các tính năng của thiết bị (camera,GPS, Files, Contacts,…)

2.2.3.3 Những hạn chế của Phonegap?

 Khó hoạt động trên các mobile browser cũ không hỗ trợ javascript và tốc độ chậm

 Việc quản lý các tài nguyên của thiết bị không thực hiện được như: quản lý cáctiến trình (đồng bộ, bất đồng bộ), khả năng đồ họa hạn chế (3D)

 Layout ứng dụng sẽ không phù hợp khi chạy trên các màn hình thiết bị có độ phângiải khác nhau, và tùy thuộc vào độ hỗ trợ HTML của trình duyệt của thiết bị Vídụ: các apps cho android trên các thiết bị khác nhau thì sẽ không rõ nét vì trênandroid hỗ trợ các bộ icon cho các độ phân giải khác nhau trên từng loai thiết bị

 Khả năng đáp ứng các tính năng còn hạn chế ở một số nền tảng Khi chúng ta pháttriển ứng dụng trên Android hoặc iPhone thì hầu hết các tính năng đều có thể ápdụng được Nhưng trên các nền tảng khác thì có thể một vài tính năng bị lỗi

Nhưng trên hết, với các ưu điểm của Phonegap thì có thể thấy đây là một framework đang

có đà phát triển rất tốt và chúng ta không nên lo lắng vì Phonegap luôn cập nhật nhưngphiên bản mới để khắc phục nhưng hạn chế của nó

Sau đây ta sẽ tìm hiểu cách thức Phonegap hoạt động và các APIs mà nó hỗ trợ

Trang 27

2.2.4 Cách thức Phonegap hoạt động

Hình 2: Kiến trúc bên trong 1 ứng dụng Phonegap

Trong phạm vi của ứng dụng native application, thì giao diện làm việc của ứng dụng vềbản chất bao gồm duy nhất một màn hình và nó cũng giống như một khung nhìn webview chiếm dụng toàn bộ không gian màn hình của thiết bị Khi ứng dụng được khởi chạythì nó sẽ tải trang page khởi tạo của ứng dụng (thông thường là trang index.html nhưnglập trình viên có thể dễ dàng thay đổi thành trang khác) vào trong khung nhìn web view

và sau đó chuyển điều khiển tới web view để cho phép người dùng tương tác với ứngdụng web application Khi người dùng tương tác với nội dung (content) của ứng dụng, thìcác liên kết links hay các mã JavaScript trong phạm vi ứng dụng đó co thể tải các nộidung khác từ các files tài nguyên được đóng gói trong ứng dụng này, hay có thể truy cậpthông qua mạng network và tải các nội dung content từ một website hay từ một server về.Đối với một vài nền tảng mobile như bada, Symbian hay webOS thì ứng dụng nativeapplication về bản chất chính là 1 ứng dụng web application

Định nghĩa về web view

Trang 28

1 web view là 1 thành phần của ứng dụng native application mà được sử dụng để biểu diễn nội dung web content (thông thường là các trang HTML) trong phạm vi 1 cửa sổ hay

1 màn hình của ứng dụng native application Về bản chất thì nó giống như 1 thành phần

có khả năng tiếp cận theo hướng lập trình, được đóng gói vào bên trong trình duyệt web browser có sẵn trong các thiết bị mobile.

Ứng dụng web application chạy trong phạm vi 1 webview cũng giống như bất kì nhữngứng dụng web application khác mà chúng được chạy bên trong 1 trình duyệt web củamobile Nó có thể mở các trang HTML khác (theo cả 2 cách: 1 cách địa phương trực tiếptrên thiết bị hay theo cách mở từ 1 web server) JavaScript nhúng vào bên trong các files

mã nguồn của ứng dụng chịu trách nhiệm thực thi xử lý các điều kiện logic, ẩn hiện nộidung content nếu cần, chơi các media files, mở các trang pages mới, thực thi các tínhtoán, và nhận về nội dung content từ sever hay gửi nội dung content tới server Giao diệncủa ứng dụng được tạo thành từ HTML và CSS

Một trình duyệt web mobile thông thường không có khả năng truy cập vào các thành phầnsâu bên trong thiết bị giống như những ứng dụng chạy trực tiếp trên thiết bị (nhưContacts, Accelerometer, Camera, Compass, Microphone,…) Để có thể xây dựng 1 ứngdụng mobile thú vị thì ứng dụng đó cần phải có khả năng truy cập vào các thành phần bêntrong của thiết bị, vượt ra ngoài 1 trình duyệt web thông thường Phonegap trợ giúp chođiều cần thiết này bằng cách cung cấp ra 1 bộ các hàm JavaScript APIs, cho phép các nhàphát triển phần mềm có thể sử dụng để tạo nên ứng dụng web application chạy trong môitrường ứng dụng của Phonegap có khả năng truy cập vào các thành phần của thiết bị vượtquá giới hạn ngữ cảnh trình duyệt web

Khi 1 lập trình viên xử lý 1 tính năng trong 1 ứng dụng mà nó có sử dụng 1 trong các hàmPhonegap APIs, thì ứng dụng gọi tới API bằng cách sử dụng Javascript và sau đó 1 lớplayer đặc biệt trong ứng dụng sẽ dịch hàm Phonegap API này, để gọi tới hàm native APIthích hợp với tính năng tương ứng

Tất cả các lý thuyết nói trong phần trên được minh họa trong Hình 3 bên dưới Sau đó ta

sẽ xem xét đến các hàm APIs mà hiện tại Phonegap hỗ trợ trên các nền tảng mobile

Ngày đăng: 19/06/2015, 00:53

HÌNH ẢNH LIÊN QUAN

Hình 1: Sơ đồ tổng quan hóa về cách thức hoạt động của Phonegap - Khóa Luận Tìm Hiểu Về Ngôn Ngữ Lập Trình Độc Lập Trên Mobile  PhoneGap
Hình 1 Sơ đồ tổng quan hóa về cách thức hoạt động của Phonegap (Trang 23)
Hình 2: Kiến trúc bên trong 1 ứng dụng Phonegap - Khóa Luận Tìm Hiểu Về Ngôn Ngữ Lập Trình Độc Lập Trên Mobile  PhoneGap
Hình 2 Kiến trúc bên trong 1 ứng dụng Phonegap (Trang 27)
Hình 3: Cách thức 1 ứng dụng Phonegap tương tác với thiết bị - Khóa Luận Tìm Hiểu Về Ngôn Ngữ Lập Trình Độc Lập Trên Mobile  PhoneGap
Hình 3 Cách thức 1 ứng dụng Phonegap tương tác với thiết bị (Trang 29)
Hình 4: Cách tạo 1 Android Project trong Eclipse IDE - Khóa Luận Tìm Hiểu Về Ngôn Ngữ Lập Trình Độc Lập Trên Mobile  PhoneGap
Hình 4 Cách tạo 1 Android Project trong Eclipse IDE (Trang 33)
Hình 5: Cách thiết lập các thông số để tạo 1 Android Project - Khóa Luận Tìm Hiểu Về Ngôn Ngữ Lập Trình Độc Lập Trên Mobile  PhoneGap
Hình 5 Cách thiết lập các thông số để tạo 1 Android Project (Trang 34)
Hình 8: Cấu trúc bên trong file AndroidManifest.xml - Khóa Luận Tìm Hiểu Về Ngôn Ngữ Lập Trình Độc Lập Trên Mobile  PhoneGap
Hình 8 Cấu trúc bên trong file AndroidManifest.xml (Trang 37)
Hình 10: Hình chạy chương trình trên nền Android Emulator. - Khóa Luận Tìm Hiểu Về Ngôn Ngữ Lập Trình Độc Lập Trên Mobile  PhoneGap
Hình 10 Hình chạy chương trình trên nền Android Emulator (Trang 39)
Hình 11: Biểu đồ phân rã chức năng của ứng dụng - Khóa Luận Tìm Hiểu Về Ngôn Ngữ Lập Trình Độc Lập Trên Mobile  PhoneGap
Hình 11 Biểu đồ phân rã chức năng của ứng dụng (Trang 41)
Hình 12: Biểu đồ Use Case tổng quát - Khóa Luận Tìm Hiểu Về Ngôn Ngữ Lập Trình Độc Lập Trên Mobile  PhoneGap
Hình 12 Biểu đồ Use Case tổng quát (Trang 44)
Hình 14: Biểu đồ phân rã use case thể hiện chức năng xem thông tin cơ bản của nhân - Khóa Luận Tìm Hiểu Về Ngôn Ngữ Lập Trình Độc Lập Trên Mobile  PhoneGap
Hình 14 Biểu đồ phân rã use case thể hiện chức năng xem thông tin cơ bản của nhân (Trang 46)
Hình 15: Biểu đồ phân rã use case thể hiện chức năng liên lạc nhanh - Khóa Luận Tìm Hiểu Về Ngôn Ngữ Lập Trình Độc Lập Trên Mobile  PhoneGap
Hình 15 Biểu đồ phân rã use case thể hiện chức năng liên lạc nhanh (Trang 47)
Bảng cơ sở dữ liệu của một nhân viên. - Khóa Luận Tìm Hiểu Về Ngôn Ngữ Lập Trình Độc Lập Trên Mobile  PhoneGap
Bảng c ơ sở dữ liệu của một nhân viên (Trang 48)
Hình 19: Màn hình hiển thị thông tin chi tiết của một nhân viên - Khóa Luận Tìm Hiểu Về Ngôn Ngữ Lập Trình Độc Lập Trên Mobile  PhoneGap
Hình 19 Màn hình hiển thị thông tin chi tiết của một nhân viên (Trang 52)
Hình 21: Màn hình thể hiện chức năng liên lạc nhanh (call office cell) và chức năng được - Khóa Luận Tìm Hiểu Về Ngôn Ngữ Lập Trình Độc Lập Trên Mobile  PhoneGap
Hình 21 Màn hình thể hiện chức năng liên lạc nhanh (call office cell) và chức năng được (Trang 54)

TỪ KHÓA LIÊN QUAN

TRÍCH ĐOẠN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w