Luận văn framework phát triển Ứng dụng di Động Đa nền tảng (2025)

DANH SÁCTI TÌNH VẼ, Hinh I- 1 Téng quan vé Mobile Application "Hình T- 2 Sự khách nhan về phương thức giao tiệp Link 1- 3 Sự phân mảnh phát triển song song với số lượng bệ điều hành Hìn

Trang 1

'TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI

VIÊN ĐÀO TẠO SAU ĐẠI HỌC

Trang 2

LOT CAM DOAN

Tôi xin cam đoan luận văn được thực hiện là quá trình nghiên cứu khoa học của

ban thân được đúc kết từ quả trinh nghiên cửu từ việc tập hợp các nguồn tải liệu, các kiến thức đã học đẻn việc tự thu thập các thông tin liên quan và liên hệ thực tế tại đơn vị công

tác Mọi sự giúp đỡ cho việc thục hiện luận văn này đã được táo giả cảm ơn và các thông

tin đã được trích din trong luận văn đều đã được chỉ rõ nguồn gốc

Tác giả

Nguyễn Tuần Anh

tạ

Trang 3

Đấu tiên cho phép lôi chân thành cảm ơm tới Thấy giáo TS Nguyễn Thanh Hùng đã trục

tiếp lướng dẫn vá sửa chữa trong suốt thời gian nghiên cửu hoán thành luận văn này

‘Téi cling xin bảy tỏ lòng biết ơn sâu sắc tới các thầy cô giáo Viện dâo tạo sau đại học đã tham gia giảng đạy lớp Cao học ngành công nghệ thông tin khỏa 2013 Tôi xin cảm ơn

gia đình, các đồng nghiệp, các phòng ban chúc năng và bạn bè đã giúp đỡ đông viên tôi

trong suốt thời gian học tập và hoàn thiện luận vẫn

Xm chân thành cảm ơn!

Người thực luện

Nguyễn Tuần Anh

Trang 4

MỤC LỤC

TỎI CAM ĐOAN

2.1 Phân loại các ứng dụng đi động

2.2 5o sánh các Framework phat triển di động đa nền tảng

2.2.1 Xamarin ‘Tools

2.2.2 Appeeleralor Titanium,

2.2.3, PROnegap vicssescesesstisteneeesiee sevssguvieetsiessinereeesoneteee consonant

2.2 Gidi thigu vé Framework m4 nguén ma Phonegap

2.2.1 Phonegap là gi? HH HH HH ng reo

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

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

Ö 18

LB

19

Trang 5

CHUONG 3 XAY DỰNG CHƯƠNG TRÌNH ỨNG DỤNG

3.1 Mô hình phát triển ứng dụng đa nên tang

3.2 Mỗi trường và quy trình phát triển

3.2.1 Môi trường, phát triển

3.2.2 Quy trình phát triển

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

3.3.1 Giới thiệu chung về chương Hình ứng dụng,

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

3.3.2.1 Biểu dễ phân rã chức năng

3.3.2.2 Dặc tá chức năng của chương trình "_.-

3.3.3 Phân tích chương Ixình ứng đụng về biểu dé Use Case

3.3.3.1 Biểu đổ phân rã use case thể hiện chứo năng Đăng nhập

3.3.3.2 Biểu đồ phản rã use case thể hiện chức năng Đăng xuất ¬ 3.3.3.3 Biểu đỗ phân rã use case thé hién chite ning Quan ly bang tin

3.3.3.4 Hiểu để phản rã use case thể hiện chức năng Quản lý băng lương,

3.3.3.5 Biểu đỗ phân rã e thế hiện chức nẵng Tìm kiểm cản bộ

3.3.3.6 Biểu dé phan ra use case thé hién chức năng Xem thông tin cán bộ

3.3.3.7 Big đồ phân rã uee case thẻ hiện chức nẵng Iuiên lạc nhanh

3.4 Thiết kế cơ sở đữ liệu

3.4.1 Thiết kế cơ sở đữ liệu bảng Accouit neo

3.4.2 Thiết kế cơ sở đữ liệu bang Employee

3.4.3 Thiết kế cơ sở dữ liệu báng Hmployee_News

3.4.4 Thiết kế cơ sở đữ hiệu bảng News

3.4.5 Thiết kế cơ sở đữ liệu bảng Salary TH H122 t1 1E

Trang 6

3.4.6 Thiết kế cơ sở đữ liệu bảng Cat Salary

3.5 Thiết kế giao điêu

3.5.6 Màn hình Xem thông tin cán bộ

3.6 Đảnh giá mức độ phủ hợp khi sử dụng Phoncgap để phát triển img dung

