P. 1
Hitch Hikers Guide Runtime Booklet

Hitch Hikers Guide Runtime Booklet

4.5

|Views: 1,638|Likes:
Published by Symbian
The Hitch Hiker's Guide to the Runtime Space compares the popular runtimes supported by the Symbian platform. Designed for a semi-technical audience, this is the starting point for information, and provides links to additional learning resources, such as those found on http://developer.symbian.org
The Hitch Hiker's Guide to the Runtime Space compares the popular runtimes supported by the Symbian platform. Designed for a semi-technical audience, this is the starting point for information, and provides links to additional learning resources, such as those found on http://developer.symbian.org

More info:

Published by: Symbian on Jul 17, 2009
Copyright:Attribution Non-commercial

Availability:

Read on Scribd mobile: iPhone, iPad and Android.
download as PDF or read online from Scribd
See more
See less

07/29/2011

pdf

The Hitch Hiker’s Guide to the Runtime Space

The Hitch Hiker’s Guide to the Runtime Space
The Big Question: Webite or client application? Symbian C++ Qt on Symbian Open C and Open C++ Python Widgets Web Browser Java ME Flash Lite Symbian Books

Contents

Page 4-5

6-7 8-9 10 - 11 12 - 13 14 - 15 16 - 17 18- 19 20- 21 22- 23

3

The BIG Question:
Website or client application?
You may have discovered that the Runtime Space is not only mind-bogglingly big and bewildering, but also that most of the things that happen in it are deeply intertwined with the user experience. While all questions of the runtime features, the pros and cons, the cost, the required developer skills and the market share are to be resolved, one big question stands out: ‘website or client application?’ That is, should you use a website or a client application to deliver your services to the end user? A growing number of entrants to the mobile space see the option of building a mobile-specific website as a cheaper and more flexible alternative to developing a client application. However, there are advantages and disadvantages to both depending on the details of your service and, as always, there is a trade-off between quality, functionality, speed of development and cost. Here are some fundamental arguments that are worth bearing in mind before you stick your thumb out into the Runtime Space and hitch a lift.

How technically sophisticated are your users? Your target audience might not be as tech-savvy and fearless as you are. For some users, the process of downloading, installing and configuring an application can be a daunting prospect. Resolving this issue is a trade-off between easier first time access (i.e., through a website) and superior user experience in repeat use (i.e., using a client application). Does your application or service need to know who your user is? Does it need to maintain user history or store personal preferences? Mobile network operators are increasingly preventing third parties from receiving any identifying information about the user in HTTP requests. Handset numbers are blocked and IP addresses are removed from the network operator’s proxy server.

A web application can use a login page, but asking users to type in details using a numeric keypad is undesirable and adds to the time taken to access your service. A client application, however, can store local configuration and details and offer one-click login. How important is speed to your use case? To use a web application, a user must typically launch a browser, access the menu and select a bookmark (or enter URL). Each of these stages takes time and then the speed and latency of the network determines how long the user has to wait. A client application, on the other hand, launches quickly and is usually accessible from a menu or idle-screen shortcut. Once running, applications also perform much more quickly than websites on comparable tasks.

4

The Hitch Hiker’s Guide to the Runtime Space

The Hitch Hiker’s Guide to the Runtime meant to be an Space The Guide is not
Do you regularly change the look-andfeel of your service? As soon as you change the files on your web server, every user of your website sees the changes. In contrast, updates to an application must first be delivered to the handset, and then the user must accept the installation. Ultimately, you cannot guarantee that all your application users will be using the most recent version. Do you need your users to be able to access your application’s services offline? If you do, you need to use a client application. Now you’re wondering, ‘Where should I start?’ Getting started building mobile applications is no easy task. The first thing to do is to decide which of the many runtime environments is the best fit for your product. This Guide is intended to help you make an informed decision, even if you are completely new to mobile development. We look at some of the most common environments available on mobile devices and provide an overview on key metrics such as market share, functionality

Do you use third-party content in your service? It is more challenging to include third-party elements (for example, ads from an ad serving aggregator) in an application than in a website.

and development effort. We also provide an objective analysis of the pros and cons of each, and try to dispel some common myths.

exhaustive technical analysis – though we have included links to examples and further resources for each runtime environment – but it will give you a good indication of what you should investigate in more detail. So, hold on tight and have a stunning ride!

5

