SlideShare a Scribd company logo
Workshop on 
Mobile Services and Android Applications 
MOBILE APPs DEVELOPMENT PLATFORMS 
S. Amirtharaj
Topic: MOBILE APPs DEVELOPMENT PLATFORMS 
MOBILE APPs DEVELOPMENT PLATFORMS 
- Java 2 Platform, Micro Edition (J2ME) 
- Wireless Markup Language (WML) 
- Compact HyperText Markup Language (cHTML) 
- eXtensible HyperText Markup Language (XHTML)
An Overview of J2ME Technology
Topic: MOBILE APPs DEVELOPMENT PLATFORMS 
JavaTM 2 Platform, Micro Edition (J2ME) 
What is J2ME? 
The JavaTM 2 Platform, Micro Edition (J2ME) is the Java platform for 
consumer and embedded devices such as mobile phones, PDAs, TV set-top 
boxes, in-vehicle telematics systems, and a broad range of embedded 
devices. 
Like its enterprise (J2EE) and desktop (J2SE) and smart card counterparts, the 
J2ME platform is a set of standard Java APIs defined through the Java 
Community ProcessSM by expert groups that include leading device 
manufactures, software vendors and service providers. 
What J2ME provide you? 
1. It delivers the power and benefits of Java technology tailored for consumer 
and embedded devices (a flexible user interface, robust security model, 
broad range of built-in network protocols) 
2. It supports for networked and disconnected applications. 
3. It allows you to write applications once, and download them dynamically 
and leverage each device’s native capabilities.
Topic: MOBILE APPs DEVELOPMENT PLATFORMS 
J2ME Architecture 
Optional Packages 
Personal Profile 
Personal 
Basis Profile 
Foundation Profile 
Connected Device 
Configuration (CDC) 
JVM 
Mobile Phones & 
Entry-level PDAs 
Optional Packages 
MDP 
Connected Limited 
Device Configuration 
(CLDC) 
KVM 
High-end PDAs 
TV set-top boxes 
Embedded devices
Topic: MOBILE APPs DEVELOPMENT PLATFORMS 
J2ME Architecture 
J2ME architecture defines configurations, profiles, and optional packages as 
elements for building complete Java runtime environments 
Meet the requirements for a broad range of devices and target markets. 
Each combination is optimized for the memory, processing power, and I/O 
capabilities of a related category of devices. 
The result is a common Java platform that fully leverages each type of device to 
deliver a rich user experience. 
Three types of basic elements: 
Profiles – provide a complete runtime environment targeted at a specific device categories. 
Configurations – provide the base functionality for a particular range of similar devices. 
Optional packages – provide a base for further extension based on related setting.
J2ME CLDC & CDC 
Connected Limited Device Configuration (CLDC): 
- CLDC is the smaller of the two configurations. 
- It is designed for devices with intermittent network connections, slow 
processors and limited memory. Typical examples: 
- Mobile phones Two-way pagers PDAs, 
- These devices typically have either 16-bit or 32-bit CPUs, and a 
minimum of 128 KB to 512 KB of memory for the Java platform 
implementation and associated applications. 
Connected Device Configuration (CDC): 
- CDC is designed for devices that have more memory, faster processors, 
and greater network bandwidth, such as 
- TV set-top boxes, residential gateways, two-way pagers, POS terminals 
- in-vehicle telematics systems, and high-end PDAs…. 
CDC includes a full-featured java virtual machine (JVM), and a much 
larger subset if the J2SE platform than CLDC. 
- Most CDC-targeted devices have 32-bit CPUs and a minimum of 2MB of 
memory. 
Topic: MOBILE APPs DEVELOPMENT PLATFORMS
Topic: MOBILE APPs DEVELOPMENT PLATFORMS 
J2ME CDC 
Connected Limited Device Configuration (CLDC) Key Features: 
- Easily implemented by consumer electronics and embedded device 
manufactures. 
- Comes with a JavaTM virtual machine (JVM), class library, APIS, and 
Foundation Profile. 
- Standardized by the Java Community ProcessTM program for devices with 2MB 
or more memory. 
- Devices currently using the Personal JavaTM application environment can be 
ported to CDC. 
- CDC VM is built with the same specification as the Java 2 platform, standard 
edition (J2SETM) virtual machine. 
- Available today as a free download. 
- The CDC is a class library with a minimal set of APIs from J2SETM, including 
java.lang – VM system classes java.util – underlying java utilities 
java.io – java File I/O java,.net – UDP datagram and File I/O 
java.text – bare minimal support for error messages 
java.security – minimal fine-grain security and encryption for object serialization
Topic: MOBILE APPs DEVELOPMENT PLATFORMS 
J2ME Profiles 
J2ME Profiles: 
Provide a complete runtime environment targeted at specific device categories, 
configurations. 
A) Mobile Information Device Profile (MIDP): 
-It is designed for mobile phones and entry-level PDAs. 
-It offers the core application functionality required by mobile applications, 
including a) user interface, b) network connectivity 
c) local data storage, d) application management 
B) Foundation Profile (FP): 
- CDC profiles are layered so that profiles can be added as needed to provide 
application functionality for different types of devices. 
- It is the lowest level of profile for CDC. 
- It provides a network-capable implementation of CDC that can be used for 
deeply embedded implementations without a user interface. 
- It can also be combined with Personal Basis Profile and Personal Profile for 
devices that require a graphic user interface (GUI).
Topic: MOBILE APPs DEVELOPMENT PLATFORMS 
J2ME Profiles 
C) Personal Profile (PP): 
- PP is the CDC profile aimed at devices that require full GUI or Internet 
applet support, such as high-lend PDAs, communicator-type devices, and 
game consoles 
- It includes the full Java Abstract Window Toolkit (AWT) libraries and offers 
Web fidelity, easily running Web-based applets designed for use in desktop 
environment. 
- It replaces Personal JavaTM technology and provides Personal Java 
applications through J2ME platform. 
D) Personal Basis Profile (PBP): 
- PBP is a subset of PP. 
- It provides an application environment for network connected devices that 
support a basic level of graphic presentation or require the use of specialized 
graphical toolkits for specific applications. 
-Typical device examples are: TV set-top boxes, in-vehicle telematics systems, 
-And information kiosks. 
-Both PP and PBP are layered on top of CDC and FP.
Topic: MOBILE APPs DEVELOPMENT PLATFORMS 
J2ME Optional Packages 
Optional Packages: 
- PP is the CDC profile aimed at devices that require full GUI or Internet 
applet support, such as high-lend PDAs, communicator-type devices, and 
game consoles 
- It includes the full Java Abstract Window Toolkit (AWT) libraries and offers 
Web fidelity, easily running Web-based applets designed for use in desktop 
environment. 
- It replaces Personal JavaTM technology and provides Personal Java 
applications through J2ME platform.
Topic: MOBILE APPs DEVELOPMENT PLATFORMS 
J2ME – MIDP Architecture 
Optional Packages 
Game User Interface Media 
Application Management 
End-to-End Security 
CLDC 
KVM 
Local Data 
Storage 
Push 
Registry Connectivity OTA 
Provisioning 
MIDP
Topic: MOBILE APPs DEVELOPMENT PLATFORMS 
Mobile Information Device Profile (MIDP) 
The MIDP combined with CLDC, is the javaTM runtime environment for today’s 
mobile information devices such as phones and entry level PDAs. 
- MIDP is defined by through the Java Community ProcessSM program 
- MIDP defines a platform for dynamically and securely delivering highly 
graphical, networked applications to mobile information devices. 
- MIDP provides the core application functionality required by mobile 
applications as a standardized java runtime environment and set of java APIs. 
- Using MIDP, developers can write applications once that are optimized for 
today’s mobile information devices. 
Deployment Status: 
- It has been widely adopted as the platform of choice for mobile applications. 
- It is deployed globally on millions of mobile phones and PDA, supported by 
leading Java technology integrated development environment (IDE).
Topic: MOBILE APPs DEVELOPMENT PLATFORMS 
Mobile Information Device Profile (MIDP) 
MIDP is designed for mobile users: 
- Allow them to write networked applications for mobile devices. 
- These mobile applications can be download dynamically and run on the 
mobile devices. 
- They can be easily updated and removed by the end user. 
Mobile user interface support  based on a high-level user interface API. 
This helps developers to build easy to use, highly graphical and portable 
applications optimized for mobile information devices. 
MIDP user interface functionality includes: 
- Pre-defined screens for displaying and selecting lists, editing text, popping up 
alert dialogs, and adding scrolling tickers. 
- Each form (or screen) can include any no. of predefined items – images, 
ready-only text fields, editable text fields, editable date and time fields, charts, 
and choice groups as well as any custom items added by developers 
- All screens and items are device-aware with built-in support for the native 
display size, input and navigation capabilities. portable and flexible.
Mobile Information Device Profile (MIDP) 
Multimedia and Game Functionality 
MIDP is ideal for building portable games and multimedia applications. 
- A lower level user interface API provides developers great control of graphics 
and inputs when they need it. 
- A game API adds game-specific functionality, such as sprites and tiled layers 
that takes advantage of native device graphics capabilities. 
- Built-in audio provides support for tones, tone sequences and WAV files. 
- Mobile Media API (MMAPI) can be used as an optional package for MIDP to 
add video and other rich multimedia content. 
Over-the-Air Provisioning 
- The MIDP specification defines how MIDP applications are discovered, 
installed, updated and removed on mobile information devices. 
- The MIDP also enables a service provider to identify which MIDP 
applications will work on a given device. 
- Its OTA Provisioning model has been defines to delivery a reliable, secure 
provisioning solution. 
Topic: MOBILE APPs DEVELOPMENT PLATFORMS
Topic: MOBILE APPs DEVELOPMENT PLATFORMS 
Mobile Information Device Profile (MIDP) 
Extensive Connectivity  enable developers to fully leverage the native data 
network and messaging capabilities of mobile information devices. 
- It supports leading connectivity standards: 
HTTP, HTTPS, datagram, sockets, server sockets, and serial port comm. 
It also supports the Short Message Service (SMS0 and Cell Broadcast Service 
(CBS) capabilities of GSM and CDMA network through the Wireless 
Messaging API (WMA) optional package. 
- It supports a server push model. A push registry keeps track of applications 
registered to receive inbound information from the network. 
When information arrives, the device decides if to start the application based 
on user preference. 
The push architecture enables developers to include alerts, messaging and 
broadcasts in MIDP applications, and leverage the event-driven 
capabilities of devices and carrier network.
Topic: MOBILE APPs DEVELOPMENT PLATFORMS 
Mobile Information Device Profile (MIDP) 
End-to-End security  based on a robust security model (with open standards) to 
protect the network, applications and mobile information devices. 
- The use of HTTPS leverages existing standards such as SSL and WTLS to 
enable the transmission of encrypted data. 
- By default MIDP applications are not trusted, and are assigned to untrusted 
domains that prevent access to any privileged functionality. 
- To gain privileged access, a MIDP application must be assign to a specific 
domains that are defined on the mobile device, and are properly signed using 
the X.509 PKI security standard, installed and granted associated permissions. 
It must be successfully authenticated.
An Overview of cHTML Markup Language
An Overview of cHTML Markup Language 
What is the Compact Markup Language (cHTML)? 
• Similar to WML and XHTML, cHTML is another thin markup language. 
• It is a well-defined subset of the HTML(2.0, 3.2, and 4.0) specifications. 
• It can be viewed as a content description language to generate pages for 
iMode devices. 
Objective of cHTML: 
1. It was designed for small information appliances, such as smart phones, 
communicators, and PDAs. 
2. Its development was initiated by the W3C as an alternative development of 
the trend of HTML expanding towards to support for a richer multimedia 
document format. 
History of cHTML: 
• It was submitted as a Note to the W3C in 1998, and is available discussion 
purpose only. 
• The 3WC has not endorsed cHTML, nor made any contribution to the 
language in anyway. 
Topic: MOBILE APPs DEVELOPMENT PLATFORMS
Topic: MOBILE APPs DEVELOPMENT PLATFORMS 
An Overview of cHTML Markup Language 
The creators of cHTML have taken the following requirements into account: 
• Hardware restrictions of the devices, including limited memory, low power 
central processing unit (CPU), and small displays. 
• The navigation restrictions of the device: Moving between sets of 
information has to be possible with a minimum no. of operations. 
• Wireless network agnostic: the markup language does not depend on the 
underlying wireless protocol being used. 
The design of cHTML is based on four main principles: 
• It is completely based on current HTML W3C recommendations. 
• It is a light specification, allowing it to run on mobile devices. 
• It can be viewed on a mono-screen display. 
• It is easy for users to operate. 
cHTML is one of the most popular subset of HTML. Its popularity is based 
largely on the fact that cHTML is the markup language used by the 
phenomenally successful i-Mode services from NTTDoCoMo in Japan.
Topic: MOBILE APPs DEVELOPMENT PLATFORMS 
An Overview of cHTML Markup Language 
Major features of Compact Markup Language (cHTML): 
To accomplish the goals of the cHTML, certain features of HTML have to be 
excluded. The typical examples are: 
• Support for frames and tables 
• JPEG image support, image maps 
• Multiple-character fonts and styles 
• Background color and images 
• Style sheets 
Basic hardware requirements of cHTML-based mobile devices: 
• Small memory: i.e.128-512Kbytes RAM, and 512K-1Mbytes ROM 
• Low power CPU: i.e. 1-10 MIPS class CPU for embedded systems 
• Small display: i.e. 50x30 dots, 100x72 dots, and 150x100 dots 
• Restricted colors: i.e. mono-color (black and white) 
• Restricted character fonts: i.e. only single font 
• Restricted input method: several control buttons and number buttons
Topic: MOBILE APPs DEVELOPMENT PLATFORMS 
An Overview of cHTML Markup Language 
Major benefits of cHTML: 
• cHTML-based websites also can be accessed by Web users through regular 
internet accesses. 
• It provides a simple way for mobile devices users to access the Internet. 
• I-mode-compatible HTML websites are easy to navigate, since all basic 
operations can be performed using a combination of four buttons: Cursor 
forward, Cursor backward, Select, and Back (Return to previous page). Most 
phone browsers also provide a "Page Forward" button. 
Issues of cHTML: 
o Standard issue: It is not standard so it is a transition technology. 
o Original version of cHTML does not support scripting. Later Sun 
Microsystems and DoCoMo are working together to add on. 
o Not XML-based  sloppy programming in cHTML. 
Now cHTML is being replaced by XHTML in the i-Mode service  
XHTML becomes the language of wireless Internet.
An Overview of XHTML
Topic: MOBILE APPs DEVELOPMENT PLATFORMS 
An Overview of XHTML (http://www.w3.org/TR/xhtml1/) 
What is XHTML? 
• XHTML stands for the eXtensible HyperText Markup Language. 
• “XHTML” is not just refer to a language, but a name of a family of document types 
which collectively form this markup language. 
• XHTML is an XML-compliant version of HTML 4. 
• XHTML is the direction in which wireless markup language are moving. 
• XHTML 1.0 became an official W3C recommendation in early 2000, making it a Web 
standard. It is almost identical to HTML 4.01 with a few rules added for XML 
compliancy. 
The Need for XHTML: 
• There are many ways to express and present information using markup 
languages. In XML, it is relatively easy to introduce new elements or 
additional element attributes. XHTML is designed to provide a standard 
means for developers and users to accommodate these extensions. 
• Alternative ways of accessing the Internet are constantly being introduced. 
The XHTML family is designed with general user agent interoperability in 
mind.
Topic: MOBILE APPs DEVELOPMENT PLATFORMS 
An Overview of XHTML 
Why XHTML? 
- Current desktop web browsers allow for very poorly formatted HTML Web 
pages  making it difficult to have cross-platform, or even cross-browser, 
compatibility. 
- Although poor programmed HTML pages work ok on browsers on desktops, it 
causes a lot of problems in working with mobile browsers on mobile devices 
(such as PDAs, mobile phones) due to their limited computing power and 
resources. 
This is where XML comes into play because: 
• XML requires all code to be programmed correctly, making the job of the 
interpreter (or the browser) much easier. 
• XML is a language of describing data, and HTML is a language of 
presenting data. When combing them together, the result is a markup 
language that can be used now and is adaptable to future change.
Topic: MOBILE APPs DEVELOPMENT PLATFORMS 
An Overview of XHTML 
Next Step of XHTML: 
• In the not-too-distant future, XHTML is intended to be a replacement for 
HTML. Most of new desktop Web browsers will support XHTML 
natively, resulting in a higher level of compatibility among browsers. 
• W3C has defined “XHTML Basic” as a new standard for compact 
transmission of markup to wireless and mobile devices. 
• With support from both the Open Mobile Alliance and W3C, XHTML 
Basic is assured to have widespread acceptance now and in the future.
Topic: MOBILE APPs DEVELOPMENT PLATFORMS 
An Overview of XHTML 
How XHTML differs from HTML? 
Most important differences : 
• XML requires all code to be programmed correctly, making the job of the 
interpreter (or the browser) much easier. 
• XHTML documents must be well-formed because XHTML is XML-based 
documents must conform to XML syntax rules. 
• XHTML elements must be properly nested. 
• Tags and attributes must be lowercase. 
• ALL (XHTML element) must be closed. 
• All attribute values must be enclosed in quotation marks. 
• A DOCTYPE declaration is required. 
The major advantage of XHTML over HTML are: 
• Easily to take advantage of new coding techniques 
• Solve the problems with the earlier versions have been fixed 
• Good extensibility: XML-based data description capability 
• Good portability: deal with different browsers on mobile devices
An Overview of XHTML 
What is XHTML Basic? 
• XHTML Basic is a W3C recommendation and a basic version of XHTML 
created specifically for mobile devices. 
• XHTML Basic (document type) includes the minimal set of modules 
required to be an XHTML host language document type including the use of 
images, forms, basic tables, and object support. XHTML Basic defines a 
document type that is rich enough for advanced content authoring yet can be 
used across a variety of clients, including desktops, PDAs, TV, and mobile 
phones. 
• XHTML Basic is a subset of XHTML that removes a number of features— 
scripts, events, frames, and many text and font presentation directives. 
• XHTML appears to be positioned to supercede WML, and perhaps provide 
the common ground between i-mode and WML. 
• XHTML Basic could be designed to be compatible with WML, although it's 
not clear if or when this will happen. 
Topic: MOBILE APPs DEVELOPMENT PLATFORMS
An Overview of XHTML 
What is XHTML-MP? 
XHTML Mobile Profile 1.0 is the official mark-up language of WAP 2.0 created 
by the Open Mobile Alliance (OWA) (formerly the WAPForum). 
The goal is to converge the mark-up language for wireless devices with one used 
for World Wide Web. 
XHTML-MP is a superset of XHTML Basic. 
XHTML-MP takes advantages of XHTML modularization and is very extensible 
permitting the addition of new elements as required. 
Documents based on the Basic Profile of XHTML will be completely operable in 
XHTML-MP browsers. 
Topic: MOBILE APPs DEVELOPMENT PLATFORMS
Topic: MOBILE APPs DEVELOPMENT PLATFORMS 
History of Wireless Mark-up Languages 
Openwave 
Ericsson 
Nokia 
Netscape/AOL 
Microsoft 
NTT(DoCoMo) 
1997 1999 2001 
HDML 
ITTP 
TTML 
WML 
HTML 
XHTML, CSS 
cHTML
An Overview of Wireless Markup Language(WML)
An Overview of WML 
What is the Wireless Markup Language (WML)? 
• The WML is a part of Wireless Application Environment (WAE) as defined 
in the Wireless Application Protocol (WAP). 
• Unlike HDML, WML is based on XML, making the syntax requirements 
somewhat stricter 
• Using WML, we can develop wireless internet applications run on a mobile 
browser on mobile devices 
WML has been influenced by a number of languages, such as HTML, HDML 
(Handheld Device Markup Language), XML, and an emerging document 
structure language. 
- From HTML, WML designers learned its syntax. 
- From HDML, WML designers learned its application model -> which is 
focus on the support of interactive operations between a browser and a 
user. 
- From XML, WML designers makes it XML-compliant to gain the power of 
describing data and information. 
Topic: MOBILE APPs DEVELOPMENT PLATFORMS
An Overview of WML 
Objectives: 
• WML is targeted directly at mobile information devices such as 
cellular phones, PDAs, two-way pagers, and smart phones. 
• WML is designed to address to the limitations and connectivity 
requirements of lightweight, wireless devices in memory, data inputs, 
display screen, and computing power. 
History of WML: 
• WML is a successor of HDML, developed by Openwave, Nokia, Motorola, 
and others as represented by the WAP Forum (now the Open Mobile 
Alliance) since 1999. 
• WML is defined as a part of the WAP standard, and gone through a 
number of releases, such as WML 1.1, 1.2, 1.2.1, 1.3, and so on. 
Until now, WML gas generated tremendous support throughout the wireless 
industry. It has a wide scale of deployment throughout Europe, North 
America, South America, and parts of Asia. 
Most of the handsets being shipped in these regions support WAP and include 
WML browsers. 
Topic: MOBILE APPs DEVELOPMENT PLATFORMS
Topic: MOBILE APPs DEVELOPMENT PLATFORMS 
An Overview of WML 
Major WML Features: 
• A WML document is called a deck (similar to a HTML page). 
• Each deck includes a number of cards which contains content for viewers 
and instructions to the WML browser. 
• Each card may include 
(A) user interface elements: 
text, pictures, list of choices, text field places for inputs. 
(B) Actions that define what happens next for event, links,.. 
Event bindings – link events (such a key) to a task. 
(C) External elements, such as references to pictures and scripts. 
• Each WML document must consists of the followings: 
• (A) Markup elements with attributes, tags, 
• (B) Comments 
• (C) WMLScripts 
• (D) Variables – allows you to alter your content dynamically. 
• (E) Images 
• (F) Simple Tables 
• (G) Links 
• (H) Events, Tasks, and Bindings
Topic: MOBILE APPs DEVELOPMENT PLATFORMS 
An Overview of WML 
A WML event is some occurrence of interest that can be recognized by the 
browser. 
Types of events: a) intrinsic events and b) user-initiated events 
• Intrinsic events are triggered by WML elements, for example, a card can 
trigger an event when the browser “enters” it. 
• User-initiated events are triggered by direct action of the users, such as the 
selection of an item from a menu. 
A task is an activity that the browser can perform. 
When the browser detects the occurrence of an event that has an associated task, 
it executes the corresponding tasks. 
There are for types of WML tasks: 
• The go and prev tasks, direct the browser to navigate to another card. 
• The go task initiates “forward” navigation to a new URL. 
• The prev task instructs the browser to return to the previous location popped 
from the history stack. 
• The refresh task causes the browser to redisplay the current card. 
• The noop task tells the browser to do nothing.
Topic: MOBILE APPs DEVELOPMENT PLATFORMS 
An Overview of WML 
Linking Events to Tasks: 
WML allow you to define handlers for them using the onevent and doelements, 
respectively. 
Intrinsic Event Types: 
• Onenterforward – occurs when a card is entered as a result of forward 
navigation. 
• Onenterbackward – occurs when a card is entered as a result of backward 
navigation. 
• Ontimer – Occurs when a timer expires. 
• Onpick – Occurs when a user selects or deselects an option in a list. 
Since WML is XML-based, it has to adhere to the rules of XML. 
Major differences between HDML and WML: 
• All WML elements must be closed. 
• WML elements must be properly nested. 
• WML documents must be well-formed. 
• WML tag names must be lowercase
Topic: MOBILE APPs DEVELOPMENT PLATFORMS 
An Overview of WML 
What is WMLScript: 
• WMScript provides a way to add more advanced capabilities to WML 
applications. Just as JavaScript of VBScript may be used in conjunction with 
HTML. 
• WMLScript is used with WML to provide client-side logic. 
The following are some of the most common uses of WMLScript for WAP 
applications. 
• Validation of user input 
• Access device facilities, such as adding numbers to an address book 
• Creation of dialogs and messages, avoiding round-trips to the sever 
Within your WMLScript pages, you can 
• Create both For and While loops 
• Create functions, and libraries of functions 
• Display dialog boxes 
• Have advanced interaction with the microbrowser 
Make sure both microbrowser and the WAP gateway have WMLScript support.
Topic: MOBILE APPs DEVELOPMENT PLATFORMS 
Thank You

