MeeGo sdk overview -MeeGo day april 2011
-
Upload
csdnmobile -
Category
Education
-
view
1.425 -
download
1
description
Transcript of MeeGo sdk overview -MeeGo day april 2011
MeeGo SDKOverview
John, ChenBob, Spencer
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
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
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
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
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
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
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
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)
10
MeeGo API
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).
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
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
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