J2ME • Prepared by: • Gaery - Ronny • Alan - Andy
Why Technology for Mobile Devices? • The nature of wireless devices is changing • Old devices: • All the software hard-coded by the device manufacturer • New devices: • Can be customized by dynamically loading software over the air • New opportunities for manufacturers, operators, and developers!
What is J2ME ? • A collection of Java APIs for the development of software for resource constrained devices such as PDAs and cell phones. • Provides a robust, flexible environment for applications running on those devices.
Why is J2ME useful… • J2ME complements configurations with profiles, software to match the hardware. • Each configuration supports several profiles. • The most common profile in mobile phones is MIDP, the Mobile Information Device Protocol, which adds networking, user interface, and persistent storage support to the CLDC configuration. • Requirement for MIDP: screen at least 96 pixels wide and 54 pixels tall • J2SE re-use • J2ME is designed to re-use J2SE code wherever possible, or at least to pretend to. • Within the scope of features supported by a given configuration and set of profiles, wherever possible the J2ME implementation must not change interfaces or behavior from the J2SE original.
What kinds of problems does this technology solve well ? • Allow mobile devices to run full application. • Creates a graphical user interface for applications in the mobile devices.
MIDlet – J2ME Software • MIDP applications are called MIDlets. • MIDlets are groups of classes, one of which is derrived from the abstract class javax.microedition.midlet.MIDlet • The user selects and launches the MIDlet. • At this point, the MIDlet enters the KVM and the lifecycle methods of the MIDlet are invoked.
Why is it cool? J2ME developers can develop on their PC and test the code using an emulator
Why is it cool? • Most applications written in Java can be virtually shown in the mobile devices. • Sample Codes and Applications . . .
What is WAP? • WAP (Wireless Application Protocol) was designed to allow wireless devices, and their limited screens and connection speeds, to access Internet and intranet applications. • The goal was to offer a license-free standard to the entire wireless industry so that anyone would be able to develop WAP-based services. • WAP standardizes access not only for mobile phones but also for PDAs (personal digital assistants) and pagers.
Pros Cons • optimized for mobile networks with narrow bandwidths. • Good for mobile devices with small screens and Limited keys for user entry. • Good for devices with little memory storage and limited processing and battery power. • Faster loading time. • User interface is very minimal. • Low security. • Requires constant airtime for stand-alone or offline operations.
Ajax For Mobile Environment
.Net Mobile Major competitor of J2ME
What is .Net Mobile • .NET Mobile is a set of server-side Web Forms and Controls for building applications for wireless mobile devices, like web phones and PDAs. • .NET Mobile is an extension to Microsoft ASP.NET and the Microsoft's .NET Framework.
Why .Net Mobile? • Different mobile devices support different programming languages. Some support WAP and WML, some support HTML or a limited version of HTML, and some support both or a different language. • To support all types of mobile devices, developers must create one different application for each language.
Why .Net Mobile? • Support for Multiple Markup Languages • Cell phones and other devices that use Wireless Application Protocol (WAP) to display Wireless Markup Language (WML) • Devices such as Pocket PCs, which display Hypertext Markup Language (HTML) content • Write Once, Access from Multiple Devices
How does it work? • A web client requests a web page • The request travels the Internet • The request is received by IIS • The request is handled by the .NET framework • .NET Mobile handles any mobile device requirements • The page is returned to the client
What set J2ME apart from the other? • J2ME is the most popular web technology that is used by today’s mobile devices. • Allows mobile devices to run applications written in JAVA. • Little difference if compared with .NET mobile because .NET is also an Integrated Development Environment.