Symbian C++
Overview
Symbian C++ is the native programming language of the Symbian platform, which is specifically designed for mobile devices with low power consumption and a small memory footprint. Third parties can create applications and middleware in Symbian C++ that take advantage of the underlying power of the device. However, it is a specialized subset of C++ with Symbian-specific idioms, and this results in higher associated learning costs.

Key features

• Designed for devices with limited memory and processing power, and the need to remain on for weeks or months without being rebooted • Compared with many of the runtimes available for Symbian devices, native Symbian C++ APIs provide developers with the most comprehensive access to device features, thereby enabling rich application development • Uses a trust-based platform security model to make the phone more trustworthy for the user • Supported UI platforms offer an

• Provides fine-grain control over all aspects of the operating system, including memory, performance and battery life • Delivers a consistent performance advantage over other runtimes on Symbian • Gives access to any features of the Symbian platform that are available through a public API. This means that third-party applications can offer the equivalent behavior of embedded applications • There is a wealth of documentation and training material available to help developers master Symbian C++
6

Pros

• Requires climbing a steeper learning curve than other options due to the fundamental differences from Standard C++ • There are limited numbers of developers with the required skill set. It can be difficult and expensive to find proficient Symbian C++ programmers in the current market

Cons

The Hitch Hiker’s Guide to the Runtime Space

The Hitch Hiker’s Guide to the Runtime Space

• Symbian Signed provides a one-stop shop for validating applications with access to the most powerful operating system functions

Pros

Effort estimate
1 2 3

(1 – 5, where 1 is the easiest)

Examples
5

4

Google Maps A native Symbian C++ application slashphone.com/16/8589.html (review) google.com/mobile/default/maps/ index.html

Market share indicator

(October 2008) 226 million Symbian devices shipped across approximately 250 different phone models since the formation of Symbian in 1998

Symbian C++ Quick Start developer.symbian.org/wiki/index.php/ Creating_C%2B%2B_Applications_Quick_ Quick Recipes on Symbian developer.symbian.org/wiki/ index.php/Symbian_Press_ Books#QuickRecipesonSymbianOS

Reference

7

Qt on Symbian
Overview
Qt (pronounced “Cute”) is a powerful crossplatform application and UI framework. It allows you to write graphically rich applications for Symbian mobile devices that can be deployed across other desktop, mobile and embedded operating systems with little or no platform-specific source code. Qt development is based on standard C++. Qt adds its own frameworks, programming idioms and additional tools in order to improve application portability, and to make life easier for C++ developers (e.g. in areas like memory management and inter-object communication). The Qt APIs are well designed, and provide a fairly high level of abstraction; this makes GUI development easier and faster than with other C++ options on the Symbian platform. Qt binaries can be separately installed onto Symbian mobile devices from S60 3rd Edition, FP1 through to Symbian^2. In Symbian^3, Qt binaries will be pre-installed on mobile devices, co-existing with the current Symbian C++ GUI Framework. From Symbian^4 the intention is that Qt will be the only UI framework on Symbian devices.

Key features

• Enables the rapid development of rich user interfaces • Intuitive APIs, with idioms that make C++ programming easier for developers • Designed for cross platform development; write once, compile for any target • Compatible with Standard C++ making it easier to port code from Linux • New APIs provide cross-platform access to key mobile use cases

8

The Hitch Hiker’s Guide to the Runtime Space

• Portability across desktop and embedded operating systems • Rich GUI widget set and intuitive C++ class library • Powerful frameworks for graphics and hybrid web applications • Powerful and intuitive tools, including IDE and tools for internationalization • Large and active developer community Code is open source • Supported by other mobile platforms such as Windows Mobile and maemo • Can integrate with Symbian C++ and Open C/C++ code to leverage full power of the platform

Pros

• Applications need to bundle Qt binaries for all current phones • Not all Qt libraries have been ported yet • Qt may not run as effectively on devices with older hardware • Cross platform goal not yet fully realised on mobile devices: - Currently missing cross platform APIs for core mobile use cases (e.g. camera) - Desktop user interface layouts may need to be recreated for smaller mobile screens

Cons

The Hitch Hiker’s Guide to the Runtime Space

Effort estimate
1 2 3

(1 – 5, where 1 is the easiest)

Examples
4 5

Market share indicator
Qt is used by thousands of developers worldwide, working on Linux, Windows, Mac OS X and embedded platforms. Qt can run on S60 3rd Edition, FP1 based phones and later, a market which comprises in the region of a hundred million units.

