1. Trang chủ
  2. » Giáo án - Bài giảng

Android Web Wigets

26 247 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 26
Dung lượng 3,74 MB

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

Nội dung

Yet Another Mobile Platform • Pervasive, rich, attractive, mostly open • Enjoys wide industry support • Shipping 60,000 cell phones per day but still competing for market share • Used i

Trang 1

Web Widgets

on Android

MobileMonday Developer Day, Dusseldorf, 23 February 2010

Trang 2

Status Quo: Ecosystem View

• Android is not YAMP! (Yet Another Mobile Platform)

• Pervasive, rich, attractive, (mostly) open

• Enjoys wide industry support

• Shipping 60,000 cell phones per day (but still

competing for market share)

• Used increasingly in non-mobile verticals, such as

smart home

• Paradigm shift for mobile Java

Trang 3

Status Quo: Developer View

• Android is YAMP in their portfolio!

• Requires new porting efforts, knowledge, testing,

devices, marketing

• Avalanche of versions (1.0-2.1) in just two years!

• OEMs & operators customize UI, features, APIs to

bring value and differentiate

• Different features and screen sizes to be addressed

Porting for and within Android ecosystem is a

full time job!

Trang 4

Q: What happens in 2-5 years?

Trang 5

Hopefully not!

Source: abcnews.go.com

Trang 6

Can web apps help?

Trang 7

Mobile Web App Ecosystem

Browser

Web Server

Web Server

Web Server

Trang 8

Traditional Approach to Mobile Web Apps

Advantages:

• Easy, easy, easy!

• Common web technologies, portable, variety of tools

• Lots of web developers

• Apps in the cloud easy to update

Trang 9

How about web widgets?

Trang 10

Web Widgets (for Mobile)

Define web widget:

• Application, written using common web technologies (HTML, JS,

SVG, Flash, etc.)

• Deployed as a single package file into the end user's browser

• Processed and interpreted as a set of locally-hosted web pages

• Obeying lifecycle, security and networking requirements

• Lifecycle feels like a native app

• Originally developed by Opera and called Opera Widgets:

http://widgets.opera.com

• Evolved further into W3C Widget specification:

http://www.w3.org/TR/widgets/

Trang 11

Web Widget Anatomy

<?x ml

ver sio n="

.xml

• Packaging format: single zip file, wgt extension

• Mime type: application/widget

• Configuration (manifest) file: config.xml

• Entry point: index.html or custom file

• Content: HTML, JS, any resource, any mime type recognized by the

browser (Flash, SVG, video, etc.)

• Security and networking enforcement

• Signing

Trang 12

Web Widget Ecosystem

Web Server

Browser

Web Servic e

xyz Server

Widget

Trang 13

Web Widgets (for Mobile)

Advantages:

• Easy, easy, easy!

• Common web technologies, portable, several SDKs

• Lots of web developers

• Works in offline mode

• Lifecycle feels like a native app

Disadvantages:

• No integration with phone functions, like location, messaging, PIM, address book, etc

Trang 14

What about JIL/BONDI/WAC?

Trang 15

Beyond W3C Widgets

• BONDI “uses web technologies and builds upon them to provide

new APIs to the key mobile phone functionality like Contacts,

Calendar, Messaging & Location”

• JIL will “enable different widgets and applications to run

seamlessly on different handset platforms and operating systems across different mobile operators, while safeguarding customer security, data privacy and billing systems”

• Wholesale Applications Community (WAC) “aims to unite a

fragmented marketplace by involving players from all related

industries to create a community based on openness and

transparency to the benefit of all”

Translation please: cross-platform app model, based on W3C

Widgets, extended by built-in JavaScript APIs for device access

Trang 16

Use Cases

• Social Address Book

– Contact list from the native address book

– Existing Facebook friends automatically detected

– Direct access to the friend’s wall

– Messaging editor with merged SMS and Facebook history

– Buttons to initiate a voice/video call

• Sticky GeoNotes

– Paper notes are so lame 

– Leave a text/voice/video message for your family and colleagues

– Based on your current location

Trang 17

Enriched Web Widget Ecosystem

Messagin g

Browser

Web Servic e

xyz Server

Widget

Trang 18

Why Should You Care?

• Too many BIG players pushing for it!

• JIL devices shipped in 2009

• BONDI devices shipping in 2010

• Cross-platform apps easier to develop!

But beware of these pitfalls:

• Browser-specifc workarounds

• Screen sizes and orientation

• Large amounts of business logic and networking code in JS may not be too much fun

Trang 19

Beyond JIL/BONDI/WAC

(Problem solved! What else can we ask for?)

Trang 20

Beyond JIL/BONDI/WAC

Wouldn’t you like to:

… expose your own services to widgets?

… write business logic in Java rather than JavaScript?

… write networking code in Java rather than JavaScript?

… leave the widget code to UI designers and developers?

You’d be out of luck nowadays: current implementations

don’t provide means to extend the device APIs

Trang 21

Mobile OSGi

But there are efforts in that direction based on mobile OSGi:

• OSGi used on mobile, embedded, smart home, enterprise platforms, and spreading

• Mobile OSGi (JSR 232) deployed on a wide variety of mobile platforms (Android, Symbian, WM, BREW)

• Enables dynamic code deployment and update, dynamic service wiring, code reuse, versioning and more:

http://www.osgi.org/About/WhyOSGi

• OSGi complements, not replaces Android platform

http://www.osgi.org/About/Technology

Trang 22

Mobile OSGi + Web Widgets

Messagin g

Web Server App

Service

Mobile OSGi

Browser

Web Servic e

xyz Server

Widget

Trang 23

Remote OSGi ServicesMobile OSGi and Web Widgets? So, how does it work:

public interface MyService {

public void doSomething(String param);

}

MyService instance = new MyServiceImpl();

Properties props = new Properties();

props.put("org.osgi.remote.publish", Boolean.TRUE);

bundleContext.registerService(MyService.class.getName(),

instance, props);

Trang 24

Using Services from Widgets

and get a proxy service object

var so = RSR.bind(“MyService”);

so.doSomething(“param”);

Easy enough!

Trang 25

Web Widgets increasingly seen as a

potential

Android-based devices supporting Web

Widgets are shipping now

Web Widgets are empowered with rich device

allow dynamic APIs for Widgets

Trang 26

Additional resources:

www.prosyst.com dz.prosyst.com mobileosgi.blogspot.com

s.djukic@prosyst.com

Ngày đăng: 22/04/2016, 10:12

Xem thêm

w