Upload
qt-project
View
622
Download
1
Embed Size (px)
DESCRIPTION
There are all kinds of applications today, in all possible forms: on the desktop, on the Web, on your mobile, on your coffee machine, etc. So how can you make the jump from one platform to another? How can Qt help you? More importantly, how is Qt helping you reduce your costs, increase your productivity, if/when you have to make that jump? Presentation by Thiago Maciera held during Qt Developer Days 2009. http://qt.nokia.com/developer/learning/elearning
Citation preview
13/11/09
From Desktop to Web to Mobile Thiago Macieira How Qt helps you go everywhere
2
22
Who am I?
• Senior Product Manager at Nokia, Qt
• Degrees in Engineering and an MBA
• Almost 3 years with the company
• Focus on the Core & Infrastructure domains
• Other or past duties:– Developer in the Core Team
– Working mostly with networking, I/O, threads
– Liaison to the KDE community
– Release manager for Qt
3
3
Agenda
• Landscape
• Convergence
• How Qt can help you
4
4
Last year, we talked about...
• Desktop / Embedded convergence
• Focussed on the embedded ports of Qt:– Embedded Linux (previously existing)– Windows CE (recently released in Qt 4.4)
5
5
This year, we’ll talk about...
• Desktop / Embedded / Mobile / Web convergence
• Mobile activities:– Symbian and Maemo 5 ports– Qt Mobility project– Nokia
• Web activities:– QtWebKit improvements– Web Runtime
6
6
Why should I consider this?
• Huge installed base
• Economies of scale
• Blurring definition of devices
• Leveraging the Web
• And because it’s easy with Qt
7
7
PC addressable market
• Market still growing but decelerating– CAGR 2003-2008: 14.5% 2008-2013: 5.2%
• Portable trend– Notebooks and laptops overtook in 2008
Source: StrategyAnalytics
8
8
PC market by Operating System
• Market fairly established:– Windows clearly dominates– Mac OS X rising in popularity– Linux making slow inroads
• Low-cost, public sector, etc.
• Many toolkit options:– Microsoft has several offerings– Apple has only one official offering– Linux has two alternatives (one of them being Qt)
9
9
Mobile addressable market
• Overall market: greater volume, but slower growth:– CAGR 2007-2013: 2.9%
• Smartphone market: similar size, huge growth:– CAGR 2007-2013: 27.2%
Source: Informa, Jan/09
Phone shipments
2007 2008 2009 2010 2011 2012 20130
300
600
900
1200
999 1037867 818 802 818 823
120162
211 291 379443 507
11%11%13%13%
20%20%
26%26%
32%32%35%35%
38%38%
SmartphonesOther%
Year
De
vice
s (m
)
10
10
Mobile market by Operating System
• Smartphone market very fragmented:– Symbian will remain the leader for the time being
– Fragmentation will increase before it decreases
• Each OS has its own toolkit
Source: StrategyAnalytics, Jul/09
Smartphone installed base
2006 2009 2012
Symbian62,7% Blackberry
5,8%
Windows Mobile12,2%
Linux (incl. Android)12,1%
Others7,1%
Symbian50,1%
iPhone8,6%
Blackberry13,3%
Windows Mobile13,4%
Linux (incl. Android)12,1%
Others2,5%
Symbian35,7%
iPhone15,3%
Blackberry14,1%
Windows Mobile12,8%
Linux (incl. Android)19,9%
Others2,3%
11
11
The Embedded market
• Varied processors and OS, but changing
• Consolidating:– Processors: ARM and MIPS– OS: Linux (mid and high-end)
• Hardware seriously underpowered:– Little or no graphics acceleration– Memory limitations
Source: Qt Development Frameworks internal analysis
12
12
Agenda
• Landscape
• Convergence
• How Qt can help you
13
13
What is convergence?
• “Technological convergence is the tendency for
different technological systems to evolve towards
performing similar tasks.”– Wikipedia - http://en.wikipedia.org/wiki/Technological_convergence
• The lines of separation blur:– Different devices do the same jobs
– Consumers start expecting the same behaviour
• Example:– Web browsing
14
14
Devices themselves are converging
• CPU, GPU and battery life are very close:– Laptops are becoming lighter– Netbooks are getting better battery life
• Example: Nokia 3G Booklet has 12 hours
– Mobile devices are getting more powerful:• Example: Nokia N900 mobile computer
• Services are the differentiation
15
15
Device convergence: 3-device illustration
Smartphone Mobile Computer
Nokia N900
ARM 400 MHz processor 256 MB of RAM
32 GB of storage
Netbook Asus eeePC
Atom 1.6 GHz processor 1 GB of RAM
80 GB of storage
Laptop Dell XPS
Core 2 Duo 1.6 GHz processor 2 GB of RAM
160 GB of storage
16
16
The Web is also forcing convergence
• Zero install, zero deployment
• Emerging Web technologies:– HTML 5 / CSS 3– Web widgets– Web tools
• Easy access to developers– Large pool of talent to tap onto
17
17
Note of warning: web isn’t so simple
• Many standards, poor support:– HTML 4, HTML 5, XHTML 1.x, CSS 2, CSS 3, ECMAScript
– Browser engines must cope with broken source code
– Web developers must cope with engine limitations
• Desktop landscape:– Internet Explorer 6 still over 60%
– IT corporations block upgrades
• WebKit dominates mobile:– Used by Nokia, Apple, Google, Palm, Research in Motion¹
– Existing 3rd-party browsers for Windows Mobile
1) Blackberry doesn’t use WebKit yet, but it’s expected to do so soon
18
18
Agenda
• Landscape
• Convergence
• How Qt can help you
19
19
Without Qt, you’d use...
• Desktop:– Windows: Microsoft .NET framework– Mac: Apple’s Cocoa framework
• Mobile / Embedded:– Symbian: Symbian C++ API– Windows Mobile: Microsoft .NET embedded
• Web:– HTML 5 / CSS 3 / custom JavaScript extensions– Adobe Flash, Microsoft Silverlight
20
20
Desktop with Qt
• Traditional Qt segment– Strongest API base– Most customers
• Platforms supported:– Windows 2000, XP, Vista, 7 (and some Server)– Mac OS X 10.4, 10.5, and 10.6:
• 32- and 64-bit, PowerPC and x86
– Linux with X11• Any platform
21
21
Embedded and Mobile with Qt
• Renovated focus for Qt:– API completeness – Qt Mobility project– Performance, memory profiling
• Platforms supported:– Linux with DirectFB, on ARM, MIPS, and x86– Linux with X11, on ARM and x86– Windows CE 5.0, 6.0, Mobile 6.0, 6.5– Symbian 3.1, 3.2, 5.0 (and future versions)
22
22
Using Qt, you have...
• One code base for all platforms – Minor tweaks depending on form factor
• Powerful UI capabilities– Animation Framework, QML– New UI editor (Project “Bauhaus”)– OpenGL, OpenGL ES and OpenVG
• Web integration:– QtWebKit API
23
23
Questions
• Thank you
• Any questions?