More Related Content

PPTX
J2ME mobile app development
PPTX
PPTX
PPTX
PPS
J2ME Unit_01
PDF
Java2 MicroEdition-J2ME
PPT
J2ME mobile app development
J2ME Unit_01
Java2 MicroEdition-J2ME

What's hot (20)

PPTX
Introduction to Mobile programming(J2ME)
PDF
J2ME GUI Programming
DOCX
Mobile application development
PPT
J2 me 1
PDF
IT6601 Mobile Computing Unit V
PPTX
Presenting Cloud Computing
PPT
Introduction to j2me
PDF
CV_Prathap (1)
PPTX
J2me Platform
PPT
Java ME CLDC MIDP
DOCX
PDF
Tu dresden 290404_jcop
PDF
Harish resume
PDF
Dave 3 presentation
PDF
Java me introduction
PDF
01 java 2 micro edition
PDF
Introduction to java micro edition
DOCX
PROFESSIONAL PROFILE
PPT
Session1 j2me introduction
PDF
Campus portal for wireless devices
Introduction to Mobile programming(J2ME)
J2ME GUI Programming
Mobile application development
J2 me 1
IT6601 Mobile Computing Unit V
Presenting Cloud Computing
Introduction to j2me
CV_Prathap (1)
J2me Platform
Java ME CLDC MIDP
Tu dresden 290404_jcop
Harish resume
Dave 3 presentation
Java me introduction
01 java 2 micro edition
Introduction to java micro edition
PROFESSIONAL PROFILE
Session1 j2me introduction
Campus portal for wireless devices
Ad