At time of writing most Symbian platform Qt applications have been written for demonstration purposes. Qt applications running on the desktop, including Google Earth, are listed here: http://qt.nokia.com/qt-in-use/qt-in-use/ target/desktop

Reference

developer.symbian.org/wiki/index.php/ Qt_for_the_Symbian_Platform_(Product_ Overview) developer.symbian.org/wiki/index.php/ Qt_Technical_Overview developer.symbian.org/wiki/index.php/ Qt_Quick_Start qt.nokia.com/doc/4.6/index.html developer.symbian.org/wiki/index.php/ Category:Qt

9

Open C and Open C++
Overview
The Symbian platform supplies a set of • Usually used to write or port existing standard libraries that enable developers standards-compliant middleware (e.g., to build POSIX-compliant C code and servers, daemons, etc.) near-ISO standard C++, including use of the Standard Template Library. These libraries • As standards-compliant as the can substantially reduce the time and effort underlying operating system allows it to required to port POSIX-based software to be, however it is not compliant in all the Symbian platform. They are especially areas (e.g., it is missing fork()) useful for porting existing C++ or C-based software from the desktop environment, for • Does not provide a mechanism to example, from Linux. interact with the various phone peripherals (e.g., camera, microphone, The C language support comprises four etc.). Applications must call Qt APIs from base libraries (libc, libm, libpthread and the Mobility Project or use native APIs libdl) and related tools, overlayed by a for this purpose number of additional libraries: libssl, libz, libcrypto, libcrypt and libglib. • Not suitable for writing a user interface (UI). Alternatives for creating the UI For standard C++ support the platform include: provides the popular STLport version of the Standard Template Library and also a small > Qt, the cross-platform application but useful subset of the Boost libraries. and UI framework. Qt is compatible with standard C++, and provides high level The libraries do not include APIs for user APIs for rapidly creating elegant user interface development, for access to device interfaces. peripherals (camera, microphone, etc.) or > The Symbian platform GUI framework for access to Symbian application engines > Python for S60, a scripting language like the calendar and contacts; Qt is mainly targeted at prototyping. This is expected to provide this functionality when suitable for applications with minimal UI needed. requirements
Applications, Games or Middleware (C/C++) RGA Boost Standard C++
libc libcrypt IOStreams STL libm libcrypto libz libssl libdl libglib libpthread Open C/C++

Key features

Open C

Symbian OS and S60 Platform

10

The Hitch Hiker’s Guide to the Runtime Space

• Provides a familiar programming interface

Pros

• C++ has a steep learning curve for those unfamiliar with it

Cons

• Creates opportunities for cross• access The Hitch Hiker’s Guide to Does not provide features to most the Runtime Space platform software development and is handset-specific such as demonstrably useful in porting C/C++ code • Existing standards-compliant code will work on the Symbian platform with some minor changes and a rebuild multimedia or telephony • Does not provide Standard C/C++ APIs for the UI or application engines, such as calendar, contacts and messaging applications

• Developers can benefit from a large open-source codebase instead of having to create everything from scratch. This offers both time-to-market and quality advantages • Reasonably large pool of skilled programmers available

Effort estimate
1 2 3 4 5

Symbian C/C++ Documentation developer.symbian.org/wiki/index.php/ Category:C/C%2B%2B Symbian Guide To P.I.P.S. (core libraries) developer.symbian.org/wiki/index.php/A_ Guide_To_P.I.P.S. www.forum.nokia.com/Technology_Topics/ Development_Platforms/Open_C_and_ C++/

Reference

Market share indicator

POSIX is one of the oldest and most widely used standards in programming. It is one of the best ways of using the large open source codebase.

Examples

QUAKE A port of the classic first-person shooter game. The application engine is ported using Open C. koti.mbnet.fi/hinkka/index.html
11

Python
Overview
The Python language is an easy to use but powerful scripting language. Many common tasks can be achieved in just a few lines of code by using its extremely comprehensive standard library. It is ideal for rapid prototyping and development of mobile applications. The Symbian platform enables Python through the “PyS60” runtime, which adds mobile specific APIs to “standard” Python.

Key features

