HỌC VIỆN CƠNG NGHỆ BƯU CHÍNH VIỄN THƠNG
---------------------------------------
TRẦN THỊ THÙY CHÂU
TÊN ĐỀ TÀI: MÔI TRƯỜNG PHÁT TRIỂN ỨNG DỤNG
TELEPHONY CHO THIẾT BỊ DI ĐỘNG BẰNG HTML5 VÀ TIZEN
Chuyên ngành: Truyền dữ liệu và mạng máy tính
Mã số: 60.48.15
TĨM TẮT LUẬN VĂN THẠC SĨ
HÀ NỘI - 2012
Luận văn được hồn thành tại:
HỌC VIỆN CƠNG NGHỆ BƯU CHÍNH VIỄN THƠNG
Người hướng dẫn khoa học: TS. HỒNG LÊ MINH
Phản biện 1:
……………………………………………………………
Phản biện 2:
..…………………………………………………………..
Luận văn sẽ được bảo vệ trước Hội đồng chấm luận văn thạc sĩ
tại Học viện Cơng nghệ Bưu chính Viễn thơng
Vào lúc:
....... giờ ....... ngày ....... tháng ....... .. năm
...............
Có thể tìm hiểu luận văn tại:
- Thư viện của Học viện Cơng nghệ Bưu chính Viễn thông
1
MỞ ĐẦU
Hiện nay, các ứng dụng trên thiết bị di động đang ở
thời kỳ bùng nổ để đáp ứng nhu cầu cập nhật thơng tin
tồn cầu, mọi lúc mọi nơi, nhanh chóng, thuận tiện. Các
thế hệ smartphone ngày càng được ưa chuộng, nhưng khó
được ứng dụng rộng rãi khi các hệ điều hành của nó địi
hỏi bản quyền, phức tạp.
Thật khó để theo dõi khi mà các nền tảng di động
của thế giới luôn thay đổi trong vài năm qua và gần đây
nổi lên một hệ điều hành rất được ưa chuộng trên các loại
smartphone - Android. Nhưng Android vốn lộn xộn về
bản quyền, thứ đã tiêu tốn tiền của Samsung cũng như
những hãng đang dùng nền tảng này của Google. Kể từ
khi xuất hiện lần đầu tiên trong năm 2009, Bada của
Samsung đã chiếm khoảng 2% thị trường điện thoại thơng
minh tồn cầu, vượt qua cả Windows Phone của Microsoft.
Những ấn tượng về Bada nhìn chung là tích cực. Mặc dù
vẫn còn nhỏ so với Android và iOS, nhưng dù sao thì đó
cũng là con số đáng kể trên thị trường. Nhưng các hệ điều
hành này lại vướng phải vấn đề bản quyền, phức tạp. Vì
2
thế các nhà kinh doanh di động đã nghĩ tới một môi
trường phát triển ứng dụng đa nền dựa trên ngơn ngữ lập
trình HTML5 và hệ điều hành hỗ trợ trực tiếp HTLM5
(như TIZEN của Intel và Samsung) nhằm giảm bớt áp lực
bản quyền và tăng tốc độ của các ứng dụng. Đề tài này
nghiên cứu về môi trường và hệ điều hành có thể đáp ứng
được những nhu cầu cấp thiết đó.
Trong khi đó, Tizen là một hệ điều hành mới xuất
hiện, được hậu thuẫn bởi Intel và nhấn mạnh khả năng hỗ
trợ HTML5 giúp thiết bị tải trang rất nhanh và ổn định.
Tizen là một hệ điều hành mở dựa trên nhân Linux và là
dự án thuộc Linux Foundation vì thế khơng vướng phải
vấn đề bản quyền nhiều như Android.
Tizen 1.0 Larkspur ra mắt hướng đến thiết bị di
động thế hệ mới, cung cấp thêm một chọn lựa cho các nhà
sản xuất thiết bị di động vốn đang loay hoay với Google
Android. Trong tương lai, Tizen sẽ không chỉ dành cho
các thiết bị di động như smartphone hay tablet mà cịn có
mặt trên Smart TV, các thiết bị điện tử trên xe hơi, máy
tính xách tay hoặc các thiết bị nhúng.
3
Chương 1: TỔNG QUAN: KHÁI QUÁT VỀ MÔI
TRƯỜNG PHÁT TRIỂN ỨNG DỤNG DI ĐỘNG.
1.1.
Giới thiệu về hệ điều hành di động và ứng dụng.
Hệ điều hành di động tương tự như hệ điều hành trên
máy tính. Nó là một chương trình quản lý tài nguyên của
di động, cung cấp nền tảng cho các chương trình ứng dụng
và đóng vai trị trung gian giao tiếp giữa người dùng di
động và phần cứng của điện thoại đó. Hệ điều hành thiết
lập các tác vụ rất đa dạng. Một vài hệ điều hành thiết kế
tiện dụng trong khi một số khác thiết kế hiệu quả hoặc kết
hợp cả hai.
1.2.
Một số nền tảng phát triển ứng dụng di động
1.2.1. Một số hệ điều hành di động phổ biến
1.2.1.1.
Hệ điều hành iOS
Trong vài năm trở lại đây, có thể nói iPhone cùng với iOS
là những sản phẩm đã và đang thống trị thị trường di động
trên tồn thế giới. Khơng thể phủ nhận tính hiệu quả trong
những chiến lược PR, marketing của Apple thế nhưng lý
do chính vẫn xuất phát từ bản thân hệ điều hành iOS.
Kiến trúc hệ điều hành IOS:
4
1.1.1.2.
Hệ điều hành Android
Android là một hệ điều hành di động dựa trên nền tảng
linux phiên bản 2.6 dành cho các dòng điện thoại
SmartPhone. Đầu tiên được ra đời bởi cơng ty liên hợp
Android, sau đó được Google mua lại và phát triển từ năm
2005 và trở thành một hệ điều hành di động mã nguồn mở,
miễn phí, mạnh mẽ và được ưa chuộng cao trên thế giới.
Hệ điều hành android một hệ điều hành rất mạnh mạnh, có
bảo mật cao, hỗ trợ được nhiều công nghệ tiên tiến như
3G, GPS, EDGE, Wifi.. tương thích với nhiều phần cứng,
hỗ trợ nhiều loại bộ nhập dữ liệu như keyboard, touch và
trackball.
Kiến trúc hệ điều hành android
Hệ điều hành android có 4 tầng từ dưới lên trên là tầng hạt
nhân Linux (Phiên bản 2.6), tầng Tầng Libraries &
Android runtime, Tầng Application Framework và trên
cùng là tầng Application.
5
1.1.1.3.
Hệ điều hành Windows Phone
Hệ điều hành dành cho thiết bị di động của Microsoft
đứng sau tới 4 đối thủ khó đánh bại là Symbian,
BlackBerry, Android và Apple nhưng với phiên bản 7 ra
đời, Window Phone đã trở thành một đối thủ cạnh tranh
lớn.
Hình 1.2: Kiến trúc hệ điều hành Windows Phone 7
1.1.2. Hệ điều hành Tizen
6
Tizen là một hệ điều hành nguồn mở dựa trên nền
tảng Linux, kết hợp những thành phần của MeeGo và
Limo với mục tiêu tập trung hỗ trợ các ứng dụng trên nền
HTML5 và WAC (Wholesale Applications Community).
Vừa qua, Tizen Technical Steering Group đã cho ra mắt
bộ SDK (software development kit) và mã nguồn của
phiên bản Tizen thế hệ đầu tiên có tên mã Lankspur. SDK
mới bổ sung một bộ mơ phỏng nền web đồng thời cải tiến
lại bộ giả lập cho hiệu năng cao hơn
Bộ SDK của Tizen 1.0 hỗ trợ cả Windows và Ubuntu
Linux, cấu hình cài đặt yêu cầu tối thiểu chip lõi kép dualcore 2 GHz và 2GB bộ nhớ RAM.
1.3.
So sánh, đánh giá giữa các môi trường phát
triển ứng dụng và ưu nhược điểm của chúng
So sánh hệ điều hành tizen với android và các hệ điều
hành di động khác.
Giống nhau :
7
-
Đều là hệ điều hành di động nên mang đầy
đủ bản chất của hệ điều hành di động nói
chung.
-
Android và Tizen là hệ điều hành mã nguồn
mở, có thể dễ dàng phát triển các ứng dụng.
Trong khi các hệ điều hành khác là nguồn
đóng và có phí (bản quyền) như IOS
(iphone).
-
Android và Tizen được phát triển từ nhân
linux do đó nó có thể chạy tốt trên nhiều
dịng điện thoại khác nhau. Có độ tương
thích cao với các loại phần cứng khác nhau
nhiều hơn
Khác nhau :
-
Điểm đặc biệt của Tizen là tồn bộ các ứng dụng
nịng cốt đều dựa trên cơng nghệ HTML5, giúp các
nhà phát triển dường như không phải code.
-
Ngồi ra, Tizen cũng hỗ trợ tethering, cơng nghệ
NFC giao tiếp tầm ngắn và khá nhiều các dịch vụ
xã hội như đồng bộ danh bạ với tài khoản Google,
8
Twitter, Facebook hay upload nội dung lên các
dịch vụ như Picasa và Youtube.
-
Về trình duyệt trên thiết bị Tizen, trải nghiệm cho
thấy khá mượt mà. Điểm số tương thích HTML5
cũng đạt khá cao, 408 điểm + 15 điểm thưởng, trên
thang đo 500 của “The HTML5 Test”. Bên cạnh đó,
trình duyệt cũng hỗ trợ điều khiển bằng gesture
chuyển qua lại giữa các trang web đang mở. Ngoài
ra Tizen cũng hỗ trợ phát triển trên java và một số
ngôn ngữ khác.
-
Các ứng dụng chạy trên Android được viết bằng
ngôn ngữ java.
-
Trong khi đó, ứng dụng trên các hệ điều hành IOS
chủ yếu là viết bằng C/C++/Object C, hay .Net
(Windows Phone). Symbian có hỗ trợ Java thì cũng
khác so với android, trong khi hệ điều hành android
sử dụng máy ảo Java là Dalvik VM do chính
Google phát triển thì Symbian lại sử dụng máy ảo
Java là J2ME của Sun.
Chương 2: KIẾN TRÚC TIZEN TELEPHONY
9
2.1.
TIZEN là gì
Tizen là một nền tảng kiến trúc mở, mã nguồn mở dựa
trên một chuẩn toàn diện – cơ sở HTML5 đầy đủ.
2.2.
Mơ hình kiến trúc của TIZEN
Kiến trúc của TIZEN bao gồm các thành phần: [8]
-
Linux Kernel
-
Device Drivers
-
Hardware Adaptation Layer
-
Plug-ins
-
OpenGL ES/EGL Graphics Driver
-
DRM based graphics stack
10
Hình 2.1: Kiến trúc hệ điều hành Tizen
2.2.1. Các thành phần chính của Tizen (Tizen Core
Services (Mobile))
−
Application Framework
−
Graphics & Input
−
Các ứng dụng đa phương tiện
−
Location: Tizen cũng cung cấp LBS (Location
Based Services) là dịch vụ định vị toàn cầu, dựa
trên sự định vị của người dùng di động thông
11
qua thiết bị đầu cuối. Nó bao gồm thơng tin vị trí,
mã hóa địa lý, thơng tin truyền hình vệ tinh, và
trạng thái GPS
−
Connectivity – Kết nối
−
Telephony Server
−
PIM (Personal Information Manager)
−
Messaging
−
Security
2.2.2. Bộ phát triển ứng dụng TIZEN SDK
Tizen SDK là một tập hợp tồn diện các cơng cụ để
phát triển ứng dụng Tizen.
Nó bao gồm các thành phần chính như sau:
− IDE: Soạn thảo tương thích cho HTML, CSS,
JavaScript.
− Emulator: bộ giả lập chạy ứng dụng Tizen.
− Web Debugging.
Chương 3: XÂY DỤNG ỨNG DỤNG TRÊN NỀN
TIZEN – HTML5
12
3.1.
Ngôn ngữ HTML5
3.1.1. HTML5 được phát triển từ HTML
HTML5 mang lại cho người dùng trải nghiệm lướt web
hoàn toàn mới, nhanh hơ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ốt hơn
mà không cần phụ thuộc vào bất kỳ một ứng dụng phụ trợ
nào. 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ự do sáng tạo trong việc tạo ra các ứng dụng
thân thiện và hữu ích hơn.
Cũng như HTML5, CSS3 vẫn đang trong giai đoạn
phát triển, nhưng những tính năng của nó đã làm cho
nhiều người phải háo hức. CSS3 cho phép thực hiện một
cách dễ dàng những điều mà trước đây phải tốn rất nhiều
công sức, chẳng hạn như các đường viền (border) với các
góc cạnh được bo trịn, hay thậm chí là xoay đối tượng
theo các hướng khác nhau. HTML5 và CSS3 có nhiều
tiềm năng sẽ trở thành một cặp đôi ăn ý, nhất là khi mà
HTML5 đang đi theo hướng tách biệt giữa nội dung và
13
giao diện. Trách nhiệm trình bày một trang web sẽ từ từ
được nhường lại cho CSS3.
Song song với việc phát triển CSS3 trong HTML5,
DOM trong HTML5 cũng được hoàn thiện với bộ
Selectors API mới đơn giản hơn, cung cấp nhiều phương
thức truy xuất chính xác đến từng phần tử trên trang web
mà khơng cần các vịng lặp phức tạp duyệt qua từng phần
tử như trước. Cộng với việc các trình duyệt hiện đại đã
tăng tốc thực thi JavaScript đáng kể, hơn nữa cịn cung
cấp các cơng cụ debug tiện lợi, việc phát triển ứng dụng
với JavaScript đã trở nên nhẹ nhàng hơn bao giờ hết.
3.1.2. Những thay đổi cơ bản của HTML5
HTML5 cung cấp:
•
Các thẻ mơ tả chính xác những gì chúng được thiết
kế để chứa đựng.
•
Truyền thơng mạng được tăng cường.
•
Lưu trữ chung được cải thiện rất nhiều.
14
•
Các trình làm việc trên nền Web (Web Workers) để
chạy các q trình nền.
•
Giao diện WebSocket để thiết lập kết nối liên tục
giữa các ứng dụng cư trú và máy chủ.
•
Lấy ra dữ liệu đã lưu trữ tốt hơn.
•
Cải thiện tốc độ nạp và lưu trang.
•
Hỗ trợ cho CSS3 để quản lý giao diện người dùng
đồ họa (GUI), có nghĩa là HTML5 có thể được định
hướng nội dung.
•
Cải thiện xử lý biểu mẫu trình duyệt.
•
Một API cơ sở dữ liệu dựa trên-SQL cho phép lưu
trữ cục bộ, phía máy khách..
•
Canvas và video, để thêm đồ họa và video mà
không cần cài đặt các trình cắm thêm của bên thứ ba.
•
Đặc tả Geolocation API (API định vị toàn cầu), sử
dụng khả năng định vị của máy điện thoại thông minh
để kết hợp các dịch vụ và các ứng dụng đám mây di
động.
15
•
Các biểu mẫu cải tiến làm giảm nhu cầu phải tải về
mã JavaScript, cho phép truyền thông hiệu quả hơn
giữa thiết bị di động và máy chủ điện toán đám mây.
Các thẻ mới trong HTML5
HTML5 đã giới thiệu nhiều tag mới để thuận lợi cho
chúng ta trong việc lập trình như: Block, Media và Form.
Thông thường chúng ta sẽ sử dụng DIV của CSS để điều
khiển các block (khối) như: phần header, menu, nội dung
chính, và phần footer.
Các thẻ mới của HTML5 cho việc Block gồm có:
• Header
• Section
• Article
• Aside
• Footer
• Nav
3.1.3. HLTM5 trong Mobile
16
Kiến trúc ứng dụng Mobile HTML5 Enterprise là kiến
trúc ứng dụng dựa trên trình duyệt máy khách.
Client/Server
Ở đây khơng phải chúng ta quay về kiến trúc
client/server, mà sự khác nhau ở bản là ứng dụng
khơng nằm trên máy khách. Trình duyệt và web cung
cấp cách thức chuẩn để triển khai ứng dụng. Ứng dụng
máy khách được cài đặt trên các trạm và được cài đặt
bởi các cách thức không theo chuẩn. Sự kết nối đến
nguồn dữ liệu được cấu hình trên các máy trạm, tăng
tải trọng.
Sự kế thừa của chuẩn web cho phép mở ra việc cài
đặt máy khách được giới thiệu trong một cách thức 3
lớp, nhưng vẫn đạt được những lợi ích của mơ hình
client/server.
Ứng dụng, khơng phải websites
HTML và trình duyệt lúc đầu khơng được định
hướng cho phát triển website. Tuy nhiên, ngay lập tức
nó được thay đổi để hỗ trợ tương tác người dùng, và sự
17
cho phép web rộng rãi giúp nó có nền tảng để gửi
những ứng dụng đang phát triển mạnh, không chỉ phần
mềm ảo. Như đã nói ở trên cơng nghệ cắm trình duyệt
(flex, applet) đáp ứng yêu cầu giao diện người dùng,
nhưng có rất nhiều vấn đề với những phiên bản cắm và
khả năng đồng bộ với phiên bản trình duyệt . Trình
duyệt và HTML chuẩn, chức năng phiên dịch của
Javascript có thể nằm trên máy khách.
3.2.
Phát triển ứng dụng trên nền tảng Tizen
3.2.1. Các bước chuẩn bị
-
Để lập trình với Tizen, bạn phải cài 1 bộ SDK
(software development kit) để có thể phát triển ứng
dụng một cách dễ dàng và mã nguồn của phiên
bản Tizen thế hệ đầu tiên có tên mã Larkspur. Bộ SDK
của Tizen 1.0 hỗ trợ cả Windows và Ubuntu Linux,
cấu hình cài đặt yêu cầu tối thiểu chip lõi kép dualcore 2 GHz và 2GB bộ nhớ RAM.
3.2.2. Ứng dụng Demo
3.2.2.1.
Ứng dụng calculator
18
Ứng dụng calculator trên hệ điều hành Tizen được
viết bằng HTML5 và khi chạy chỉ cần trình duyệt web
trên bộ giả lập Simulator của bộ Tizen SDK
Hình 3.6. Ứng dụng Calculator trên hệ điều hành Tizen
3.2.2.2.
Ứng dụng SMS
Ứng dụng SMS trên hệ điều hành Tizen cho biết làm thế
nào chúng ta có thể xử lý các tin nhắn văn bản và email
trong ứng dụng. Các ứng dụng sẽ mở ra với màn hình
chính Messages, trong đó liệt kê các tin nhắn văn bản
trong hộp tin nhắn (bao gồm cả Hộp thư đến, Hộp thư đi,
Drafts, và Sentbox).
19
Hình 3.7. Ứng dụng SMS trên hệ điều hành Tizen
KẾT LUẬN
1. So sánh kết quả ứng dụng với các hệ điều hành
khác: các ứng dụng trên Tizen tốn ít nguồn tài
nguyên hơn trên các ứng dụng trên các hệ điều
hành như IOS và Android do không phải cài đặt,
chỉ cần chạy trên trình duyệt web có hỗ trợ HTML5.
2. Phát triển các ứng dụng trên nền HTML5, với bộ
mã nguồn mở, dễ dàng hơn cho các nhà phát triển
thỏa sức sáng tạo.
3. Công nghệ mới với hướng mã nguồn mở, khơng
địi hỏi khắt khe về phiên bản và các tính năng linh
20
hoạt, Tizen sẽ tập trung vào các ứng dụng được viết
trên HTML5 và hỗ trợ nhiều thiết bị thông minh
hứa hẹn sẽ mang đến một hướng đi mới cho ngành
kinh doanh và phát triển ứng dụng di dộng.