Viewers also liked (20)

PDF
Dependable Systems -Dependability Attributes (5/16)
PPT
Introduction to Mobile Application Development
PPT
15.Security
PPT
13.IO systems
PPT
Towards secure and dependable storage service in cloud
ODP
Adhoc routing protocols
PPT
Wireless Communication and Networking by WilliamStallings Chap2
PDF
DSDV VS AODV
PPT
XML Programming WML by Dickson K.W. Chiu PhD, SMIEEE
PPT
wireless communication and networking Chapter 1
PPT
Markup Languages
PPTX
Ch10 dependable systems
PPT
The Digital Logic Level
PPT
Introduction to Structured Computer Organization
PPTX
Linker and loader upload
PPTX
MIPS Assembly Language I
PPT
Computer Systems Organization
PPT
Cloud Computing Integration Introduction
PPT
Introduction To Cloud Computing
PPTX
2011 Introduction to Cloud Computing and Amazon Web Services
Dependable Systems -Dependability Attributes (5/16)
Introduction to Mobile Application Development
15.Security
13.IO systems
Towards secure and dependable storage service in cloud
Adhoc routing protocols
Wireless Communication and Networking by WilliamStallings Chap2
DSDV VS AODV
XML Programming WML by Dickson K.W. Chiu PhD, SMIEEE
wireless communication and networking Chapter 1
Markup Languages
Ch10 dependable systems
The Digital Logic Level
Introduction to Structured Computer Organization
Linker and loader upload
MIPS Assembly Language I
Computer Systems Organization
Cloud Computing Integration Introduction
Introduction To Cloud Computing
2011 Introduction to Cloud Computing and Amazon Web Services
Ad

