Symbian Forum.Nokia.Com
Total Page:16
File Type:pdf, Size:1020Kb
FORUM NOKIA Choosing the Right Development Environment for Series 60 Application Development Version 1.0; June 7, 2002 Symbian Forum.Nokia.com Choosing the Right Development Environment for Series 60 Application Development Revision 1.0; June 7, 2002 Introduction Series 60 is a mobile terminal software platform designed for one-hand-operated smartphones with a large color screen and an intuitive User Interface (UI). Series 60 provides a stable, standards-based platform that developers can use to build applications for a variety of markets ranging from entertainment to business. Application development on Series 60 is a good investment, since Series 60 is a platform designed to work on devices of today and tomorrow. The platform supports a variety of development choices, including C++, Java and WAP (WML). Developers need to understand the strengths and limitations of each of these design environments so they can successfully match the right technology to the right application. Developers designing applications for the platform will be able to support a wide variety of upcoming devices that conform to the specification; the first device introduced to the market was the Nokia 7650. The Nokia 7650 conforms to the the Series 60 Platform specification and adds product-specific features, such as a camera interface. The Nokia 7650 supports three data rates: CSD (standard GSM data 9.6 kbps), HSCSD (single-slot high-speed data 14.4 kbps) and GPRS (up to 40.2 Kbps) as WAP bearers. Local wireless communication is supported over Bluetooth and infrared (IrDA). four MB of RAM is shared by applications, images, and a contact database. Support for Multimedia Messaging Service (MMS), an evolutionary step from Short Message Service (SMS), is part of the Series 60 Platform. In practice, this allows applications to be easily integrated with e-mail and messaging for enhanced consumer services and corporate applications such as database access. Nokia and RealNetworks have announced the inclusion of the RealOne Player, with support for 3GPP media formats, RealAudio and RealVideo, as a standard feature on Nokia's Series 60 platform and Nokia phones based on Symbian OS. This feature will enable users to enjoy live and on- demand access to digital audio and video for information and entertainment. A developer has several choices in developing applications for the Series 60 platform. The first, C++, is the native programming language of Symbian OS, the phone’s OS. All the phone’s functions are easily available through C++ APIs. See the Resources section at the end of this article for more information on the C++ and Java SDKs. The second option is Java™, using the Mobile Information Device Profile (MIDP), a subset of the Connected Limited Device Configuration (CLDC). The MIDP is intended specifically for communication devices such as cell phones. The third choice is browsing, using Wireless Markup Language (WML) and Wireless Application Protocol (WAP) 1.2.1. The 176 x 208 pixel display is well suited to focused content, but developers need to structure content destined for mobile devices separately from applications intended to be accessed from desktop or notebook computers. Copyright © 2002. Nokia. All rights reserved. 1 Forum.Nokia.com In general, C++ provides the most flexibility in user interface and use of the phone’s features, and offers higher performance and more compact code, but portability of applications to devices other than Series 60-based terminals can be a little time-consuming. Java offers portability to other MIDP devices, but without access to specialized functions like Bluetooth. Browser applications are intended for interactive access to services specifically designed for mobile devices, and are not intended to replace C++ or Java applications, but to augment them. C++ C++ is a flexible and efficient programming language. By itself it does not enable any specific user interface, but the environment and the APIs available determine what is possible. Developers familiar with C++ will find that the environment provides easy access to all the features of the device. For example, C++ is currently the only way to access features that are not part of the MIDP standard, such as the camera interface on the Nokia 7650; TCP/IP network socket functions, such as FTP, SSH and telnet; or alternate networking functions such as Bluetooth or infrared (IrDA). Data interchange between applications is only available through C++. C++ applications can read and write device data, so, for instance, they have access to the images stored in the photo album and can read from or write to the contacts database. C++ allows the developer to create a full-featured user interface, with option menus, listboxes and all other Series 60 UI elements. Applications developed with C++ are accessible to users by means of a separate icon under the device’s applications menu, with a large icon available to the programmer. The C++ environment allows developers to create real-time applications for Series 60 devices. For example, applications written in C++ can initiate voice calls using data stored in the device’s phonebook or calendar. See the Resources section at the end of this article for links to the C++ and Java SDKs, including API features, the user interface guide, a full description of Series 60 functions and features and the MIDP specification. JAVA and MIDP Java applications are relatively easy to port from device to device, though if portability to other platforms is critical, a Java MIDlet may be limited to 30 kB on other platforms. MIDP and CLDC define the APIs that are available to Java MIDP developers. Through the APIs, programs written to the specification can make HTTP 1.1 stream-based client connections over either a WAP or a TCP/IP connection. UI classes in Java applications include such features as text boxes and forms, and these elements are well integrated with the Series 60 look and feel. Java applications can store a limited amount of data, but cannot directly access device data. Java programmers can optimize their applications for Nokia Series 60 phones such as the Nokia 7650 through the use of the Nokia UI API. With this API, developers gain access to features beyond the scope of the MIDP specification, including pixel-level image data, transparency, full-screen drawing, sound, vibration and control of device lights. To access Java applications, users navigate to the Java Application Manager where they find a list of all installed Java applications. Choosing the Right Development Environment 2 Forum.Nokia.com Browsing, WML and WAP Browsing is intended as a way to access content in a client/server environment, rather than as a development standard for stand-alone applications. The device is intended to be handheld and it is assumed that content will be tailored to the size of the device. The display of Series 60 platform devices measures 176 x 208 pixels. The Nokia 7650 display has 4096 possible colors. When using a browser, a status pane at the top of the screen is 176 x 44 pixels, and a softkey panel at the bottom is 176 x 20 pixels. This leaves an available display area of 176 x 144 pixels for application content. Development Tools The Series 60 SDK for Symbian OS is available at Forum Nokia for developers to start developing Symbian OS C++ applications for Series 60 Platform. The SDK requires a Windows NT computer and a Microsoft Visual C++ development environment. For Java development, Sun’s Java 2 Platform Micro Edition, (J2ME™) Wireless Toolkit provides application developers with the emulation environment, documentation and examples needed to develop Java technology applications targeted at CLDC/MIDP-compliant mobile phones and entry- level PDAs. This product is based on the CLDC 1.0.3 and MIDP 1.0.3 reference implementations, and can be tightly integrated with Forte for Java, providing a complete development environment with which developers can write, test and debug applications from start to finish. See Resources below for more information. Metrowerks has development environments for C++ and Java. The toolkit is CodeWarrior, which includes both native C++ and Java support plus an Integrated Development Environment (IDE). The IDE includes an editor, a project manager, a compiler, a linker, an emulator and a debugger. CodeWarrior Wireless Studio supports MIDP/CLDC/J2ME as well as PersonalJava™ and J2SE™. Applications can be downloaded into a device based on Series 60 Platform by using PC synchronization software, or by pointing the mobile browser over the wireless network to a page that contains the download. Bluetooth or infrared can also be used for downloading applications. Each Series 60 device has an application installer utility. Series 60 Platform is a complete package of applications, user interface and development tools built upon Symbian OS technology. The sizes and capabilities of mobile phones and communicators continue to be diversified. Although the core operating system is the same in different types of devices, the user interface and application functionality may vary. This is a great benefit of Symbian OS. Series 60 Platform helps the developer by providing a standard platform for one-hand-operated smartphones, enabling applications to run on all terminals whose manufacturers have adopted Series 60. Series 60 Platform relies on mobile telecommunication and Internet standards, such as SyncML, MMS, vCard, vCalendar, POP3 and IMAP4. These technologies are created for application and device interoperability, and Series 60 supports