MeeGo sdk overview -MeeGo day april 2011

14
MeeGo SDK Overview John, Chen Bob, Spencer April 2011

description

 

Transcript of MeeGo sdk overview -MeeGo day april 2011

Page 1: MeeGo sdk overview -MeeGo day april 2011

MeeGo SDKOverview

John, ChenBob, Spencer

April 2011

Page 2: MeeGo sdk overview -MeeGo day april 2011

2

MeeGo SDK Overview

Tools Qt / Qt Quick Qt Creator IDE Qt Designer, Qt Quick Designer Qt Simulator QEMU virtual machine

API MeeGo API, based on Qt

Documentation Integrated help, web/wiki, tutorials, online community

Page 3: MeeGo sdk overview -MeeGo day april 2011

3

MeeGo Application Development Cycle

Develop Debug DistributePackage

CommunityRepositories

Features

• Cross-OS

• Deploy/debug with VM or device

• Device emulation

• Better packaging support

• Integration with Qt Creator

• manual

• RPM Spec Creator

• public OBS

• plugin to Qt Creator

Virtual MachineOr “Emulator”(per vertical)

• plugin to Qt Creator

MeeGo toolchain

On device

QEMUQEMUQEMU

Linux or WindowsWorkstation

Page 4: MeeGo sdk overview -MeeGo day april 2011

4

MeeGo Developer Story – Alternate approaches

Develop Debug

XephyrLinux

Workstation

MeeGo chroot

(GL accelerated)

Features

• Change-root flexibility

• Limited to Intel Graphics

MeeGoWorkstation

Device

DistributePackage

CommunityRepositories

• manual

• RPM Spec Creator

• public OBS

• plugin to Qt Creator

• plugin to Qt Creator

Page 5: MeeGo sdk overview -MeeGo day april 2011

5

Host and Target Platforms

• Host System OS Fedora 12, 13, 14 Ubuntu 10.04, 10.10 Windows XP SP3, Windows 7 TBD: Mac / OS X

• Target Platforms x86 Netbook, x86 Handheld (nCDK or Avaa?), n900

Includes images for the device and emulation in QEMU

Page 6: MeeGo sdk overview -MeeGo day april 2011

6

Installation

• Single SDK file download• GUI-based (Qt) Installer for all hosts• Current status:

• Windows: meego-sdk-installer.exe• Linux:

1. Update system repo config2. Install meta-package3. Download vertical build tools and QEMU image(s)4. Configure Qt Creator to use correct tools

Page 7: MeeGo sdk overview -MeeGo day april 2011

7

Emulation

• Qt Simulator−*New with Qt Creator 2.1. Preview available by mid-February

−Ability to run/debug Qt and QML applications

−Device simulation

• QEMU Virtual Machine−Boot full MeeGo OS on host

−Integrated with Qt Creator. Button to launch QEMU for running/debugging

−Coming: Accelerated graphics (Linux only)

• Flexible skin framework−Defaults for handset and tablet. Customizable: add skin for your device

−Map skin areas to events (click button sends event to QEMU)

−Rotation

−Zoom in/out skin and QEMU

Page 8: MeeGo sdk overview -MeeGo day april 2011

8

Virtualized Devices / Sensors• Keyboard / Kpad / DPad / Trackball / Platform buttons• Mouse • Touchscreen• Landscape mode and Portrait mode support• Screen Rotation

• Audio• Network• Battery• Camera• GPS • Telephony

• Incoming calls• Incoming SMS• Incoming email

• CF/SD/MSP/XD, plug-in/pull-out• USB connection/eject• AC Battery Charge (Get Level and State)• Flexible Resolutions (864*480 for Aava..)• Accelerometer• Magnetometer• Ambient light• Nand Flash• Card-in-one Support (CF/SD/MSP/xd…)• Bluetooth• Video Capture

Currently available

Planned to be implemented

Page 9: MeeGo sdk overview -MeeGo day april 2011