Similar to MOBILE APPs DEVELOPMENT PLATFORMS (20)

PDF
010118565.pdf
PPTX
2 mobile development frameworks and tools dark temp
PDF
PPTX
Introduction to mobile programing (J2ME)
PPT
PPTX
J2ME mobile device architecture a develo
PPT
J2ME-java-training-document-internal.ppt
PPT
Mobile Application Development MAD J2ME
PPTX
Java J2ME
PPTX
Introduction To J2ME(FT - Prasanjit Dey)
PPT
Mobile Application Development JEDI
PPT
M app slides_1
PPTX
Java ME - 01 - Overview
PDF
Java 2 Micro Edition James White David Hemphill
ODP
Java ME MSA
PDF
JavaME Development Workflow - JMDF 2007
PPTX
Mobile operating system..
PDF
Game Programming By J2me
PPTX
J2ME MCQs
PDF
J2me step by step
010118565.pdf
2 mobile development frameworks and tools dark temp
Introduction to mobile programing (J2ME)
J2ME mobile device architecture a develo
J2ME-java-training-document-internal.ppt
Mobile Application Development MAD J2ME
Java J2ME
Introduction To J2ME(FT - Prasanjit Dey)
Mobile Application Development JEDI
M app slides_1
Java ME - 01 - Overview
Java 2 Micro Edition James White David Hemphill
Java ME MSA
JavaME Development Workflow - JMDF 2007
Mobile operating system..
Game Programming By J2me
J2ME MCQs
J2me step by step