• The Python language is very easy to learn and it is easy to develop applications with it. A lot can be achieved with little code and testing applications in the form of scripts dramatically reduces the time and effort required by a project • Rapid prototyping - the best option for rapid prototyping when creating applications for the Symbian platform • Extensibility - extensions can be written in Symbian C++ to enhance Python’s functionality on the Symbian platform

• Very easy to learn and use, and ideal for testing application models before implementing them using the native language • Access to the filesystem, messaging, contacts database, local connectivity, camera, gallery, sensor framework, GPS, etc. enables development of applications that leverage the platform’s strengths • Scripts can be tested interactively on the emulator without building • The same Python script can run on both emulator and device (as compared to Symbian C++ where a different binary format is required)

Pros

• Python not supported on other mobile device platforms • Less functionality than native Symbian C++ • Python runtime must be manually installed on devices using Python applications • Python’s performance is reasonable but still slower than Symbian C++. It is not suitable for high performance applications e.g. video streaming

Cons

12

The Hitch Hiker’s Guide to the Runtime Space

The Available on Symbian^1Guide and the Runtime Space Hitch Hiker’s devices to •
earlier devices • PyS60 is an open source project, which means developers can modify and build their own, enhanced versions of the runtime • Toolchain is free

• Can be extended through native extension modules for additional functionality

Pros

Effort estimate
1 2 3

(1 – 5, where 1 is the easiest) 4 5

Location Scheduler Trigger alarms or reminders according to location wiki.forum.nokia.com/index.php/How_to_ develop_a_Geo-scheduler_application_-_ Part_1 Symbian Python Documentation developer.symbian.org/wiki/index.php/ Category:Python Python Quick Start developer.symbian.org/wiki/index.php/ Python_Quick_Start Python.org: Language Reference wiki.forum.nokia.com/index.php/ Category:Python Symbian Press Books: Mobile Python developer.symbian.org/wiki/index.php/ Symbian_Press_Books#MobilePython

Market share indicator

(October 2008) Widely available on devices from S60 2nd Edition through to Symbian^1, as an aftermarket installation.

Reference

Examples

PyCalc A utility that demonstrates how to link several scripts and make use of other resources, such as images croozeus.com/blogs/?p=28 ShakerRacer Allows you to control a toy racing car with your phone through Bluetooth symbianresources.com/projects/ shakerracer.php

13

WRT (Web Runtime) Widgets
Overview
Web Runtime (WRT) is a web application development environment from Nokia which enables widgets to run, operate and behave like native applications. Widgets are lightweight web applications that can run independently from the browser application. Widgets use standard web technologies such as HTML, CSS, JavaScript and AJAX. Widgets are quick to develop and easy to distribute and install.

T

Key features

• Enables relatively simple programs, often interacting with server-side web services (e.g., information retrieval and search jump-off) or self-contained games • Widgets’ operations are mainly implemented using JavaScript. The use of standard web technologies means an almost flat learning curve for existing web designers • Web Runtime (WRT) provides extension APIs for widgets to access certain system properties and mobile environments • This is a relatively new environment and is still rapidly growing. Forthcoming versions of WRT will be adding APIs to enable access to information and services provided by the device, for example, GPS, contacts, calendar, messaging, audio and video information and services

T

• Widgets appear to the user as normal applications • There’s an almost flat learning curve for the web design/development community, which reduces the cost and time-tomarket associated with developing mobile applications • Migration between standardsbased widget platforms is relatively straightforward • No signing is required (unlike a native application)
14

Pros

• Not all common JavaScript functions and HTML properties are supported in the current Nokia WRT platform • The current version of WRT has extremely limited access to phone hardware and features: basic power, memory, language, network information, control of keypad lights and phone vibration • Performance can be an issue for more complex applications

Cons

The Hitch Hiker’s Guide to the Runtime Space The Hitch Hiker’s Guide to the Runtime Space

Effort estimate
1 2 3

(1 – 5, where 1 is the easiest) 4 5

The Hitch Hiker’s Guide to the Runtime Space The Hitch Hiker’s Guide to the RuntimeWeb Runtime homepage Space Forum Nokia: Market share indicator
Widely available.

Web technologies on developer.symbian.org developer.symbian.org/wiki/index.php/ Category:Web_technologies

Reference

Examples

www.forum.nokia.com/Technology_Topics/ Web_Technologies/Web_Runtime

The symbian.org Widget developer.symbian.org/wiki/index.php/ Symbian.org_WRT_Widget Symbian Widget Tutorial Step by step guide to create a WRT widget. developer.symbian.org/wiki/index.php/ WRT_Widgets_Tutorial