CHƯƠNG 4 KT LUẬN VÀ HƯỚNG PHÁ? TRIN, ccoooo5ccccccreieee

4.1 Kết quả, đánh giá chương Irình phan mém

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

'TẢI LIỆU THAM KHẢO HH HH.” HH HH HH ng ngư

Trang 7

DANH SÁCTI TÌNH VẼ,

Hinh I- 1 Téng quan vé Mobile Application

"Hình T- 2 Sự khách nhan về phương thức giao tiệp

Link 1- 3 Sự phân mảnh phát triển song song với số lượng bệ điều hành

Hình ï - 4 Su gia tăng nguôn nhân lực cho các nên tảng phải triển

Vinh 7 - 5 Phát triển tng dựng riêng biệt trên ede nan tang

Hình 1Ï - 1 Kiên trúc bên trong 1 ứng đụng Phonegap

Tình 1Ï - 2 Cách thức 1 ứng dụng Phoncgap tương tác với thiết bị

Hinh Ul - 1 Yéng quan ứng dung

dé phan ra chive nang

Hinh Ul - 4 Bibu dé Use Case tong quat

Hinh HI - 5 Biéu dé Use case chức năng Đăng nhập

Hinh Ul - 6 Bibu dé Use case chite ning Dang xudt

Hinh Ul-? Biéu dé Use cave chibe năng Quản lý bằng tìm

Vinh Tif - 8 Biéu dé Use case chive ning Quan ly bang heang

Hinh Ul - 9 Bib dé Use case chite ning Tim kiểm can bộ

Hinh TIF - 10 Bidu dé Use case chite ning Xem thong in edn bd

Vinh TT - 11 Bidu db Use case chive néng Liên lạc nhanh

Trang 8

Hình TT - 19 Mùa hình Danh sich can bộ

Hình 1H - 20 Màn hình thẳng tìm cản bộ

Tình TH - 21 Min hành danh sách câu bộ dưới quyền

Trang 9

DANTI SACTI BANG

Bang 1 Phân mảnh theo tình nẵng

Bang 2 Bang so sinh cic dang img dung Mobile

Bang 3 Bang so sinh cdc dang ting dung Mobile

Bảng 4 Bảng các hàm 4PIs được hỗ trợ cho rừng nên tảng trong Phonagap

Bảng 5 Bảng đặc tá chức nẵng cũa chương trình

Bảng 6 Thiết kế cơ sở đữ liêu bằng Accourd

Bảng 7 Thiết kế ca sẻ: Äữ liệu bằng Tìmplayee

"Bảng 8 Thiết ké cor sé: dit liệu bằng Emplayee News

Bảng 9 Thiết kế cơ sở đữ liêu bằng Neue

Bang 10 Thiét ké ea «6 dit lidu bang Salary

Báng 11 Thiết kế cơ sở đữ liêu bang Cat Salary

