Qt for Android (and Symbian)

Slides:



Advertisements
Similar presentations
© 2011 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential. Ashish Mishra Automation Lifecycle of Mobile Applications.
Advertisements

Android Application Development A Tutorial Driven Course.
Programming with Android: SDK install and initial setup Luca Bedogni Marco Di Felice Dipartimento di Scienze dellInformazione Università di Bologna.
1 Pulsar The Eclipse Mobile Industry Working Group & Sequoyah Nov 6, 2010 Mailing listMailing list:
Introduction to Mobile Computing Dr. Frank McCown Harding University Spring 2010 An Overview of Mobile Devices and Developing Mobile Applications.
Ethan Bruning Senior Sales Engineer Mobile Capture Apps – Introduction to Mobile Capture App Design and Development.
Hybrid or Native?! Doncho Minkov Telerik Software Academy Senior Technical Trainer
Developing for Symbian OS Andrei Tabarcea,
Muslem AL-Saidi. Outline Introduction Mobile Operating Systems Types Upcoming Operating Systems Popular Smartphone Operating Systems How secure are they?
Programming with Android: SDK install and initial setup Luca Bedogni Marco Di Felice Dipartimento di Informatica: Scienza e Ingegneria Università di Bologna.
Cosc 4730 Installing IDEs And a note on carriers..
DEPARTMENT OF COMPUTER ENGINEERING
HTML5 That’s what you need to know today Ingo Rammer, thinktecture
Google Android as a mobile development platform T Internet Technologies for Mobile Computing Olli Mäkinen.
2. Setting Up Your Android Development Environment.
ANDROID PROGRAMMING MODULE 1 – GETTING STARTED
Background of Mobile App Development North Carolina A&T State University.
MOBILE APP DEVELOPMENT Presented by Md. Zakaria Chowdhury CEO, Webcraft Bangladesh Director, Sylhet IT Academy.
The PhoneGap History Doncho Minkov Telerik Academy academy.telerik.com Technical Trainer
Esri International User Conference | San Diego, CA Technical Workshops | ArcGIS Runtime Euan Cameron Mary Harvey Ralf Gottschalk Road Ahead.
UFCFX5-15-3Mobile Device Development UFCFX Mobile Device Development An Introduction to the Module.
Android Introduction Platform Overview.
Sayed Ahmed BSc. Eng. In Computer Sc. and Eng. (BUET), Bangladesh MSc., Computer Science, Canada President/Chief Architect/Lead Developer Justetc (Just.
Parts of a Computer Why Use Binary Numbers? Source Code - Assembly - Machine Code.
Telerik Software Academy Software Quality Assurance.
Lecture 8 – Platform as a Service. Introduction We have discussed the SPI model of Cloud Computing – IaaS – PaaS – SaaS.
© 2011 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential. Adobe Presentation Brijesh Patel | Working with AIR Native Extensions.
May 10, 2012 Lloyd Moore, President/Owner. Quick Start Video Building Mobility 1.2 SDK Emulator Quirks Installing On A Device Summary Overview.
Programming Fundamentals 2: Background/ F II Objectives – –give a non-technical overview of Java Semester 2, Background.
Java Mobile Apps with GWT & PhoneGap Josh Marinacci, webOS Developer Advocate.
Introduction to Android. Android as a system, is a java based operating system that runs on the Linux kernel. The system is very lightweight and full.
Developing Enterprise Mobile Apps with Xamarin Loren Horsager CEO, Mobile Composer.
ANDROID Presented By Mastan Vali.SK. © artesis 2008 | 2 1. Introduction 2. Platform 3. Software development 4. Advantages Main topics.
Some considerations… Apps available by platform PlatformTotalPercentage iOS617, % Android342, % BlackBerry117, %
Android for Java Developers Denver Java Users Group Jan 11, Mike
Setting Up The Android SDK (Software Development Kit) A basic step by step guide leading to set up and your first Hello World App.
Presented By: Muhammad Tariq Software Engineer Android Training course.
Mobile Platforms. Competitive Landscape Operating Systems iPhone BlackBerry Windows Mobile Android Symbian.
What is Android……? Android is an Operating System (OS) created by Google to run on any small electronic devices such as cell phones, e- books, Media Internet.
Educational & entertraiment applications on Android platform «Piano» and «Abetare» Anisa Shehu Prof. Asoc. Elinda Meçe 14 th Workshop “Software Engineering.
ANDROID BY:-AANCHAL MEHTA MNW-880-2K11. Introduction to Android Open software platform for mobile development A complete stack – OS, Middleware, Applications.
 Installation of Android Development Environment  Creating the App with OpenGL ES API  Running the App on Emulator Android App Development.
Android absolutely dominated the number of smartphones shipped worldwide in the first three months of 2015, with.
The way of hybrid mobile development Hybrid Mobile Applications Telerik Software Academy
KAASHIV INFOTECH Presents INTEL XDK For Inplant Training / Internship, please download the "Inplant training registration form" from our website
Symbian OS 1.  Symbian  Symbian OS is an operating system and software platform that designed for smart phones and maintained by Nokia.  Symbian platform.
Developing Cross Platform Apps with the ArcGIS Runtime SDK for Qt
1 Get All Answers Get All Answers. Contents History of Android Android Fragmentation The Role of Google Features and Architecture Android Software Development.
Inspirirani ljudima. Ugasite mobitele. Hvala.. Paolo Pialorsi Senior Consultant PiaSys ( Publishing apps for SharePoint 2013 on Microsoft.
Build Cross-Platform Mobile Apps Using Visual Studio A Telerik webinar by Jeffrey T. Fritz March 27, 2014 AND.
How to Sync Android Phone to Computer (PC/Mac)? Are you a person that always has your Android phone in your hands? Nowadays, a cell phone is not just for.
3 main operating system! BY Charlotte Oates. Microsoft windows! A family of operating systems for personal computers. Windows dominates the personal computer.
Guide To Develop Mobile Apps With Titanium. Agenda Overview Installation of Platform SDKs Pros of Appcelerator Titanium Cons of Appcelerator Titanium.
Instructor: Syed Shuja Hussain Chapter 4: Operating System Basics.
The Basics of Android App Development Sankarshan Mridha Satadal Sengupta.
Geospatial Research & Solutions GIS.ASU.EDU
Android Mobile Application Development
Obtaining the Required Tools
Browsers and Web Platforms
Android.
Apache Cordova Overview
Dynamics of Mobile Application Testing
Platform as a Service.
On the road: Test automation in practice for a BMW map update service
Development-Introduction
Mobile Application Development with MeeGo™ - Programming with SDK
Chapter 4.
Mobile App Development
Korea Software HRD Center
Presentation transcript:

Qt for Android (and Symbian) Tam Hanna tamhan@tamoggemon.com @tamhanna

About /me Tam HANNA CEO, Tamoggemon Ltd. Runs web sites about mobile computing Writes scientific books

Overview Qt for Android (focus) Qt for Wrap-up Symbian MeeGo TiZen webOS Wrap-up

What is Android

Largest mobile OS by share Data: IDC 2012, Market Share Q3

Android is open Runs ANY app No permission model If user enables it 50 000 app stores No permission model User is NOT root

Android is Java Apps run in special VM called DALVIK Pretty high performance But: NDK is available Allows use of C++ code

Android is „fragmented“ Many vendors Different form factors Many stores Many back-ends Analyst buzzword Low practical relevance – like PalmOS

Qt for Android

Community-driven port Started by Bogdan Vatra 2011 „Aquired“ by KDE Provides server infrastructure, etc No support from Nokia Digia mentioned in press release

LightHouse

Getting started

Supported platforms Linux (Ubuntu 10.4 +) Mac OS Windows Speaker recommends: Linux

Getting started Install Ant 1.8 and OpenJDK sudo apt-get install ant sudo apt-get install openjdk-6-jdk

Graphical set-up http://necessitas.kde.org/necessitas/necessitas_sdk_installer.php chmod +x linux-online-necessitas-alpha4.1-sdk-installer sudo ./linux-online-necessitas-alpha4.1-sdk-installer

Automatic deployment Tool fetches SDK „One Click Install“

Starting Necessitas tamhan@ubuntu:~$ cd NecessitasQtSDK/ tamhan@ubuntu:~/NecessitasQtSDK$ cd QtCreator/ tamhan@ubuntu:~/NecessitasQtSDK/QtCreator$ cd bin tamhan@ubuntu:~/NecessitasQtSDK/QtCreator/bin$ sudo ./necessitas

Internal architecture

Library versioning Qt is updated frequently Qt is large Legal reasons Downward compatibility is pretty good Qt is large 7MB binary, or more Memory is limited

Solution: Ministro Sits in app stores Auto-downloads libraries to device

Overview

GUI sniffing

GUI sniffing - II

Input

Project-speficic settings

Configure baseline

Application optics

Permissions

Permissions - II Signify what app does Help user decide

Libraries

Signing

Signing - II Android Signing verifies producer This binary is from workstation A NO rights / trust transfer except for update

Library management

Porting gotchas

Definitions

File includes All include paths are based on /.pro

Includes #include <qDebug> #include <QDebug>

gcc gotchas

Specific eekers Native code bits? Platform-specific files .pro.user files Soft keys?

Why develop for Symbian Symbian is DEAD But: devices still in circulation Top especially in Latin America

Development options Carbide Qt Creator Eclipse-based Mature IDE Limited to 4.6.3 Can not debug well Qt Creator Decent integration Debugs well Qt SDK auto-deploys toolkit

Ovi Store - I Ovi Store can drive huge volume 1 million downloads => no issue VERY low conversion rates 1:1000 or less

Ovi Store - II Limited device reach for Qt content Not every Qt-capable device is enabled Forget Ovi for China 3 cents / Dollar

Ovi Store - III DL/t for game

Ovi Store - III DL/t for app

MeeGo

Dead platform N900 and N9 sold decently well Few thousand technically savvy users Jolla plans Chinese device But: good tooling

TiZen

What is it?

Will it be in v1? SDK for V1 is said to be web-only However, Qt is used internally C/C++ runtime might be around (bada)

webOS

Why develop for it? Not dead yet Unofficial Qt port GRAM Cooperation with LG planned Unofficial Qt port http://www.webos-internals.org/wiki/HowtoQt

Conclusion

Mobile is fragmented Multiple platforms C++ is common base line Battle for mindshare and Winner is yet undecided C++ is common base line C++ is everywhere Even on iOS and Windows Phone 8

Mindshare is everything

Qt saves time Develop once, deploy multiple times Increase mindshare Increase market presence More revenue Worst case: redo GUI with QML

?!? - !?! tamhan@tamoggemon.com @tamhanna Pictures from : Thanks ! ?!? - !?! tamhan@tamoggemon.com @tamhanna