More from Senthil Kanth (20)

PPT
WML Script by Shanti katta
PPT
WAP- Wireless Application Protocol
PPT
What is WAP?
PPT
Introduction to wireless application protocol (wap)ogi
PPT
Wireless Application Protocol WAP by Alvinen
DOC
HR QUESTIONS, INTERVIEW QUESTIONS
DOC
HR QUESTIONS
TXT
STOCK APPLICATION USING CORBA
DOC
RSA alogrithm
PDF
Zone Routing Protocol (ZRP)
PDF
On-Demand Multicast Routing Protocol
PPT
16.Distributed System Structure
PPT
14.Protection
PPT
12.mass stroage system
PPT
11.file system implementation
PPT
10.file system interface
PPT
9.Virtual Memory
PPT
7.Dead Locks
PPT
6.Process Synchronization
PPT
5.CPU Scheduling
WML Script by Shanti katta
WAP- Wireless Application Protocol
What is WAP?
Introduction to wireless application protocol (wap)ogi
Wireless Application Protocol WAP by Alvinen
HR QUESTIONS, INTERVIEW QUESTIONS
HR QUESTIONS
STOCK APPLICATION USING CORBA
RSA alogrithm
Zone Routing Protocol (ZRP)
On-Demand Multicast Routing Protocol
16.Distributed System Structure
14.Protection
12.mass stroage system
11.file system implementation
10.file system interface
9.Virtual Memory
7.Dead Locks
6.Process Synchronization
5.CPU Scheduling

Recently uploaded (20)

PDF
Module 4: Burden of Disease Tutorial Slides S2 2025
PDF
Abdominal Access Techniques with Prof. Dr. R K Mishra
PDF
Basic Mud Logging Guide for educational purpose
PDF
BÀI TẬP BỔ TRỢ 4 KỸ NĂNG TIẾNG ANH 9 GLOBAL SUCCESS - CẢ NĂM - BÁM SÁT FORM Đ...
PDF
TR - Agricultural Crops Production NC III.pdf
PDF
Insiders guide to clinical Medicine.pdf
PDF
Pre independence Education in Inndia.pdf
PDF
Origin of periodic table-Mendeleev’s Periodic-Modern Periodic table
PDF
102 student loan defaulters named and shamed – Is someone you know on the list?
PPTX
Pharma ospi slides which help in ospi learning
PPTX
PPH.pptx obstetrics and gynecology in nursing
PDF
Supply Chain Operations Speaking Notes -ICLT Program
PPTX
Introduction_to_Human_Anatomy_and_Physiology_for_B.Pharm.pptx
PDF
RMMM.pdf make it easy to upload and study
PPTX
IMMUNITY IMMUNITY refers to protection against infection, and the immune syst...
PPTX
Cell Types and Its function , kingdom of life
PDF
grade 11-chemistry_fetena_net_5883.pdf teacher guide for all student
PPTX
Week 4 Term 3 Study Techniques revisited.pptx
PDF
Saundersa Comprehensive Review for the NCLEX-RN Examination.pdf
PDF
Mark Klimek Lecture Notes_240423 revision books _173037.pdf
Module 4: Burden of Disease Tutorial Slides S2 2025
Abdominal Access Techniques with Prof. Dr. R K Mishra
Basic Mud Logging Guide for educational purpose
BÀI TẬP BỔ TRỢ 4 KỸ NĂNG TIẾNG ANH 9 GLOBAL SUCCESS - CẢ NĂM - BÁM SÁT FORM Đ...
TR - Agricultural Crops Production NC III.pdf
Insiders guide to clinical Medicine.pdf
Pre independence Education in Inndia.pdf
Origin of periodic table-Mendeleev’s Periodic-Modern Periodic table
102 student loan defaulters named and shamed – Is someone you know on the list?
Pharma ospi slides which help in ospi learning
PPH.pptx obstetrics and gynecology in nursing
Supply Chain Operations Speaking Notes -ICLT Program
Introduction_to_Human_Anatomy_and_Physiology_for_B.Pharm.pptx
RMMM.pdf make it easy to upload and study
IMMUNITY IMMUNITY refers to protection against infection, and the immune syst...
Cell Types and Its function , kingdom of life
grade 11-chemistry_fetena_net_5883.pdf teacher guide for all student
Week 4 Term 3 Study Techniques revisited.pptx
Saundersa Comprehensive Review for the NCLEX-RN Examination.pdf
Mark Klimek Lecture Notes_240423 revision books _173037.pdf