9

Tools

• Packaging−“Package and deploy” for debugging (Simulator, QEMU, or device)

−Package for deploy to a store

−Integrated into Qt Creator

−Documentation guidance

−Example applications

• Compliance• Application and OS checkers. Documentation.

• Integrated into Qt Creator (future)

• Performance−Performance measurements: CPU and memory usage

−Integrated into Qt Creator (future)

Page 10: MeeGo sdk overview -MeeGo day april 2011

10

MeeGo API

Page 11: MeeGo sdk overview -MeeGo day april 2011

11

MeeGo API

• Platform API: APIs for all components in the MeeGo core. Documentation derived from respective projects. No compatibility guarantee. Not productized. Subject to change.

• Extension API: Set of productized interfaces for MeeGo platform. Compatibility e.g. within Minor release, individual API can be marked as deprecated (will be removed in the next major release)

• MeeGo API: Stable, productized, forward compatible set of interfaces. Source code compatibility within Major MeeGo release (the same as Qt).

Page 12: MeeGo sdk overview -MeeGo day april 2011

12

MeeGo 1.2 API Proposal (not final)

MeeGo API • EGL 1.4

− Required for Open GL ES • OpenGL ES 1.1

− For fixed function hardware, emphasizes image quality, graphics acceleration, and high performance.

• OpenGL ES 2.0 − Enables full programmable 3D

graphics.• Qt 4.7

− The core Qt Framework• Qt Mobility 1.2

− Backwards compatible with 1.0 version

• Qt WebKit 2.2− Delivery separated from Qt

Framework• Qt Components 1.0 *

− First set of common Qt Component API

* Requires further definition

Extensions• Accounts-Qt

• To be replaced by QtM Accounts API from 1.3 onwards• Signon

• To be replaced by QtM Accounts API from 1.3 onwards• Telepathy-Qt4

• To be replaced by QtM Presence, IM & Telephony API from 1.3 onwards• QmSystem

• To be gradually replaced by QtM System Info API• QtSparql

• To be pushed to Qt Fw 4.8• Resource Policy

• To be replaced by QtM API from 1.4 onwards• EGLIBC

• Every UNIX operating system needs a standard C library that facilitates the usual system and library calls and provides core services, since these are not integrated to the C language.

• GLib • GLib is a general-purpose utility library, which provides many useful data types,

macros, type conversions, string utilities, file utilities, a main loop abstraction, and so on.

• GStreamer • GStreamer is a development framework for creating applications like media

players, video editors, streaming media broadcasters and so on.• PulseAudio

• PulseAudio provides features like Per-application volume controls, extensible plugin architecture with support for loadable modules, low-latency operation

Page 13: MeeGo sdk overview -MeeGo day april 2011

13

Documentation

• Contents−Architecture Overview

−MeeGo API

−Getting Started. (Download, configure, Hello World)

−Tutorials for major areas

−Compliance

• Integrated Help in Qt Creator and WRT IDE • MeeGo Online SDK

−Currently: http://meego.com/developers

Page 14: MeeGo sdk overview -MeeGo day april 2011

14

SDK Milestone Summary

Milestones• Oct 2010 – M0: MeeGo 1.1 SDK Release

• Nov 2010 – M1: Windows Support

• Feb 2011 – M2: Qt Creator 2.1, Qt Simulator

• Apr 2011 – M3: MeeGo 1.2 SDK ReleaseF15, Ubuntu 11.04, Graphics acceleration in Linux

• July 2011 – M4: Mac OSX

• Oct 2011 – M5: MeeGo 1.3 SDK ReleaseUpdated targets. Updated host OS support.

2010 2011Apr May JunMarJanDecNovOct Feb Oct Nov DecSepJul Aug

SDK 1.1 Release

M0Windows

M1Qt Creator

2.1

M2SDK 1.2 Release

M3Mac OSX

M4SDK 1.3 Release

M5