15

Web Browser
Overview
Web browsers on mid- to high-end mobile handsets have matured into an environment that offers the functionality of PC-based browsers. There are a variety of browsers in the marketplace including Nokia Web Browser for S60 (based on WebKit), Microsoft Internet Explorer Mobile and Opera Web Browser/Opera Mini. They all share some core code with PC-based browsers (Safari, IE and Opera respectively). This commonality means that for many applications, your PC-based web content can be easily repurposed for mobile using familiar web technologies. However, your must remember that there are many differences between PC and mobile usecases as well as many platform limitations – screen size being the most obvious. Testing on a variety of mobile devices and networks is as important as testing on different PC browsers. Browser-based mobile content often makes sense as a low-cost option for a first move into the mobile space. Skills are readily available and build times are relatively low. The flip side is that functionality is extremely limited and, compared to application-based approaches, the user experience can be poor. For example, it may take a significant amount of time for the browser itself to launch and load your content, and typing a URL on a numeric keypad is not always easy.

Key features

• Many websites designed for PC will be accessible and usable on high-end mobile web browsers without alteration • Unlike an application, the content and the ‘look and feel’ of a website can be updated for all users instantaneously. This allows incremental feature launches and faster development cycles • True web layout – some browsers display web content as it would look on a desktop screen, without resizing or repurposing for the handset display • Browsers offer various levels of standards support, including HTML, XHTML, CSS, JavaScript, AJAX, Flash Lite and SVGT 1.1 content embedded in web pages, as well as RSS subscription functionality. Check the documentation for the different browsers for further information

16

The Hitch Hiker’s Guide to the Runtime Space

• data The Hitch Hiker’s Guide to theLatency, data charges are significant Runtimetransfer speeds and Space • Web content runs in a limited sandbox. network It does not need to go through the same security checking as installed applications, so the deployment cycle is quicker

• Some browsers deliver a full, highly standards-compliant, desktop-like web experience

Pros

• The content or application is unavailable when there is no Internet connection

Cons

considerations in mobile Internet browsing. Content should be optimized accordingly

• Support for web standards means that development skills are readily available in the community • Allows content to be updated immediately for all users • A single, well-designed web page can be usable on desktop and mobile devices, with no need to maintain separate versions • The user does not need to perform any (complicated or intimidating) installation

• Some devices have limited memory available and exceeding the limit may result in incomplete page display or other problems • A badly designed web page may display poorly or may not even display at all • Some browsers (e.g., Opera Mini and Skyfire) use a transcoding server at the network head-end to pre-format content. This means that your content is not directly communicating with the handset itself, which can cause problems with session identification and AJAX functionality

Effort estimate
1 2 3

(1 – 5, where 1 is the easiest) 4 5

Reference

Web technologies on developer. symbian.org developer.symbian.org/wiki/index.php/ Category:Web_technologies Forum Nokia: Web Browser www.forum.nokia.com/Technology_Topics/ Web_Technologies/Browsing

Market share indicator Examples

The vast majority of mobile handsets in circulation feature one form of web browser or another. Forum Nokia: Example site forumnokia.mobi/example_site

17

Java ME
Overview

(Java Platform, Micro Edition)
Key features

Java ME provides a robust, flexible environment for applications running on mobile and other embedded devices. It includes user interfaces, security, builtin network protocols, and support for networked and offline applications that can be downloaded dynamically. Applications based on Java ME are portable across many devices, yet can leverage the native capabilities of each device.

• Flexibility – rich Java APIs • Portability – well-written Java ME applications that use standard APIs can run in multiple operating environments, although there are challenges such as adapting to different screen sizes • Security – Java ME applications use signing and a tiered security model to control access to protected APIs. Security signing is strongly recommended in order to be able to promote the application to the widest possible audience • Extensibility – the Mobile Service Architecture (MSA) defines standard API sets. This enables developers to determine which extensions are available on the device

• The Java programming language is familiar to thousands of programmers • There is an abundance of good quality, free and open source tools for development, debugging and profiling • Java runs in a secure sandbox so that networks and handsets cannot be compromised • The portability of Java ME applications across operating environments provides easier and wider access into the mobile devices application market

Pros