Trang 10

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 bay 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ị đi độ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 đã dang và sẽ rỡ [hà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 hap đần từ chiếc Smartphone chính là hệ điều hành và các ứng đụng mà chúng dang

chay

Hiện lại, các ứng dụng dành cho thiết bị đi động dang bị phần mãnh rất lớn do các hãng công nghệ lớn cạnh tranh, ganh dua nhau tạo ra các nên táng hệ điều hanh di động,

cia riéng minh: IOS Android, Window Phone, BlackBerry, webOS,

iramework ngôn ngữ lập trinh lần lượt ra dời với mục dích “viết một lần, có thẻ chạy

Trong hiện vẫn này, lôi sẽ tập trung phủ yếu vào việc tim hiểu Phonegrp, và xây

dựng mộ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ảng Smartphane khảo nhan

Trang 11

CHƯƠNG 1 MỞ ĐẦU

1.1 Giới thiệu

Điện thoại thông minh hay edn goi là smartphone thực sự dã mang đến một cuộc

cá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 nữư hiên nay Như cầu sử dụng thiết bị đi động đã trở nên rất phế biến khô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àm thay dé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 liện giao tiếp và làm việc chủ yêu của con 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ều hà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ã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 đi động của riêng minh Do do co nhigéu framework ng6n ngữ lập trình ra dời, với ruục dích “viết một lần, biên địch qua cloud va chay khắp nơi — tương thích với hau hết các nên tảng hệ

điều hành đi động hiện tại”, cững có nghĩa là những famework này là những ngén ngit lap trình độc lập trên mobile,

Phonegap chỉnh là một Irong những emework phố biển nhất đáp ứng được mục

dich đó Nó là công cụ phát triển ủng dụng cho cá iOS, Android, Window Phone, BlackBerry, webOS, Bada, Symbian cing lic Vide ra doi cia cdc Ñramework này rủi

chung va của Phoncgap nói riêng đã nhận được sự đóng góp của rất nhiều tỏ chức va 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 tang

di động thi 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 Nimg

giờ đây, với nự hỗ trợ đấc lực của Phoncgan, cóc lập trình viên a nắm bắt và chuyên

sâu về một công nghệ đuy nhất, đó là công nghệ nén Web(bao gdm ITTMLS, Javascript, C853, Jquery Mobile

YW

Trang 12

Nội đung dé tai: “Framework phát triển ứng đựng di động trên đa nên tăng” sẽ néu

Tên thực trạng phân mảnh của ứng dụng đi động hiện tại sau đó đưa ra giải pháp sử dung

Phonegap, các công nghệ nên Web liên quan dễ giải quyết vẫn dễ, ngoái ra còn xây dựng mỗi chương trình phan mềm ứng đụng sử dang Phonegap, TqueryMoible có thể chạy trên các nên tảng di dòng khác nhau

Nội đụng Luan văn nay gdm 4 chương,

Chương 1 — Mở đầu: Nêu thực trạng, các khó khăn hiện tại, đặt ra bài toán công, nghệ

cầu giải quyết

Chương 2— Cơ sở lý thuyết: So sảnh đánh giá một số framework phát triển đa nên tầng Giới thiêu vẻ Phoncgap và những công nghẻ, cơ sở lý thuyết dược áp dung dễ xây dựng

chương trinh

Chương 3 — Xây dựng chương tinh: ‘Trinh bảy mô hình vả quy trình phát triển ang

dung đa nên tảng, phân tích thiết kế và xây dựng, kiểm thử chương trình phân mêm sử

dung framework Phonegap va JqueryMobile

Chương 4— Kết luận và hướng phát triển: Tóm hược những kết quả của Luân văn, những đạt dược và hạn chế, triển vọng và hướng phát triển ong tương lai

Che đến hiện nay, trên thị trường có rât nhiều nên tảng điện thoại thông minh như:

Android, iPhone, BlackBerry, Nokia, Windows Phone, va WebOS, Gắn dây với sự ra mắt

của các nên tầng mới hơn như Samsung I3ada và Meego, cũng đang có xu hướng phát triển mạnh và ngày càng co thé trên thị trường Với một số lượng lớn các tiên tăng điện thoại thông mình như vậy, đã tác động dang ké va déi hỏi quan điểm vững chắc của các nhà phát triển ứng dụng trên đi động,

'Trong năm 2000, chúng ta đã từng biết một hiện tượng tương tự trong thể giới máy tinh dé ban (Desktop), voi su co mặt cửa các nên tầng như Windows (Microsoft), Mac (Apple) cing nhiều phiên ban khée nhau cia Linux va UNIX Vao thời điểm đó, rất khỏ đề xây dựng một sản phẩm mà có thể chạy trên moi nén tang Kết quả hướng giải

12

Trang 13

quyết được thục hiện trong nội bộ bằng cách xây dime cdc Framework C1! va tích hợp

in ca mé-dim, Bi cùng với đó, Sun đã xây dựng một nên lãng chưng (Java Phatfomn) và

vân dễ dã dần dược lắm nhẹ di,

Từ những năm 2004 đến năm 2008, cộng đông các nhả phát triển đã nhìn thấy một loại phân mánh khảo đang diễn ra trong thể giới tỉnh duyệt Vá dễ dàng nhìn thấy hơn ở

đây đó là giữa Internet Explorer 6 với Firefox và Safari Sau đó, cùng với sự ra đời của

Chrome va các trình duyệt khác thì sự phân mánh nảy ngảy cảng điển ra mạnh, cụ thể

hơm nữa Dân chất của sự phân mảnh này chủ yêu là đo một số trình đuyệt không tuân thủ

theo một số thông số kỹ thuật được đặt sẵn của W3C (World Wide Web Consorliim}) Và

vi vậy, điều náy không quá khỏ để giái quyết Rất nhiều thư viện JavaScript đã giúp và

giải thoát tình trạng Cross-Browser trên

Sự phân mánh trong thé giới điện thoại thông minh Mobile OS lai phic tap hon, bởi vì không có một đặc điểm kỹ thuật hay một chuẩn nhật định nào trong lĩnh vực phát triển nảy Năm 2007, Apple va Google déu tung ra những nên tảng di dong của thế hệ điện thoại thông minh Và cho đến năm 2008 thì cả hai công ty nay déu cá thị trường phát triển riêng với số lượng người đùng tăng đần theo cap sé mii

Các nhà phát triển ứng dung di đồng nhanh chóng tiếp cận với các nên tảng mới và

xây dựng lợi thững ứng dụng lương tự trên iPhone, Android, BlaokBeny, WebOS, Symbia và giờ đây lại phải thêm Samsung Dada, Window Phone vào danh sách này Sự

thách thức cũng được lâm rõ như khi chúng phát triểu ứng dụng cho iPhone thì cần Mac, cho BlackBerry thi lại cần Windows

Trang 14

1.2 Những thách thức trước khi phát triển ứng dụng đa nền tảng ra đời

Hinh I~ 1 Téng quan vé Mobile Application

Điều đầu tiên cần lưu ÿ mobile applieation không phải là web application Sự khác biệt được thê hiện trong cả bản chất vả các tính năng được cung cấp

Cách người dùng tương tác với web applieation va mobile application cũng hoàn toàn khác nhau Người dùng tương tác với điện thoại thông mình thông qua mãn hình

cảm ửng sinh động hơn và với nhiều phương thức khác

Hình 1- 2 Sự khách nhan về phương thite giao tiếp

Sự khác biệt đỏ còn thể hiện ở trong việc nhân dạng vị trí thiết bị khả năng Push Notification (thong bio)

Trong khi phat trien img dung di dong đang là xu hướng hiện nay, với số lượng ngay cảng tăng của các hệ điều hành (OS) di động, có rất nhiều thách thức liên quan đến việc phát triển các ứng dụng di động

14

Trang 15

Sự phân mảnh của các nền tảng hệ điều hành: Xu hướng phân mảnh với số lượng ngay cảng tăng của các nên tảng di động Đầu tiên, đỏ là BlackBerry vả điện thoại thông minh Symbian, sau đó đền sự phát triển mạnh mẽ của iPhone, Android Chắc chắn rằng, nên tảng đi động không đừng lại ở đó khi HP đến với WebOS, Microsoft đã giới thiệu Windows Phone, va gid day, lại đến Samsung với Bada

( windows bees ) | HH khác |

(ios ì | ham ì [ mm |

Hình 1- 3 Sự phân mảnh phát triển song song với sổ lương hệ điều hành

Tiéu hao nguồn nhân lực: Nếu chúng ta chọn việc xây dựng một ứng dụng di động trên từng nen tang thi chúng ta phải đối mat voi nhieu van đề nan giải Cân một số lượng đội (Team) phát triển ứng dụng tương ứng với mỗi nẻn tảng di đông đó, đi kèm với đó sẽ là các mức chủ phí, người quản lý (Team Leader) với nhiều rủi ro có thẻ xãy ra

ec¢eeéee€ €

| Mỗi hệ điều hành phải có 1 đội phát triển |

Hình 1 - 4 Sự gia tăng nguồn nhân lực cho các nên tảng phát triển

Yêu cầu về kinh nghiệm với một nền tảng di động nhất định: Sự đòi hỏi kinh nghiệm chuyên môn của một nhả phát triển ứng dụng đi động là điểu bắt buộc Điều đó đảm bảo

xnức độ chuyên nghiệp trong việc xây dựng ứng dụng di động ở một nén tang nao do

15

Trang 16

( iOS | ( nao | |pmaeem ) | wee | HoH ene >

Hinh I- 5 Phát triển tỉng dụng riêng biệt trên các nền tảng

Sự phân mảnh theo tính năng: Khả năng phân mảnh theo tính năng của các mobile

applieation cũng xãy ra cao, khi khả năng đáp ứng các chức năng cơ bản của hệ điều

Bang 1 Phan manh theo tinh nang

Phân mảnh trong môi trường phát triển ứng dụng: Môi trường phát triển ứng dụng là

một trong những phân mảnh quan trọng Chúng ta phải càn ít nhất hai hệ điều hành Windows và Mac đề phát triển ứng dụng cho các nêu tảng sau đây

o 10S

Trang 17

Symbian ‘Windows/Mac/Linux Carbide, C++ CH

WebOS ‘Windows/Mac/Linux | EclipseWebOSplugin | HTML/IavaScrip/C++

‘Windows Phone Windows Visual Studio CH, NET, Silveriieht

Trang 18

CHƯƠNG 2 CƠ SỞ LÝ THUYẾT

2.1 Phân loại các ứng dụng di động

Trước tiền ta tìm hiểu các loại ứng dụng di động Ngày nay, lĩnh vực phát triển ủng dụng di động tổn tại ba khải niệm la: Native Application, Web Application va

Hybird Application,

Native Application: La nhing img dung được xây đựng theo cách chính thông

lập trình, rên tăng đo các nhà sam xual di động quy định (ví dụ:

với các ngôn nữ

Objective-C cho iOS, lava cho Android, NET cho Windows Phone, }

* Uu dim ciia Native Application la nha phat 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ư bệ thống tập tín, camera, microphone, cảm biển gia tốc Ì

+ 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

Web Application: Lả các ứng dụng được xây dựng trên nên tang web (m điển

hình là HTML5), chỉ hoạt động trên trình đuyệt của điện thoại Tiển thân của ý tưởng này

là những trang web có giao diệu tủy biến cao, chạy được trên nhiều độ phân giải mắn

hình, về sau phát triển mạnh và hình thành nên một hướng di mới cho việc phát triển img

Trang 19

va web application giao tiep voi native application thong qua mét cau noi (bridge) dé

mang Jai site manh cua native application cho web application

Sau dây là bảng so sảnh đánh giá ba loại ứng dụng di động trên

ree Khả'chuyện còn ing Cao Cao Không có

lung

Hiệu năng xử lý Nhanh Coed eens tem Rit h

hiện nay như Vnexpress, Dantri v.v déu la những ứng dụng lai Nhìn vào bảng so sánh

trên, ta có thẻ thấy ứng đụng Hybrid lả lựa chọn đề giải quyết vẫn đề phân mảnh của các

đứng dụng di đông hiện nay

2.2 So sánh các Framework phát triển di động đa nền tảng

Hiện nay trên thị trường có kha nhieu framework phat trien di déng đa nén tang, trong do ba framework phé bién hon ca la Xamarin, Appcelerator Titanium va Phonegap

19

Trang 20

Dé lua chon duce framework phù hợp, sau đây ta sé đánh giá ưu nhược điểm của từng

lramework trên

2.2.1 Xamarin Tools

Xamarin là công cụ về cơ bản sẽ cho phép phát triển các ứng dụng Android hoặc

iOS bằng ngôn ngĩt C# và có thế chia sẽ rất nhiều phân code giữa các mg dụng với nhau

Xamarin cho cung cấp bộ công cụ cho phép người dùng sử dụng một lớp trừu

tượng phía trên các ADT của các thiết bị iOS, Android và Windows Thone Lớp bửu

tượng nảy có thể truy cập vào tài nguyễn của thiết bị, nhờ dé Xamarin có thể xây dựng

một ứng dụng native hoàn toàn cũng với giao điện người dùng native trên mỗi nên táng,

Nhưng điều này cũng có nghĩa là ta sẽ bị giới hạn tới một nức độ nào đó việc chia

sẻ code giữa các nên tăng này Điển hình là khi phát triển một ứng dung sir dung céng cu

ay dụng một phần lõi của ửng dụng má code của nỏ có

của Xamarin, lập trình viên

thể chia sẻ giữa hai nên tảng iOS và Android, và thậm chí là cả phiên bản trên Windows

Thone của ứng dụng cũng dựa trên thư viện lõi này Với hướng tiếp sân này thì đội ng lập trình viên có khả năng sử dụng lại khoảng từ 60-70% codc của ủng dụng mà không,

phải vất và

Ngoài ra để có thể tiến xa hơn bằng cách tự phát triển các lớp trừu tượng,

(abstractions) của riêng minh sử đựng một kiên trúc kiểu nhnt MVC hay MVVM, với

hướng tiếp cận này, dĩ nhiên là sẽ khó hơn một chút để bắt dẫu nhưng có thể sử dụng,

được lại nhiều code hơn, có lẽ lên đến khoáng 80-90%

Nều đánh giả về công cụ Khi các dông cụ oủa Xamarm có thê nói là rãi tuyệt với

Xamarin cũng có môi IDE của riêng nó gọi là Xamarin Studio, IDE này thì đa nên ting,

nó được thiết tốt và đề đảng sử dụng Công cụ Xamarim này cũng có một pÌupm

cho Visual Studio, nó sẽ cho phép phát triển ứng dụng da nên tảng trong, Visual Studio Plugin nay thậm chí cho phép phát triển một ứng dung iOS ty Visual Studio, nhưng sẽ

Trang 21

cân một máy Mac để thực hiện công việc build ứng đang, (Công oụ này sử dựng một

triệu gợi từ xa tới máy Mac để thực hiện công việc buikd đỏ }

Mặc đủ có những trụ điểm như trên, tuy nhiên Xamarin cũng có những nhược

điểm Thứ nhất Xamarin là framework thu phí, và đẻ sử dụng dây đủ tính năng của

framework doanh nghiệp sẽ phái bó ra một khoán chỉ phí không hẻ nhỏ Một nhược điểm nữa của Xamarin là hiện tại framework nay chưa hễ trợ nhiều nên tảng mà chỉ đứng lại ở

iOS, Android và Windows Phone,

2.2.2 Appeclerator Titanium

TTianium là công cụ cho phép lập trình viên viết tất cả code của rainh dựa trên

SDK của nhà sẵn xuất bao gồm các thành phần giao điện UT Điều mày có nghĩa là khi viết một ứng dụng Titanium đồng nghĩa với việc ta đang viết một giao diện người dùng

đã nên tảng,

Các ứng dụng Appcelerator Titanium được biên địch thành các ứng dụng góc hoàn toàn và sử đụng những conrol gốc thực sự trên nên tảng đó.Ví du, trong Titanium vide

lập trình khai báo một buton và layout xác dịnh cũng như một số thuộc tính cho button

đó, khi ta biên dịch ứng dụng, thì button nảy sẽ xuất hiện như là một button gốc của Android khi chạy trên thiết bị Android và nhú là một buton gốc của iOS khi nó chạy Irên

iOS Điều nảy cỏ nghĩa lả ta có thể xảy dựng một ứng dụng da nên tảng, hoàn chỉnh bao gồm giao diện gốc với 100% code được sử dụng lại và thực hiện nó trong JavaScript Tuy nhiên, các hệ điều hành có nhiều thành phản UI và mỏ bình tương tác là da nền tảng vẫn tổn tại nhiều phần không giếng nhau Vi dụ, trong ¡O5 cỏ một control rit ly tudng là Navigation Controller, nó sẽ lưu vết các sereen nào mà người đùng đã lướt qua và cho

phép ho quay trở lại một cách dé dang; trong Android thi không cỏ control như vậy Mặc

dé Titanium cũng hã trợ các cantrol theo nên tảng xác định, nhưng điêu này có nghĩa là

lập trình viên phải viết thêm một vài đoạn code điều kiện dựa trên niên tằng cu the.

Trang 22

Như vậy, mặc đủ đội ngũ lập trình có thể lập trinh với mau sé chung nhỏ nhật giữa

các nền tầng và thư được một ứng dụng đa nên lắng đây đủ và bộ souree code có thể sử dụng lại nhưng việc sử dụng các control trong, Titanhun hơi phức tạp vả việc phát triển, bảo đưỡng trở nên vat va hon

2.2.3 Phonegap

PhoneGap về cơ bin la mat tp ede ham JavaScrip APT, nó cho phép ứng đựng có thể truy cập những tài nguyên gốc trong thiết bị đi động Nó cũng là một wrapper và cho phép xây dựng một ứng dựng web được cài đặt cục bộ trên thiết bị

Khi xây dựng một ứng dụng sử dụng PhoneGap, về cơ bán là đang xây dụng một trang web di động sử dụng HTMILS và IavaScript, cũng giống rửnz việc xây dựng những trang web khác hiện nay, sau đó đặt mã HTML vả JavaScript đỏ trên thiết bị dị động Các

tứmg dụng PhoneGap chạy trên trình duyệt cục hộ trên điên thoại và có một số cơ chê để

triệu gọi vào các thư viện gốc thông qua các giao diện lập trình ứng dụng JavaScript API

Tiêu này có nghĩa là nêu ta đang phát triển một ứng dụng PhoneGap, thì ta có thể phát triển nó giồng như một trang web đi động đa nên tâng và cé thé sir dung bat ky mobile

framework nao ma ta mudn, nhu Sencha Touch, hede JQuery Mobile, v.v Vì tắt cả code

trong imp dung la HTML va JavaScript nén phân lớn sẽ có thé chia sé được Công cụ để

phát triển PhoncGap rất để dàng để xây dựng lập trình viên có thể xây dựng môi trường

trên nhiều hệ diều hành khác nhau, day là một ưu điểm của Phonegap Phonegap cũng cũng cấp các Phigïn cho nhiều TDE vì vậy lập trình viên sẽ không mắt thời gian làm quen với các IDE mới Một tra điểm nữa của PhoncGap là cho phép triển khai dự ân vào bắt cứ môi trưởng nảo khác môi trường đang phát triển, và có thể build một cách tự động cho

những nên tảng khác

Như vậy, mặc dù Phonegap cũng có những hạn chế, nhưng so với cdc framework

khác thì Phonegap là lựa chọn phú hợp nhất Doanh nghiệp sẽ không phải trã phí, đội ngữ

phát triển sẽ dễ dàng tiếp cận với việc phát triển ứng dụng di động bởi yêu cầu vẻ công nghệ chỉ là những ngôn ngữ phổ biển như HTML, Javaseript

22

Trang 23

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

2.2.1 Phonegap là gì?

Phoncgap là một nễn tầng (ramework) mã nguồn mở đảng đẻ phát triển ứng dụng

mobile (native Applicatiens) cho cả iOS, Android, Windows Phone, Ilacklerry, webOS, Bada va Symbian cũng lúc, viết một lần, biển dich qua cloud và chạy trên nhiều nên tang smartphone khác nhau Đây là một đự án mã nguồn mở miễn phí của Nitebi giúp việc

phát triển img dung đi động dé đàng hơn đối với mọi hệ điêu hành Cho phép nhà phát triển sử đựng HTML, Ơ8S và JavaseripL để việt và triển khai ứng dụng Kiéu img dung

mobile dang nảy dược goi là hybrid application (ứng dụng lai)

2.1.3 Dô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 img dung dé đàng hơn đổi với mọi hệ điển hành Phát tr âu tiên tại môi sự kiện iPhonel2evCamp ở San lrancisco, Phonegap tiếp tục giảnh chiến thẳng giải thưởng

Choice Award tại O"Reilly Media 2008 ở hội nghị Web 2.0 tháng 4 năm 2009 Điểu đó

đã ruở ra hướng đi mới cho cde ha phat trién ứng dụng web Kế (ù do có hơn 600,000 lượt tải về và hang ngan ứng dụng được phát triển dựa trên Phonegap Apple đã xác nhận

rằng Framework 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ười trong những tổ chức lớn như TBM, RIM và MierosolL Phonegap cũng khẳng dink ring: 1lọ có một cộng đồng phát triển hấp đẫn, hoạt động mớ, minh bạch vả hợp tảo

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

di động đành cho khách hàng của họ Adobe chính thức công bố việc mua lại của Nitabi Sofware — nha phat tién ban dâu, vào tháng 10 năm 2011 Từ đỏ các mã Phonceap dã

được sử dụng cho Apache Software loundation dé bat đầu một dự án mới gọi là Apache

Cordova

23

Trang 24

Ở các phiên ban Phanegap vẻ trước, luôn bắt buộc các nhà lập trình khi tạo ra cáo ứng dung iOS thì cân phôi có Ì máy tính chạy trên hệ điều hành Mac cửa Apple, hay nhà lập

trì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 âm 2012, thì địch vụ “Phonsgap Build” đã được ra mắt và cho phé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ại

smartphone khác nhau

2.1.4 Tại sao lại sứ đụng Phunegap?

Nếu là một lập trình viên hay những người lảm việc trong lĩnh vue tin học chắc hắn còn nhớ đến thuật ngữ: “Write one, rưn any where” xuất hiện và trở thành một con

sốt vào ngày 23/05/1995 Ngày mả công ty máy tính Sun Microsystemas đã 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

trong việc chuyến đối các ứng dụng việt trên các hệ điều hanh OS va các hệ xử lý CPU

khác nhau Do vậy, người lập trình chỉ cần viết ứng dụng bằng Java ding một lần, sau dó

cổ thể sử dụng ứng dụng nảy trên các hệ diéu hảnh khác nhau như Windows XP,

WimdowsNT, Mac OS, Dnöx, 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 va day liéu chi “Wrile one, run any Where” 1én mdt tam cao moi

Những ưu điểm khi sử dựng Phonegap

® Phonecgap cho phén chúng la “wrile onee, run everywhere” (vidl mt lan nhung

chạy trên mọi thiết bị)

«_ Chỉ cân có kiến thức về HTMIL5, C883, Javascript là có thể làm dược

» Ta có được các file cài đất trên mỗi rên tảng khác nhau thông qua các application

stores (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, )

Trang 25

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

©- Khó hoạt động trên các mobile browser cũ không hồ trợ javascript va toc dé cham

«_ 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ác

tiê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ân giả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 vi trên

android 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át triển ứng dụng trên Android hoặc iPhone thì hầu hết các tính năng đều có thể áp dụ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à mot framework đang có đả phát triên rất tốt và chúng ta không nên lo lắng vi Phonegap luôn cập nhật nhưng phiên bản mới để khắc phục nhưng hạn chế của nó

Sau day ta sé tim hiéu cách thức Phonegap hoạt động và các APIs mả nỏ hỗ trợ

Trang 26

Trong phạm vi của ứng đựng native appHoation, thì giao diện làm việc oủa ứng

dựng về bản chất bao gầm duy nhất mội mèn hình và nó cũng giống như mội khung nhân

web view 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

chay thi nf sẽ tải trang page khởi tạo của ứng địng (hông thường là bang index.huml

nhưng lập trình viên có thể dé dang thay dỗi thành trang khác) vào trong khung nhìn web view va sau đỏ chuyển điêu khiển toi web view để cho phép người dùng tương táo với

ứng dụng web apphoation Khi người đùng Lương tác với nội dung (content) của tg

dụng, thì các liên kết links bay các mã JavaScript trong phạm vi ửng dụng đỏ co thể tải các nội dưng khác từ các BÌes tải nguyên được đóng gói trong ứng đụng nay, hay có thể

truy cập thông qua mạng nelwrrk va (ai cáo nội dụng cortenl từ miột website hay từ miột

server VỀ,

Đối với một vài nền wing mobile nhu bada, Symbian hay webOS thi tmg dung native application vẻ bản chất chính la 1 ung dung web application

Định nghĩa về web view

} web view là Ì thành phần của img dung native application ma die sir dung dé

biểu diễn nội dung web conlent (théng thudng 1d cdc trang LITML) trong pham vi I cita

sẽ hay 1 màn hình của ứng dụng native application Vé ban chat thi nd giéng nine 1 thành phân cá khá năng tiếp cận theo hướng lập trình, được dô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 chay trong phạm vi Ì webview cũng giống như bất kì

những ứng dụng web applicaticn khác mnà chúng được chạy bên trong 1 trình đuyệt web

của mobile Nó có thể mở các trang HTMI, khác (theo cả 2 cách: 1 cach dia phương trực

tiếp trê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 đụng chịu trách nhiệm thực thì xử lý các điều kiện logic, ăn hiện

nội đụng content néu can, choi cdc media files, mG ede trang pages méi, thu thi céc tinh toán, và nhận về nội dung content từ sever hay gửi nội dung contem tới server Giao điện của ứng đựng được tạo thành từ HTMI và CSS

26

Trang 27

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

thanh phản sâ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

ứng dụ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

phan bên trong 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 cap ra 1 bộ các hàm JavaScript APIs, cho phép các nhà phát triển phan mềm có thể sử dụng đề tạo nên ứng dụng web application

chạy trong môi trường ứng dụng của Phonegap có khả năng truy cập vào các thành phan

của thiết bị vượt quá 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 ] ứng dụng mà nó có sử dụng Ì trong

các hảm Phonegap APIs, thì ứng dụng gọi tới API bằng cach str dung Javascript va sau

đó 1 lớp layer đặc biệt trong ứng dụng sẽ dịch hàm Phonegap API này, để gọi tới hàm native API thich hop 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 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

Trang 28

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

Phonegap cung cap hé thé

có thể sử dụng thông qua giao diện được viết bằng Tavaseript

iOS | Android | BlaekBeny | Webos | V993 | symbian | ada

Bang 4 Bang cae ham AP Is direc ho tro cho timg nen tang trong Phonegap

Lm việc với Contacts (đanh bạ điện thoại): Danh bạ là một tỉnh năng dap ứng trên

tắt cả các đông điện thoại, không chỉ riêng smartphone Với Phonegap, chúng ta có thẻ dễ đảng sử dụng những tính năng có sẵn trong danh bạ điện thoại như dưới đây

Tạo một liên hệ (contact) mới, sử dụng phương thức create()

Lưu một liên hệ, sử dụng phương thúc save()

Tim một liên hé, str dụng phương thức find()

Sao chép một liên hệ, sử dụng phương thức elone()

Xóa một liên hệ với phương thức remove()

Chẳng hạn, de tạo một tải khoản mới, chúng ta phải thông qua một đổi tượng

JavaScript Object Notation (JSON) la contacts.create(), đối tượng nảy chỉ được lưu trữ

28

Luận văn framework phát triển Ứng dụng di Động Đa nền tảng (2025)
Top Articles
Latest Posts
Recommended Articles
Article information

Author: Ray Christiansen

Last Updated:

Views: 6124

Rating: 4.9 / 5 (49 voted)

Reviews: 88% of readers found this page helpful

Author information

Name: Ray Christiansen

Birthday: 1998-05-04

Address: Apt. 814 34339 Sauer Islands, Hirtheville, GA 02446-8771

Phone: +337636892828

Job: Lead Hospitality Designer

Hobby: Urban exploration, Tai chi, Lockpicking, Fashion, Gunsmithing, Pottery, Geocaching

Introduction: My name is Ray Christiansen, I am a fair, good, cute, gentle, vast, glamorous, excited person who loves writing and wants to share my knowledge and understanding with you.