MOBILE APPs DEVELOPMENT PLATFORMS

  • 1. Workshop on Mobile Services and Android Applications MOBILE APPs DEVELOPMENT PLATFORMS S. Amirtharaj
  • 2. Topic: MOBILE APPs DEVELOPMENT PLATFORMS MOBILE APPs DEVELOPMENT PLATFORMS - Java 2 Platform, Micro Edition (J2ME) - Wireless Markup Language (WML) - Compact HyperText Markup Language (cHTML) - eXtensible HyperText Markup Language (XHTML)
  • 3. An Overview of J2ME Technology
  • 4. Topic: MOBILE APPs DEVELOPMENT PLATFORMS JavaTM 2 Platform, Micro Edition (J2ME) What is J2ME? The JavaTM 2 Platform, Micro Edition (J2ME) is the Java platform for consumer and embedded devices such as mobile phones, PDAs, TV set-top boxes, in-vehicle telematics systems, and a broad range of embedded devices. Like its enterprise (J2EE) and desktop (J2SE) and smart card counterparts, the J2ME platform is a set of standard Java APIs defined through the Java Community ProcessSM by expert groups that include leading device manufactures, software vendors and service providers. What J2ME provide you? 1. It delivers the power and benefits of Java technology tailored for consumer and embedded devices (a flexible user interface, robust security model, broad range of built-in network protocols) 2. It supports for networked and disconnected applications. 3. It allows you to write applications once, and download them dynamically and leverage each device’s native capabilities.
  • 5. Topic: MOBILE APPs DEVELOPMENT PLATFORMS J2ME Architecture Optional Packages Personal Profile Personal Basis Profile Foundation Profile Connected Device Configuration (CDC) JVM Mobile Phones & Entry-level PDAs Optional Packages MDP Connected Limited Device Configuration (CLDC) KVM High-end PDAs TV set-top boxes Embedded devices
  • 6. Topic: MOBILE APPs DEVELOPMENT PLATFORMS J2ME Architecture J2ME architecture defines configurations, profiles, and optional packages as elements for building complete Java runtime environments Meet the requirements for a broad range of devices and target markets. Each combination is optimized for the memory, processing power, and I/O capabilities of a related category of devices. The result is a common Java platform that fully leverages each type of device to deliver a rich user experience. Three types of basic elements: Profiles – provide a complete runtime environment targeted at a specific device categories. Configurations – provide the base functionality for a particular range of similar devices. Optional packages – provide a base for further extension based on related setting.
  • 7. J2ME CLDC & CDC Connected Limited Device Configuration (CLDC): - CLDC is the smaller of the two configurations. - It is designed for devices with intermittent network connections, slow processors and limited memory. Typical examples: - Mobile phones Two-way pagers PDAs, - These devices typically have either 16-bit or 32-bit CPUs, and a minimum of 128 KB to 512 KB of memory for the Java platform implementation and associated applications. Connected Device Configuration (CDC): - CDC is designed for devices that have more memory, faster processors, and greater network bandwidth, such as - TV set-top boxes, residential gateways, two-way pagers, POS terminals - in-vehicle telematics systems, and high-end PDAs…. CDC includes a full-featured java virtual machine (JVM), and a much larger subset if the J2SE platform than CLDC. - Most CDC-targeted devices have 32-bit CPUs and a minimum of 2MB of memory. Topic: MOBILE APPs DEVELOPMENT PLATFORMS
  • 8. Topic: MOBILE APPs DEVELOPMENT PLATFORMS J2ME CDC Connected Limited Device Configuration (CLDC) Key Features: - Easily implemented by consumer electronics and embedded device manufactures. - Comes with a JavaTM virtual machine (JVM), class library, APIS, and Foundation Profile. - Standardized by the Java Community ProcessTM program for devices with 2MB or more memory. - Devices currently using the Personal JavaTM application environment can be ported to CDC. - CDC VM is built with the same specification as the Java 2 platform, standard edition (J2SETM) virtual machine. - Available today as a free download. - The CDC is a class library with a minimal set of APIs from J2SETM, including java.lang – VM system classes java.util – underlying java utilities java.io – java File I/O java,.net – UDP datagram and File I/O java.text – bare minimal support for error messages java.security – minimal fine-grain security and encryption for object serialization
  • 9. Topic: MOBILE APPs DEVELOPMENT PLATFORMS J2ME Profiles J2ME Profiles: Provide a complete runtime environment targeted at specific device categories, configurations. A) Mobile Information Device Profile (MIDP): -It is designed for mobile phones and entry-level PDAs. -It offers the core application functionality required by mobile applications, including a) user interface, b) network connectivity c) local data storage, d) application management B) Foundation Profile (FP): - CDC profiles are layered so that profiles can be added as needed to provide application functionality for different types of devices. - It is the lowest level of profile for CDC. - It provides a network-capable implementation of CDC that can be used for deeply embedded implementations without a user interface. - It can also be combined with Personal Basis Profile and Personal Profile for devices that require a graphic user interface (GUI).
  • 10. Topic: MOBILE APPs DEVELOPMENT PLATFORMS J2ME Profiles C) Personal Profile (PP): - PP is the CDC profile aimed at devices that require full GUI or Internet applet support, such as high-lend PDAs, communicator-type devices, and game consoles - It includes the full Java Abstract Window Toolkit (AWT) libraries and offers Web fidelity, easily running Web-based applets designed for use in desktop environment. - It replaces Personal JavaTM technology and provides Personal Java applications through J2ME platform. D) Personal Basis Profile (PBP): - PBP is a subset of PP. - It provides an application environment for network connected devices that support a basic level of graphic presentation or require the use of specialized graphical toolkits for specific applications. -Typical device examples are: TV set-top boxes, in-vehicle telematics systems, -And information kiosks. -Both PP and PBP are layered on top of CDC and FP.
  • 11. Topic: MOBILE APPs DEVELOPMENT PLATFORMS J2ME Optional Packages Optional Packages: - PP is the CDC profile aimed at devices that require full GUI or Internet applet support, such as high-lend PDAs, communicator-type devices, and game consoles - It includes the full Java Abstract Window Toolkit (AWT) libraries and offers Web fidelity, easily running Web-based applets designed for use in desktop environment. - It replaces Personal JavaTM technology and provides Personal Java applications through J2ME platform.
  • 12. Topic: MOBILE APPs DEVELOPMENT PLATFORMS J2ME – MIDP Architecture Optional Packages Game User Interface Media Application Management End-to-End Security CLDC KVM Local Data Storage Push Registry Connectivity OTA Provisioning MIDP
  • 13. Topic: MOBILE APPs DEVELOPMENT PLATFORMS Mobile Information Device Profile (MIDP) The MIDP combined with CLDC, is the javaTM runtime environment for today’s mobile information devices such as phones and entry level PDAs. - MIDP is defined by through the Java Community ProcessSM program - MIDP defines a platform for dynamically and securely delivering highly graphical, networked applications to mobile information devices. - MIDP provides the core application functionality required by mobile applications as a standardized java runtime environment and set of java APIs. - Using MIDP, developers can write applications once that are optimized for today’s mobile information devices. Deployment Status: - It has been widely adopted as the platform of choice for mobile applications. - It is deployed globally on millions of mobile phones and PDA, supported by leading Java technology integrated development environment (IDE).
  • 14. Topic: MOBILE APPs DEVELOPMENT PLATFORMS Mobile Information Device Profile (MIDP) MIDP is designed for mobile users: - Allow them to write networked applications for mobile devices. - These mobile applications can be download dynamically and run on the mobile devices. - They can be easily updated and removed by the end user. Mobile user interface support  based on a high-level user interface API. This helps developers to build easy to use, highly graphical and portable applications optimized for mobile information devices. MIDP user interface functionality includes: - Pre-defined screens for displaying and selecting lists, editing text, popping up alert dialogs, and adding scrolling tickers. - Each form (or screen) can include any no. of predefined items – images, ready-only text fields, editable text fields, editable date and time fields, charts, and choice groups as well as any custom items added by developers - All screens and items are device-aware with built-in support for the native display size, input and navigation capabilities. portable and flexible.
  • 15. Mobile Information Device Profile (MIDP) Multimedia and Game Functionality MIDP is ideal for building portable games and multimedia applications. - A lower level user interface API provides developers great control of graphics and inputs when they need it. - A game API adds game-specific functionality, such as sprites and tiled layers that takes advantage of native device graphics capabilities. - Built-in audio provides support for tones, tone sequences and WAV files. - Mobile Media API (MMAPI) can be used as an optional package for MIDP to add video and other rich multimedia content. Over-the-Air Provisioning - The MIDP specification defines how MIDP applications are discovered, installed, updated and removed on mobile information devices. - The MIDP also enables a service provider to identify which MIDP applications will work on a given device. - Its OTA Provisioning model has been defines to delivery a reliable, secure provisioning solution. Topic: MOBILE APPs DEVELOPMENT PLATFORMS
  • 16. Topic: MOBILE APPs DEVELOPMENT PLATFORMS Mobile Information Device Profile (MIDP) Extensive Connectivity  enable developers to fully leverage the native data network and messaging capabilities of mobile information devices. - It supports leading connectivity standards: HTTP, HTTPS, datagram, sockets, server sockets, and serial port comm. It also supports the Short Message Service (SMS0 and Cell Broadcast Service (CBS) capabilities of GSM and CDMA network through the Wireless Messaging API (WMA) optional package. - It supports a server push model. A push registry keeps track of applications registered to receive inbound information from the network. When information arrives, the device decides if to start the application based on user preference. The push architecture enables developers to include alerts, messaging and broadcasts in MIDP applications, and leverage the event-driven capabilities of devices and carrier network.
  • 17. Topic: MOBILE APPs DEVELOPMENT PLATFORMS Mobile Information Device Profile (MIDP) End-to-End security  based on a robust security model (with open standards) to protect the network, applications and mobile information devices. - The use of HTTPS leverages existing standards such as SSL and WTLS to enable the transmission of encrypted data. - By default MIDP applications are not trusted, and are assigned to untrusted domains that prevent access to any privileged functionality. - To gain privileged access, a MIDP application must be assign to a specific domains that are defined on the mobile device, and are properly signed using the X.509 PKI security standard, installed and granted associated permissions. It must be successfully authenticated.
  • 18. An Overview of cHTML Markup Language
  • 19. An Overview of cHTML Markup Language What is the Compact Markup Language (cHTML)? • Similar to WML and XHTML, cHTML is another thin markup language. • It is a well-defined subset of the HTML(2.0, 3.2, and 4.0) specifications. • It can be viewed as a content description language to generate pages for iMode devices. Objective of cHTML: 1. It was designed for small information appliances, such as smart phones, communicators, and PDAs. 2. Its development was initiated by the W3C as an alternative development of the trend of HTML expanding towards to support for a richer multimedia document format. History of cHTML: • It was submitted as a Note to the W3C in 1998, and is available discussion purpose only. • The 3WC has not endorsed cHTML, nor made any contribution to the language in anyway. Topic: MOBILE APPs DEVELOPMENT PLATFORMS
  • 20. Topic: MOBILE APPs DEVELOPMENT PLATFORMS An Overview of cHTML Markup Language The creators of cHTML have taken the following requirements into account: • Hardware restrictions of the devices, including limited memory, low power central processing unit (CPU), and small displays. • The navigation restrictions of the device: Moving between sets of information has to be possible with a minimum no. of operations. • Wireless network agnostic: the markup language does not depend on the underlying wireless protocol being used. The design of cHTML is based on four main principles: • It is completely based on current HTML W3C recommendations. • It is a light specification, allowing it to run on mobile devices. • It can be viewed on a mono-screen display. • It is easy for users to operate. cHTML is one of the most popular subset of HTML. Its popularity is based largely on the fact that cHTML is the markup language used by the phenomenally successful i-Mode services from NTTDoCoMo in Japan.
  • 21. Topic: MOBILE APPs DEVELOPMENT PLATFORMS An Overview of cHTML Markup Language Major features of Compact Markup Language (cHTML): To accomplish the goals of the cHTML, certain features of HTML have to be excluded. The typical examples are: • Support for frames and tables • JPEG image support, image maps • Multiple-character fonts and styles • Background color and images • Style sheets Basic hardware requirements of cHTML-based mobile devices: • Small memory: i.e.128-512Kbytes RAM, and 512K-1Mbytes ROM • Low power CPU: i.e. 1-10 MIPS class CPU for embedded systems • Small display: i.e. 50x30 dots, 100x72 dots, and 150x100 dots • Restricted colors: i.e. mono-color (black and white) • Restricted character fonts: i.e. only single font • Restricted input method: several control buttons and number buttons
  • 22. Topic: MOBILE APPs DEVELOPMENT PLATFORMS An Overview of cHTML Markup Language Major benefits of cHTML: • cHTML-based websites also can be accessed by Web users through regular internet accesses. • It provides a simple way for mobile devices users to access the Internet. • I-mode-compatible HTML websites are easy to navigate, since all basic operations can be performed using a combination of four buttons: Cursor forward, Cursor backward, Select, and Back (Return to previous page). Most phone browsers also provide a "Page Forward" button. Issues of cHTML: o Standard issue: It is not standard so it is a transition technology. o Original version of cHTML does not support scripting. Later Sun Microsystems and DoCoMo are working together to add on. o Not XML-based  sloppy programming in cHTML. Now cHTML is being replaced by XHTML in the i-Mode service  XHTML becomes the language of wireless Internet.
  • 23. An Overview of XHTML
  • 24. Topic: MOBILE APPs DEVELOPMENT PLATFORMS An Overview of XHTML (http://www.w3.org/TR/xhtml1/) What is XHTML? • XHTML stands for the eXtensible HyperText Markup Language. • “XHTML” is not just refer to a language, but a name of a family of document types which collectively form this markup language. • XHTML is an XML-compliant version of HTML 4. • XHTML is the direction in which wireless markup language are moving. • XHTML 1.0 became an official W3C recommendation in early 2000, making it a Web standard. It is almost identical to HTML 4.01 with a few rules added for XML compliancy. The Need for XHTML: • There are many ways to express and present information using markup languages. In XML, it is relatively easy to introduce new elements or additional element attributes. XHTML is designed to provide a standard means for developers and users to accommodate these extensions. • Alternative ways of accessing the Internet are constantly being introduced. The XHTML family is designed with general user agent interoperability in mind.
  • 25. Topic: MOBILE APPs DEVELOPMENT PLATFORMS An Overview of XHTML Why XHTML? - Current desktop web browsers allow for very poorly formatted HTML Web pages  making it difficult to have cross-platform, or even cross-browser, compatibility. - Although poor programmed HTML pages work ok on browsers on desktops, it causes a lot of problems in working with mobile browsers on mobile devices (such as PDAs, mobile phones) due to their limited computing power and resources. This is where XML comes into play because: • XML requires all code to be programmed correctly, making the job of the interpreter (or the browser) much easier. • XML is a language of describing data, and HTML is a language of presenting data. When combing them together, the result is a markup language that can be used now and is adaptable to future change.
  • 26. Topic: MOBILE APPs DEVELOPMENT PLATFORMS An Overview of XHTML Next Step of XHTML: • In the not-too-distant future, XHTML is intended to be a replacement for HTML. Most of new desktop Web browsers will support XHTML natively, resulting in a higher level of compatibility among browsers. • W3C has defined “XHTML Basic” as a new standard for compact transmission of markup to wireless and mobile devices. • With support from both the Open Mobile Alliance and W3C, XHTML Basic is assured to have widespread acceptance now and in the future.
  • 27. Topic: MOBILE APPs DEVELOPMENT PLATFORMS An Overview of XHTML How XHTML differs from HTML? Most important differences : • XML requires all code to be programmed correctly, making the job of the interpreter (or the browser) much easier. • XHTML documents must be well-formed because XHTML is XML-based documents must conform to XML syntax rules. • XHTML elements must be properly nested. • Tags and attributes must be lowercase. • ALL (XHTML element) must be closed. • All attribute values must be enclosed in quotation marks. • A DOCTYPE declaration is required. The major advantage of XHTML over HTML are: • Easily to take advantage of new coding techniques • Solve the problems with the earlier versions have been fixed • Good extensibility: XML-based data description capability • Good portability: deal with different browsers on mobile devices
  • 28. An Overview of XHTML What is XHTML Basic? • XHTML Basic is a W3C recommendation and a basic version of XHTML created specifically for mobile devices. • XHTML Basic (document type) includes the minimal set of modules required to be an XHTML host language document type including the use of images, forms, basic tables, and object support. XHTML Basic defines a document type that is rich enough for advanced content authoring yet can be used across a variety of clients, including desktops, PDAs, TV, and mobile phones. • XHTML Basic is a subset of XHTML that removes a number of features— scripts, events, frames, and many text and font presentation directives. • XHTML appears to be positioned to supercede WML, and perhaps provide the common ground between i-mode and WML. • XHTML Basic could be designed to be compatible with WML, although it's not clear if or when this will happen. Topic: MOBILE APPs DEVELOPMENT PLATFORMS
  • 29. An Overview of XHTML What is XHTML-MP? XHTML Mobile Profile 1.0 is the official mark-up language of WAP 2.0 created by the Open Mobile Alliance (OWA) (formerly the WAPForum). The goal is to converge the mark-up language for wireless devices with one used for World Wide Web. XHTML-MP is a superset of XHTML Basic. XHTML-MP takes advantages of XHTML modularization and is very extensible permitting the addition of new elements as required. Documents based on the Basic Profile of XHTML will be completely operable in XHTML-MP browsers. Topic: MOBILE APPs DEVELOPMENT PLATFORMS
  • 30. Topic: MOBILE APPs DEVELOPMENT PLATFORMS History of Wireless Mark-up Languages Openwave Ericsson Nokia Netscape/AOL Microsoft NTT(DoCoMo) 1997 1999 2001 HDML ITTP TTML WML HTML XHTML, CSS cHTML
  • 31. An Overview of Wireless Markup Language(WML)
  • 32. An Overview of WML What is the Wireless Markup Language (WML)? • The WML is a part of Wireless Application Environment (WAE) as defined in the Wireless Application Protocol (WAP). • Unlike HDML, WML is based on XML, making the syntax requirements somewhat stricter • Using WML, we can develop wireless internet applications run on a mobile browser on mobile devices WML has been influenced by a number of languages, such as HTML, HDML (Handheld Device Markup Language), XML, and an emerging document structure language. - From HTML, WML designers learned its syntax. - From HDML, WML designers learned its application model -> which is focus on the support of interactive operations between a browser and a user. - From XML, WML designers makes it XML-compliant to gain the power of describing data and information. Topic: MOBILE APPs DEVELOPMENT PLATFORMS
  • 33. An Overview of WML Objectives: • WML is targeted directly at mobile information devices such as cellular phones, PDAs, two-way pagers, and smart phones. • WML is designed to address to the limitations and connectivity requirements of lightweight, wireless devices in memory, data inputs, display screen, and computing power. History of WML: • WML is a successor of HDML, developed by Openwave, Nokia, Motorola, and others as represented by the WAP Forum (now the Open Mobile Alliance) since 1999. • WML is defined as a part of the WAP standard, and gone through a number of releases, such as WML 1.1, 1.2, 1.2.1, 1.3, and so on. Until now, WML gas generated tremendous support throughout the wireless industry. It has a wide scale of deployment throughout Europe, North America, South America, and parts of Asia. Most of the handsets being shipped in these regions support WAP and include WML browsers. Topic: MOBILE APPs DEVELOPMENT PLATFORMS
  • 34. Topic: MOBILE APPs DEVELOPMENT PLATFORMS An Overview of WML Major WML Features: • A WML document is called a deck (similar to a HTML page). • Each deck includes a number of cards which contains content for viewers and instructions to the WML browser. • Each card may include (A) user interface elements: text, pictures, list of choices, text field places for inputs. (B) Actions that define what happens next for event, links,.. Event bindings – link events (such a key) to a task. (C) External elements, such as references to pictures and scripts. • Each WML document must consists of the followings: • (A) Markup elements with attributes, tags, • (B) Comments • (C) WMLScripts • (D) Variables – allows you to alter your content dynamically. • (E) Images • (F) Simple Tables • (G) Links • (H) Events, Tasks, and Bindings
  • 35. Topic: MOBILE APPs DEVELOPMENT PLATFORMS An Overview of WML A WML event is some occurrence of interest that can be recognized by the browser. Types of events: a) intrinsic events and b) user-initiated events • Intrinsic events are triggered by WML elements, for example, a card can trigger an event when the browser “enters” it. • User-initiated events are triggered by direct action of the users, such as the selection of an item from a menu. A task is an activity that the browser can perform. When the browser detects the occurrence of an event that has an associated task, it executes the corresponding tasks. There are for types of WML tasks: • The go and prev tasks, direct the browser to navigate to another card. • The go task initiates “forward” navigation to a new URL. • The prev task instructs the browser to return to the previous location popped from the history stack. • The refresh task causes the browser to redisplay the current card. • The noop task tells the browser to do nothing.
  • 36. Topic: MOBILE APPs DEVELOPMENT PLATFORMS An Overview of WML Linking Events to Tasks: WML allow you to define handlers for them using the onevent and doelements, respectively. Intrinsic Event Types: • Onenterforward – occurs when a card is entered as a result of forward navigation. • Onenterbackward – occurs when a card is entered as a result of backward navigation. • Ontimer – Occurs when a timer expires. • Onpick – Occurs when a user selects or deselects an option in a list. Since WML is XML-based, it has to adhere to the rules of XML. Major differences between HDML and WML: • All WML elements must be closed. • WML elements must be properly nested. • WML documents must be well-formed. • WML tag names must be lowercase
  • 37. Topic: MOBILE APPs DEVELOPMENT PLATFORMS An Overview of WML What is WMLScript: • WMScript provides a way to add more advanced capabilities to WML applications. Just as JavaScript of VBScript may be used in conjunction with HTML. • WMLScript is used with WML to provide client-side logic. The following are some of the most common uses of WMLScript for WAP applications. • Validation of user input • Access device facilities, such as adding numbers to an address book • Creation of dialogs and messages, avoiding round-trips to the sever Within your WMLScript pages, you can • Create both For and While loops • Create functions, and libraries of functions • Display dialog boxes • Have advanced interaction with the microbrowser Make sure both microbrowser and the WAP gateway have WMLScript support.
  • 38. Topic: MOBILE APPs DEVELOPMENT PLATFORMS Thank You