• Fragmented Java ME implementation can prevent Java ME applications that have been written for a particular device or platform from functioning correctly on other devices and platforms • Java provides only limited access to phone functionality and there is no easy mechanism for dynamically extending access in after-market software. Java Specification Requests (JSRs) cover many APIs, however there is still a gap between J2ME and native functionality

Cons

18

The Hitch Hiker’s Guide to the Runtime Space

The Hitch Hiker’s Guide to the Runtime Space

• Java APIs are designed collaboratively between various expert stakeholders in the industry (www.jcp.org) to ensure they are fit for purpose

Pros

• The requirement to launch the Java VM can result in slower application startup times than for applications in other environments • Java ME applications are generally not suitable for background tasks as many platforms do not allow Java applications to run in the background, although Java ME on Symbian does allow this • Political considerations in Java signing can leave Java ME applications unsigned, which can compromise the security of the application and affect the user experience (users will be regularly prompted to confirm that they ‘trust’ the application)

Cons

Effort estimate
1 2 3

(1 – 5, where 1 is the easiest) 4 5

Sun Developer Network: Java ME at a glance java.sun.com/javame/index.jsp Sun Developer Network: Mobility technical articles developers.sun.com/mobility/allarticles Java Community Process Program: JSR overview jcp.org/en/jsr/overview Java ME on Symbian developer.symbian.org/wiki/index.php/ Symbian_Press_Books#JavaOnSymbian

Reference

Market share indicator

(October 2008) Screen Digest estimates that over 90% of mobile devices support the installation of Java ME games.

Examples

Centipede The classic Atari game by Glu Mobile Inc. glu.com/noram/pages/product. aspx?pr=Centipede Block Breaker Deluxe A frenzied game of block breaking action and fun by Gameloft. gameloft.com/mobile-games/blockbreaker-deluxe

19

Flash Lite
Overview
Adobe Flash has become the de facto standard for delivering rich, interactive graphics on the web. Flash Lite is the Flash profile specifically designed for mobile and consumer electronic devices. It enables mobile application developers and designers to create engaging content and applications with customized user interfaces.

Key features

• Access to content and video on the Internet created using Adobe’s suite of tools • Runtime graphics – Flash Lite supports sophisticated vector and bitmap graphics as well as animated shapes at runtime • ActionScript 2.0 support – The ActionScript 2.0 programming language is very similar to JavaScript • Support for common video format across all handsets, with Flash video (FLV) support from Flash Lite 3 • Extremely compact file size – Ideal for wireless networks • Persistent data – Local storage of application-specific information such as preferences, high scores and usernames • Limited integration with certain device features, such as call logs

• Flash Lite supports many different content types, including wallpapers, screensavers, games and applications • Proven technology that has been available for a decade on the Internet • Available across multiple high-end and mid-range devices • Available on multiple operating systems
20

Pros

• Flash Lite is only a subset of full Flash • Although applications are portable within a particular group of devices, they must be tailored for different groups of device • Deep integration with the handset UI is only available on some devices • The level of access to device and network functionality is limited

Cons

The Hitch Hiker’s Guide to the Runtime Space

TheRuns in a secure sandbox so that to the Runtime Space Hitch Hiker’s Guide •
network and handset cannot be compromised • Powerful yet easy-to-use development tools • The visual authoring environment enables both non-technical people (such as graphic designers) and developers to

• Reasonable portability: write once, run everywhere within the same target devices group and supported content type

Pros

• Tools cost money (See the Reference section)

Cons

Effort estimate
1 2 3 4 5

Reference

Open Screen Project www.openscreenproject.org Adobe: Flash Lite supported devices www.adobe.com/mobile/supported_ devices/handsets.html Adobe: Design Central CS4 (authoring tool) www.adobe.com/products/creativesuite/ devicecentral Adobe: Mobile & Devices Developer Center www.adobe.com/devnet/ devices/?view=gettingstarted Flash Lite Quick Start developer.symbian.org/wiki/index.php/ Category:Flash_Lite

Market share indicator

(October 2008) Over 300 million Flash-enabled devices in the marketplace available to consumers as of Oct. 2008. Expect 1 billion by 2010.

Examples

Fickle Blox A fast-moving puzzle game by Bluesky North. blueskynorth.com/portfolio/index. php?project_id=9

21

Demand Paging on Symbian
Demand Paging on Symbian
What you will learn from this book
How Symbian uses  demand paging. How to use and c onfigure dem paging on new Sy and  mbian devices. How to implemen t demand paging  for the first time, c factors that may a onsidering those  ffect perform and ROM size. ance 

Our first eBook, available for free download from Symbian’s developer website.
How to evaluate t he impact of  demand paging o n a component  or a group of com ponents. How to combine k demand paging is eywords so that   switched on in  sensible way s for XIP-ROM ima and executables. ges  How to test and d demand-paged e ebug in a  nvironment to  resolve issues tha demand paging. t may arise with 

As Symbian-base d devices becom feature rich, the d e increasingly  emand on system increases. Deman  resources  d paging will give free RAM, faster st  you more  stability when out  art-up times, and better  of memory.

This book provide into the workings  s a comprehensive insight  of demand paging  Symbian. It gives  clear instructions o on  implement an n how to  d con a new platform, ho figure demand paging on  device drivers, andw to write demand-paged  demand-paged s  how to test and debug  ystems.

Jane Sales

Demand Pagin g on Symbian

The book demon strates theoretica while providing pr l concepts  actical examples. I paced tutorial that t is a fastdecisions that you  focuses on the critical  of tips and advice.  need to make, and is full 

This book is prima who need to creat rily for Symbian engineers  ROMs, fine tune the demand-paged system  em, and write de for them. It w vice drivers  ill also or middleware dev  be of interest to applica tion  the impact of dem elopers wanting to understand and paging on the   ir code.

Who this book

is for

ISBN 978-1-9072 53-00

-3  

In this book, you will learn:
• How Symbian uses demand paging • How to use and configure demand paging on new Symbian devices • How to implement demand paging for the first time, considering factors that may affect performance and ROM size • How to evaluate the impact of demand paging on a component or a group of components • How to combine keywords so that demand paging is switched on in sensible ways for XIP-ROM images and executables • How to test and debug in a demand-paged environment to resolve issues that may arise with demand paging As Symbian-based devices become increasingly feature rich, the demand on

system resources increases. Demand paging will gives more free RAM, faster start-up times, and better stability when out of memory. Jane’s book demonstrates theoretical concepts while providing practical examples. It is a fastpaced tutorial that focuses on the critical decisions that you need to make, and is full of tips and advice. The book is primarily for Symbian engineers who need to create demandpaged system ROMs, fine tune them, and write device drivers for them. It will also be of interest to application or middleware developers wanting to understand the impact of demand paging on their code. You can download the pdf book from developer.symbian.org/wiki/index.php/ Demand_Paging_on_Symbian Print copies are also available from Amazon.co.uk (there’s a link on the wiki page to find it).

22

Porting to the Symbian Platform
The first book for a new generation of Symbian developers, published by the Symbian Foundation in September 2009.
Mark Wilcox

Open Mobile De velopment in C/C++

Porting to th e Symbian Platf o

rm

If you want to write mobile applications without the idioms of Symbian C++, have existing software assets that you’d like to re-use on Symbian devices, or are an open source developer still waiting for an open Linux-based device to gain significant market penetration, this is the book for you! Beginning with an introduction to the native programming environments available, you learn how to go about porting your code to the Symbian platform. Next, we discuss how to port to Symbian from some other common platforms, including Linux and Windows. Finally, we examine sample porting projects as well as advanced information on topics such as platform security. The author team consists of no less than six Forum Nokia Champions, together with technical experts from the Symbian community, either working on Symbian platform packages or third party application development. With this book, you will benefit from their combined knowledge and experience.

In this book, you will learn:
• How to port and make use of existing open source code to speed up your development projects • How to port applications from other mobile platforms to the Symbian platform • How to write code that is portable across multiple platforms • The APIs in the Symbian platform for cross-platform development, such as support for standard C/C++ and Qt Creating native mobile applications and middleware has never been easier. So what are you waiting for? Find out more about this upcoming book at eu.wiley.com/WileyCDA/WileyTitle/ productCd-0470744197.html

23

For further information about the Symbian platform, please visit developer.symbian.org. Comments and suggestions about this booklet can be sent to docs@symbian.org, or left on the discussion forums at developer.symbian.org/forum. Please enjoy this booklet responsibly, and recycle it after reading, where facilities exist.

You're Reading a Free Preview

Download
scribd
/*********** DO NOT ALTER ANYTHING BELOW THIS LINE ! ************/ var s_code=s.t();if(s_code)document.write(s_code)//-->