SlideShare une entreprise Scribd logo
1  sur  39
Qt everywhere
- visions of application development
on Nokia platforms


                                          Pekka Kosonen
                   Head of Technology Development, Nokia
                          25.9.2009 http://overtheair.org
What’s on the menu today?
 For appetizers - motivation
     we’ve got the volumes, productity, distribution channels and
     customers are just waiting to give their money to you!

 Main course will be served in 10 minutes
           1. Simple and powerful Cross Platform Offering with Qt

           2. Add in a twist of web services with Ovi APIs

           3. Do you like money? Distribute to Ovi Store

           4. Pop the hood - What has Qt eaten?

 For dessert
     5. Swing both ways (Qt and Web)? -> Go hybrid!
Coffee and cognac later on…
About this presentation

     This presentation is describing a new, radically
     focused, holistic developer story based on actual
     roadmapped developments for starting from late 2009.
     It shows where Nokia is heading.


     This presentation is NOT a product vision nor
     promise, nor does it directly propose changes to our
     products or roadmaps.
The importance of the
    developer to Nokia
                                   Nokia’s success with it’s
                                   devices and services
                                   strategy comes from
                                   3rd party innovation!


                                   2009 Q2
                                   Nokia’s market share
                                   continued to grow
                                   from 42 to 45%!

Source: SA, Canalys, August 2009
Our Developer Offering:
    Elegantly connected services
     Services Level



        Apps Level


          Platform    Nokia platforms   Desktop OSs
              Level

5
What do you developers want?
Can I make money by selling my
      app to many people?           Is my development efficient?




                                 If I get stuck, will someone help
Can my app have cutting edge                   me out?
         features?
2009 : The audience has spoken.
  Developers around the world have spoken and the results cant be
  surprising for anyone - developing for Nokia platforms sucks.

  “Is the Nokia store supposed to challenge Apple?
  You know what folks, you had your chances. If
  you want to impress me, if you want me to start
  developing for your platforms again, get your
  houses in order. Once things change -
  then we can talk again.”




http://venturebeat.com/2009/04/12/mobile-app-developers-fire-back-nokia-sucks/
2010 : Back to the track –
The Cross Platform Promise


      Increase Total          Commit to
    Addressable Market       Open Source




    Combine the Best of   Lower Entry Barriers
       Both Worlds          for Developers




8
Why Qt?
        What is Qt about?
          • QuickTime player? Programming language? A platform? Yet another runtime?
          • A new Japanese car model?



        Qt is Cross-platform application framework
          • Differentiated user experience across hardware platforms
          • Hybrid development: convergence of web and native applications
          • Cross-platform software across desktops and mobile devices. Qt supports
            major desktop OSs already and will extend it’s reach to Nokia platforms.
          • Qt is not a runtime – no perf issues or sandbox restrictions. You can stand out
            with your native development skills to fulfill the use cases offered by Qt.
          • Qt Mobility APIs will bring in the easy to use APIs for mobile use cases.


        Shorter time to market
          • Productive APIs and comprehensive documentation with great examples
          • Delivering functionality faster and maximizing efficiency by placing focus on
            innovation
          • All the great tools offered free of charge - commercial services available as well




9
Today : Qt is used already used
everywhere!
  From embedded devices        By companies
  to desktop applications   from many industries
Significant development benefits with Qt
true stories behind the scenes
Development Time Savings                                      Better Code Maintainability
• CS Virtual Reality, a leading provider of virtual reality   • European Space Agency
  solutions in military/defense, space imaging and            • From days to hours
  aerospace                                                   • ”With Qt, the process of issuing a new release has gone
• 50% time savings                                              from taking a few days to taking a few hours”
• “We developed GUIs 1.5 times faster with Qt compared
  to basic development techniques”
                                                              Faster Learning Curve
                                                              • Siemens
Project Cost Savings                                          • Very quick technology induction
• DFS Deutsche Flugsicherung, air traffic control in          • “In fact, one person who joined the team was a student
  Germany                                                       with no experience at all. Within 2&1/2 months, the
• Millions of Euros saved                                       student was implementing MFC controls as Qt widgets.“
• ”Developing the system in-house on Qt saved DFS an
  estimated 1 million Euros, and as many of 104 man
  months of development time ”
                                                              Reduced Personnel Requirements
                                                              • Digital Film Tools, three Emmy awards and hundreds of
                                                                feature films on its resume
Code Size Reductions                                          • Scalability without need to hire more staff
• National Instruments                                        • ”We are able to write a single set of source code for all
• 54% less code                                                 platforms. There’s no way we could have written native
• “When we rewrote the app using Qt, it went from               code for all operating systems without hiring additional
  650,000 lines of source code to fewer than 300,000            people. ”
  lines, making it much easier to manage“
Qt: a cross-platform application and
UI development framework




 http://qt.nokia.com
Nov 2009 : get your Qt app
   running on more than
+ 130 000 000 smartphones!
- Not to mention that Qt runs on all
    major desktop OSs as well
Appetizers are over - Motivated? Time for the main course




                   It’s web and Qt for Nokia
Nokia + Ovi Developer Story | 15




Simplified offering | Based on Qt
The future offering will be based on Qt, the development tool globally
used to build desktop apps – you may already know it.




With the simplified
toolchain you can tackle
f.ex Maemo and Symbian
based devices
Nokia + Ovi Developer Story | 16




Simplified | Develop on PC, Mac, Linux
The new offering is the only native mobile dev environment to work on
Mac, Windows and Linux. Develop your way.


The offering will be based
on Qt, the development
tool used to create
applications such as
Skype, Adobe Photoshop
Elements and Google
Earth.
The tools will allow
developers to use
Windows, Mac OS X and
Linux for their mobile
development work.
Qt Creator: Cross Platform IDE
• Lightweight cross-platform IDE for Qt
   • An advanced C++ code editor
   • Integrated, context sensitive help system
   • Integrated visual debugger (based on gdb)
   • Integrated source code management
   • Project and build management tools
   • Qt developer tools integrated


• Benefits
   • New developers get up and running faster
   • Boosts developer productivity
   • Tailored to the needs of Qt developers
Amazing features in your apps – sooner than
             you can expect
Nokia + Ovi Developer Story | 19




Ovi API | Ovi features opened
Nokia selects the best Ovi service features opened for developers – such as 3D
mapping, hybrid positioning, push information and social networking

                          First Ovi APIs to be opened soon


                         Closed beta : Ovi Maps
                         Put maps in your apps.

                         Coming : Push Information APIs
                         Real-time relevant context to your applications



                          We are constantly planning what features to open up – let us
                          know what inspires you.


* Branding TBD
Nokia + Ovi Developer Story | 20




Simplified | Device & Service API
Nokia will bring the most powerful device and Ovi service features into a
single offering, so that your apps can do more than anywhere else
Let us sell your app through Ovi store to
     hundreds of millions of users!
Nokia + Ovi Developer Story | 22




One Store | Distribute to masses
Ovi Store offers unparalleled reach for distribution and sales to over 200
million Nokia device owners (end 2009) around the globe.


          Global distribution to                                                                                             S40, S60 on
              over 200 million                                                                                               Symbian, Maemo
                       handsets


         70% / 30% revenue
                     share*                                                                                                      Promotion of key
                                                                                                                                 apps in
                                                                                                                                 packaging,
         Credit card and                                                                                                         advertising and
        opertator billing                                                                                                        POS

* 70% of Gross sales, net of refunds and returns, less applicable taxes and, where applicable, fixed operator billing cost
Distribute your Qt application to
            Ovi store
 – reached through more than
  100 Nokia device models
Instead of just powerpoint marshmallow…
Qt Modules
  • Qt provides native look-and-feel in all platforms
  • Cross-platform Qt consists of 12 modules
      • A little bit less than 700 API classes, all modules depend on QtCore
  • Enables pure Qt applications, but
      • Possibility to use platform APIs
      • Possibility to embed native
        elements, including UI widgets
  • Development Tools included like Qt Creator, Qt Designer, Qt Assistant, Qt
    Linguist

           QtOpenGl      QtSvg        QtWebKit          QtXmlPatterns      Qt3Support




            QtGui        QtSql       QtXml        QtNetwork     QtScript     Phonon




                                             QtCore
Qt GUI Classes
• Extends QtCore with GUI functionality                      QtOpenGl   QtSvg    QtWebKit         QtXmlPatterns      Qt3Support




    • UI application base class
    • UI components : set of widgets and dialogs
                                                              QtGui     QtSql   QtXml       QtNetwork     QtScript     Phonon

    • Widget layout management and classes for UI Events


• All the UI components usually needed                                             QtCore


    • Not enough?
        • Customized components can be done and integrated
          with Qt Creator


• Provides rich set of GUI components
  and supporting functionality
    • Model-View-Controller (MVC) Item views
    • Styles – ensuring native or custom look
      and feel on target platforms
    • Font-aware layout system
    • Accessibility classes
    • Canvas component with Widget support
Qt – Modules (Network)
• Classes for writing TCP/IP clients and servers            QtOpenGl   QtSvg    QtWebKit         QtXmlPatterns      Qt3Support




   • Makes network programming
     easier and portable                                     QtGui     QtSql   QtXml       QtNetwork     QtScript     Phonon




• Support for                                                                     QtCore


   • Lower level protocols (TCP and UDP)
     and higher level application protocols (FTP and HTTP)
       • Seamless integration with progress widgets and any IO device
   • Host Name resolving services and URL parsing, SSL support and much more

        QHttp http;
        connect(http, SIGNAL(done(bool)), this, SLOT(done(bool)));
        http->get(
        “http://overtheair.org/amazingApi.jsp?action=doGreatThings”);

        void MyClass::done(bool error)
        { QString data = http->readAll(); //handle data }
Qt – Modules (Sql)
                                                           QtOpenGl   QtSvg    QtWebKit         QtXmlPatterns      Qt3Support

• Provides database integration to Qt applications
• Divided to three layers
                                                            QtGui     QtSql   QtXml       QtNetwork     QtScript     Phonon



1. UI Layer
    • Provides classes to link the data from database to
      data-aware widgets                                                         QtCore

    • Designed to work with Qt's model/view framework

2. API layer
    • Provides Qt’s abstracted database-independent SQL
      API

3. Driver layer
    • Provides low-level bridge between the specific
      databases and the SQL API layer                      QSqlDatabase db =
    • Uses driver plugins to communicate with the
      different databases                                  QSqlDatabase::database("sales");
    • Several drivers are supplied with Qt                 QSqlQuery query
                                                               ("SELECT Lastname,
                                                                        City FROM Names", db);
Qt – Modules (XML)
                                                         QtOpenGl   QtSvg        QtWebKit         QtXmlPatterns      Qt3Support


• QtXml
   • Provides C++ implementation of SAX and DOM
     style XML parsers                                    QtGui         QtSql   QtXml       QtNetwork     QtScript     Phonon




   • Provides a stream reader and writer for XML
     documents                                                                     QtCore

   • XSLT support

• QtXmlPatterns
   • XQuery support for Qt
                                                                    QXmlStreamReader xml;
       • Simple SQL-like query language for traversing
                                                                    xml.addData( data );
         XML documents
                                                                    while (!xml.atEnd())
       • Can select and aggregate XML elements of
         interest and transform them for output as                  {
         XML or in some other format                                    xml.readNext(); ...
                                                                    // do processing
                                                                    }
Qt – Modules (Phonon)
                                                               QtOpenGl     QtSvg    QtWebKit         QtXmlPatterns      Qt3Support

• Multimedia framework for audio and video content
    • Support playback of the most common formats
    • Media can be read from files or streamed over a           QtGui       QtSql   QtXml       QtNetwork     QtScript     Phonon



      network
    • Just FW, backend provides the actual functionality
                                                                                       QtCore
        • Windows: DirectX and DirectShow 9 or higher
        • Linux: GStreamer
        • Mac: QuickTime


• Based on three basic concepts
    • Media objects
                                                                        Phonon::VideoPlayer *player =
        • Manages media sources
                                                                          new Phonon::VideoPlayer(
        • Media control: start, stop, pause etc
                                                                           Phonon::VideoCategory,
    • Sinks                                                             parentWidget);
        • Outputs media (video rendering to widget, audio to            player->play(url);
          sound card)
    • Paths
        • Used to connect media objects and sinks
        • Enables media graphs
Qt – Modules (WebKit)
                                                        QtOpenGl   QtSvg    QtWebKit         QtXmlPatterns      Qt3Support




• Classes for displaying and editing Web
  content                                                QtGui     QtSql   QtXml       QtNetwork     QtScript     Phonon




• Web content can be enhanced with native
  controls                                                                    QtCore




• Based on open-source WebKit engine
    • Ported to use Qt
        • Rendering
        • Text Handling
        • Network Access
    • Integrated part of WebKit project, uses
      WebKit’s platform abstraction

• Qt Style API to engine:                       QWebView *view = new QWebView(parent);
                                                view->load(QUrl("http://qt.nokia.com/"));
    • QWebView, QWebPage and QWebFrame
                                                view->show();
Plus Qt Mobility APIs for Mobile Development

• First release planned Q4/2009         Mobile Extensions for Qt for Symbian
                                        • Experimental Symbian-specific APIs for
                                          accessing Symbian platform functionality

• Planned content                       • Available for technology preview at
                                          Forum Nokia to invite feedback
   • Service Framework                  • Feedback is used to guide the new Qt
                                          APIs for Mobile Development
   • Contacts API                       • Support for Access point Manager,
   • Location API                         Location, Sensor, Camera, Contacts, Media

   • System Information API
   • Messaging API
   • Bearer Management
   • Context Framework
Did you like the meal? Let’s have something sweet to end with...




                Choose hybrid and get the best of both
                               worlds
Interact with Web Services

• QtWebKit allows
   • Intuitive use of network resources
   • Exposing QWidget to HTML and QObject to JavaScript
   • Calling JavaScript from Qt and vice versa




                      JS


                      Qt


                  OS specific
                     APIs




• Based on the Open Source WebKit engine
Hybrid - combining the best of both worlds

So you can run JS and HTML inside Qt application…



     WRT Widget                                     Qt application
       Webkit                                         QWebView running webkit
          Widgets HTML,
              CSS,                                        Same HTML, CSS,
           JavaScript                                       JavaScript



                     Platform
                     Services




     Native APIs
                        Platform
                        Services
                     implementation            Accessing Native APIs through JS
Webview Demo
• Pure JS content run on top of Webkit
• Demonstrates different applications & look and feel
    • In the demo there’s BBC News, games like
      Rock-Paper-Scissors, Tic-Tac-Toe, Calculator and Bubble
    • Anything from web can be pulled to the hybrid container

• Statistics:
    • 300 lines of Qt code
    • Size of .sis file: 20 kB
    • Development time: approx. 5 hours

      Browser/ Standalone
      Web runtime
      Application *)                       Qt C++ Hybrid
                                           Application

        Services written in
        Qt C++, Declarative                     HTML, CSS,
         UI, Access to Qt                       JavaScript




                Cool guys swing both ways
                     Go hybrid with Qt and Web!
What the heck was the dude talking about?
Nokia + Ovi Developer Story | 38




Nokia native dev offering, redefined

1=           Nokia cross-platform SDKs that you’ll love – with a
               money back guarantee (as it’s free)



2=           Ovi APIs. Amazing features in your apps –
                take the Ovi social network to be a part of
                your solution


3=           Ovi Store. Sell your app to hundreds of millions
http://qt.nokia.com/


     Thank you very ma
                               ny!
          Questions?
     pekka.kosonen@n
                       okia.com


39

Contenu connexe

Tendances

2011 0330 czech open coffee info for developers
2011 0330 czech open coffee info for developers2011 0330 czech open coffee info for developers
2011 0330 czech open coffee info for developersTUESDAY Business Network
 
Qt App Development for Symbian & MeeGo - v3.4.6 (17. January 2012)
Qt App Development for Symbian & MeeGo - v3.4.6 (17. January 2012)Qt App Development for Symbian & MeeGo - v3.4.6 (17. January 2012)
Qt App Development for Symbian & MeeGo - v3.4.6 (17. January 2012)Andreas Jakl
 
Using Qt to Build Mobile Applications Featuring Social Networking and Monetiz...
Using Qt to Build Mobile Applications Featuring Social Networking and Monetiz...Using Qt to Build Mobile Applications Featuring Social Networking and Monetiz...
Using Qt to Build Mobile Applications Featuring Social Networking and Monetiz...account inactive
 
Quickstart: Qt for Windows, Symbian and Maemo / Meego v2.0.8 (January 10th, 2...
Quickstart: Qt for Windows, Symbian and Maemo / Meego v2.0.8 (January 10th, 2...Quickstart: Qt for Windows, Symbian and Maemo / Meego v2.0.8 (January 10th, 2...
Quickstart: Qt for Windows, Symbian and Maemo / Meego v2.0.8 (January 10th, 2...Andreas Jakl
 
Cutest technology of them all - Forum Nokia Qt Webinar December 2009
Cutest technology of them all - Forum Nokia Qt Webinar December 2009Cutest technology of them all - Forum Nokia Qt Webinar December 2009
Cutest technology of them all - Forum Nokia Qt Webinar December 2009Nokia
 
Shipping Mobile Applications Using Qt for Symbian
Shipping Mobile Applications Using Qt for SymbianShipping Mobile Applications Using Qt for Symbian
Shipping Mobile Applications Using Qt for Symbianaccount inactive
 
Forum Nokia Dev. Camp - WRT training Paris_17&18 Nov.
Forum Nokia Dev. Camp - WRT training Paris_17&18 Nov.Forum Nokia Dev. Camp - WRT training Paris_17&18 Nov.
Forum Nokia Dev. Camp - WRT training Paris_17&18 Nov.DALEZ
 
LUMIA APP LABS: WINDOWS PHONE 8 FOR NOKIA DEVELOPERS
LUMIA APP LABS: WINDOWS PHONE 8 FOR NOKIA DEVELOPERSLUMIA APP LABS: WINDOWS PHONE 8 FOR NOKIA DEVELOPERS
LUMIA APP LABS: WINDOWS PHONE 8 FOR NOKIA DEVELOPERSMicrosoft Mobile Developer
 
Nokia Developer Offering Update
Nokia Developer Offering UpdateNokia Developer Offering Update
Nokia Developer Offering UpdateJanaina Pilomia
 
S60 Web Runtime - Web2.0 Expo Europe 2008
S60 Web Runtime - Web2.0 Expo Europe 2008S60 Web Runtime - Web2.0 Expo Europe 2008
S60 Web Runtime - Web2.0 Expo Europe 2008petrosoininen
 
2. the aegis story building an accessible application
2. the aegis story   building an accessible application2. the aegis story   building an accessible application
2. the aegis story building an accessible applicationAEGIS-ACCESSIBLE Projects
 
Meego Italian Day 2011 – Andrea Grandi
Meego Italian Day 2011 – Andrea GrandiMeego Italian Day 2011 – Andrea Grandi
Meego Italian Day 2011 – Andrea GrandiFrancesco Baldassarri
 
Hamish Willee
Hamish WilleeHamish Willee
Hamish Willeefndc
 
Mobile Convention Amsterdam - Nokia - Oscar Gutierrez
Mobile Convention Amsterdam - Nokia - Oscar GutierrezMobile Convention Amsterdam - Nokia - Oscar Gutierrez
Mobile Convention Amsterdam - Nokia - Oscar GutierrezMobileConventionAmsterdam
 
Android Beyond The Phone
Android Beyond The PhoneAndroid Beyond The Phone
Android Beyond The PhoneMarko Gargenta
 
Forum Nokia Le Mobile 2.0 Edition 2009
Forum Nokia Le Mobile 2.0 Edition 2009Forum Nokia Le Mobile 2.0 Edition 2009
Forum Nokia Le Mobile 2.0 Edition 2009servicesmobiles.fr
 
Octopod Mobile Development Platform for rapid cross-platform Enterprise IT Mo...
Octopod Mobile Development Platform for rapid cross-platform Enterprise IT Mo...Octopod Mobile Development Platform for rapid cross-platform Enterprise IT Mo...
Octopod Mobile Development Platform for rapid cross-platform Enterprise IT Mo...Michael Kozloff
 

Tendances (20)

2011 0330 czech open coffee info for developers
2011 0330 czech open coffee info for developers2011 0330 czech open coffee info for developers
2011 0330 czech open coffee info for developers
 
Qt App Development for Symbian & MeeGo - v3.4.6 (17. January 2012)
Qt App Development for Symbian & MeeGo - v3.4.6 (17. January 2012)Qt App Development for Symbian & MeeGo - v3.4.6 (17. January 2012)
Qt App Development for Symbian & MeeGo - v3.4.6 (17. January 2012)
 
Using Qt to Build Mobile Applications Featuring Social Networking and Monetiz...
Using Qt to Build Mobile Applications Featuring Social Networking and Monetiz...Using Qt to Build Mobile Applications Featuring Social Networking and Monetiz...
Using Qt to Build Mobile Applications Featuring Social Networking and Monetiz...
 
Quickstart: Qt for Windows, Symbian and Maemo / Meego v2.0.8 (January 10th, 2...
Quickstart: Qt for Windows, Symbian and Maemo / Meego v2.0.8 (January 10th, 2...Quickstart: Qt for Windows, Symbian and Maemo / Meego v2.0.8 (January 10th, 2...
Quickstart: Qt for Windows, Symbian and Maemo / Meego v2.0.8 (January 10th, 2...
 
Cutest technology of them all - Forum Nokia Qt Webinar December 2009
Cutest technology of them all - Forum Nokia Qt Webinar December 2009Cutest technology of them all - Forum Nokia Qt Webinar December 2009
Cutest technology of them all - Forum Nokia Qt Webinar December 2009
 
Shipping Mobile Applications Using Qt for Symbian
Shipping Mobile Applications Using Qt for SymbianShipping Mobile Applications Using Qt for Symbian
Shipping Mobile Applications Using Qt for Symbian
 
Forum Nokia Dev. Camp - WRT training Paris_17&18 Nov.
Forum Nokia Dev. Camp - WRT training Paris_17&18 Nov.Forum Nokia Dev. Camp - WRT training Paris_17&18 Nov.
Forum Nokia Dev. Camp - WRT training Paris_17&18 Nov.
 
Software development with qt
Software development with qtSoftware development with qt
Software development with qt
 
LUMIA APP LABS: WINDOWS PHONE 8 FOR NOKIA DEVELOPERS
LUMIA APP LABS: WINDOWS PHONE 8 FOR NOKIA DEVELOPERSLUMIA APP LABS: WINDOWS PHONE 8 FOR NOKIA DEVELOPERS
LUMIA APP LABS: WINDOWS PHONE 8 FOR NOKIA DEVELOPERS
 
Nicholas Foo
Nicholas FooNicholas Foo
Nicholas Foo
 
Nokia Developer Offering Update
Nokia Developer Offering UpdateNokia Developer Offering Update
Nokia Developer Offering Update
 
S60 Web Runtime - Web2.0 Expo Europe 2008
S60 Web Runtime - Web2.0 Expo Europe 2008S60 Web Runtime - Web2.0 Expo Europe 2008
S60 Web Runtime - Web2.0 Expo Europe 2008
 
2. the aegis story building an accessible application
2. the aegis story   building an accessible application2. the aegis story   building an accessible application
2. the aegis story building an accessible application
 
Meego Italian Day 2011 – Andrea Grandi
Meego Italian Day 2011 – Andrea GrandiMeego Italian Day 2011 – Andrea Grandi
Meego Italian Day 2011 – Andrea Grandi
 
Hamish Willee
Hamish WilleeHamish Willee
Hamish Willee
 
Mobile Convention Amsterdam - Nokia - Oscar Gutierrez
Mobile Convention Amsterdam - Nokia - Oscar GutierrezMobile Convention Amsterdam - Nokia - Oscar Gutierrez
Mobile Convention Amsterdam - Nokia - Oscar Gutierrez
 
Android Beyond The Phone
Android Beyond The PhoneAndroid Beyond The Phone
Android Beyond The Phone
 
Forum Nokia Le Mobile 2.0 Edition 2009
Forum Nokia Le Mobile 2.0 Edition 2009Forum Nokia Le Mobile 2.0 Edition 2009
Forum Nokia Le Mobile 2.0 Edition 2009
 
Octopod Mobile Development Platform for rapid cross-platform Enterprise IT Mo...
Octopod Mobile Development Platform for rapid cross-platform Enterprise IT Mo...Octopod Mobile Development Platform for rapid cross-platform Enterprise IT Mo...
Octopod Mobile Development Platform for rapid cross-platform Enterprise IT Mo...
 
Maxime Thomas - eZBK
Maxime Thomas - eZBKMaxime Thomas - eZBK
Maxime Thomas - eZBK
 

Similaire à Qt everywhere

Nicholas Foo
Nicholas FooNicholas Foo
Nicholas Foofndc
 
Mobile Monday Milan 191009 1
Mobile Monday Milan 191009 1Mobile Monday Milan 191009 1
Mobile Monday Milan 191009 1Luca Cioletti
 
Gian Luca Cioletti, Developing on N900 (Maemo)
Gian Luca Cioletti, Developing on N900 (Maemo)Gian Luca Cioletti, Developing on N900 (Maemo)
Gian Luca Cioletti, Developing on N900 (Maemo)Luca Cioletti
 
Mobile Services with Qt
Mobile Services with QtMobile Services with Qt
Mobile Services with QtEspen Riskedal
 
Purnima Kochikar
Purnima KochikarPurnima Kochikar
Purnima Kochikarfndc
 
Gary Chan
Gary ChanGary Chan
Gary Chanfndc
 
Qt as Developer Platform @ MoMo Tallinn 11.04.11
Qt as Developer Platform @ MoMo Tallinn 11.04.11Qt as Developer Platform @ MoMo Tallinn 11.04.11
Qt as Developer Platform @ MoMo Tallinn 11.04.11MobileMonday Estonia
 
Mp25: Mobile dev with QT and Python for the Notorious N9
Mp25: Mobile dev with QT and Python for the Notorious N9Mp25: Mobile dev with QT and Python for the Notorious N9
Mp25: Mobile dev with QT and Python for the Notorious N9Montreal Python
 
Android : Evolution or Revolution
Android : Evolution or RevolutionAndroid : Evolution or Revolution
Android : Evolution or RevolutionSanjiv Malik
 
Ovi Store Merchandizing - MoMo, Riga
Ovi Store Merchandizing - MoMo, RigaOvi Store Merchandizing - MoMo, Riga
Ovi Store Merchandizing - MoMo, RigaMikael Stendahl
 
The Importance of Cross Platform Technology
The Importance of Cross Platform TechnologyThe Importance of Cross Platform Technology
The Importance of Cross Platform TechnologyOlivia2590
 
Porting experience - by Golden Gekko
Porting experience - by Golden GekkoPorting experience - by Golden Gekko
Porting experience - by Golden GekkoVodafone developer
 

Similaire à Qt everywhere (20)

Nicholas Foo
Nicholas FooNicholas Foo
Nicholas Foo
 
Mobile Monday Milan 191009 1
Mobile Monday Milan 191009 1Mobile Monday Milan 191009 1
Mobile Monday Milan 191009 1
 
Nokia Symbian
Nokia SymbianNokia Symbian
Nokia Symbian
 
Ovi And Social Location
Ovi And Social LocationOvi And Social Location
Ovi And Social Location
 
了解 Qt
了解 Qt了解 Qt
了解 Qt
 
Gian Luca Cioletti, Developing on N900 (Maemo)
Gian Luca Cioletti, Developing on N900 (Maemo)Gian Luca Cioletti, Developing on N900 (Maemo)
Gian Luca Cioletti, Developing on N900 (Maemo)
 
Mobile Services with Qt
Mobile Services with QtMobile Services with Qt
Mobile Services with Qt
 
Nokia Developer Offering 2011
Nokia Developer Offering 2011Nokia Developer Offering 2011
Nokia Developer Offering 2011
 
Purnima Kochikar
Purnima KochikarPurnima Kochikar
Purnima Kochikar
 
Gary Chan
Gary ChanGary Chan
Gary Chan
 
Qt as Developer Platform @ MoMo Tallinn 11.04.11
Qt as Developer Platform @ MoMo Tallinn 11.04.11Qt as Developer Platform @ MoMo Tallinn 11.04.11
Qt as Developer Platform @ MoMo Tallinn 11.04.11
 
Mp25: Mobile dev with QT and Python for the Notorious N9
Mp25: Mobile dev with QT and Python for the Notorious N9Mp25: Mobile dev with QT and Python for the Notorious N9
Mp25: Mobile dev with QT and Python for the Notorious N9
 
Android : Evolution or Revolution
Android : Evolution or RevolutionAndroid : Evolution or Revolution
Android : Evolution or Revolution
 
Meet Qt
Meet QtMeet Qt
Meet Qt
 
Ovi Store Merchandizing - MoMo, Riga
Ovi Store Merchandizing - MoMo, RigaOvi Store Merchandizing - MoMo, Riga
Ovi Store Merchandizing - MoMo, Riga
 
The Importance of Cross Platform Technology
The Importance of Cross Platform TechnologyThe Importance of Cross Platform Technology
The Importance of Cross Platform Technology
 
Porting experience - by Golden Gekko
Porting experience - by Golden GekkoPorting experience - by Golden Gekko
Porting experience - by Golden Gekko
 
Vodafone 360 - Porting Experience
Vodafone 360 - Porting  ExperienceVodafone 360 - Porting  Experience
Vodafone 360 - Porting Experience
 
Ovi store ppt_serbia
Ovi store ppt_serbiaOvi store ppt_serbia
Ovi store ppt_serbia
 
Ovi store ppt_serbia
Ovi store ppt_serbiaOvi store ppt_serbia
Ovi store ppt_serbia
 

Dernier

"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek SchlawackFwdays
 
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxThe Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxLoriGlavin3
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfAlex Barbosa Coqueiro
 
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxA Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxLoriGlavin3
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfAddepto
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii SoldatenkoFwdays
 
Generative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersGenerative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersRaghuram Pandurangan
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Commit University
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyAlfredo García Lavilla
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brandgvaughan
 
The State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxThe State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxLoriGlavin3
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 3652toLead Limited
 
Moving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfMoving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfLoriGlavin3
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsRizwan Syed
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebUiPathCommunity
 
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxUse of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxLoriGlavin3
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Mark Simos
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsSergiu Bodiu
 
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionDilum Bandara
 
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024BookNet Canada
 

Dernier (20)

"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
 
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxThe Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdf
 
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxA Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdf
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko
 
Generative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersGenerative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information Developers
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easy
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brand
 
The State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxThe State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptx
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365
 
Moving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfMoving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdf
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL Certs
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio Web
 
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxUse of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platforms
 
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An Introduction
 
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
 

Qt everywhere

  • 1. Qt everywhere - visions of application development on Nokia platforms Pekka Kosonen Head of Technology Development, Nokia 25.9.2009 http://overtheair.org
  • 2. What’s on the menu today? For appetizers - motivation we’ve got the volumes, productity, distribution channels and customers are just waiting to give their money to you! Main course will be served in 10 minutes 1. Simple and powerful Cross Platform Offering with Qt 2. Add in a twist of web services with Ovi APIs 3. Do you like money? Distribute to Ovi Store 4. Pop the hood - What has Qt eaten? For dessert 5. Swing both ways (Qt and Web)? -> Go hybrid! Coffee and cognac later on…
  • 3. About this presentation This presentation is describing a new, radically focused, holistic developer story based on actual roadmapped developments for starting from late 2009. It shows where Nokia is heading. This presentation is NOT a product vision nor promise, nor does it directly propose changes to our products or roadmaps.
  • 4. The importance of the developer to Nokia Nokia’s success with it’s devices and services strategy comes from 3rd party innovation! 2009 Q2 Nokia’s market share continued to grow from 42 to 45%! Source: SA, Canalys, August 2009
  • 5. Our Developer Offering: Elegantly connected services Services Level Apps Level Platform Nokia platforms Desktop OSs Level 5
  • 6. What do you developers want? Can I make money by selling my app to many people? Is my development efficient? If I get stuck, will someone help Can my app have cutting edge me out? features?
  • 7. 2009 : The audience has spoken. Developers around the world have spoken and the results cant be surprising for anyone - developing for Nokia platforms sucks. “Is the Nokia store supposed to challenge Apple? You know what folks, you had your chances. If you want to impress me, if you want me to start developing for your platforms again, get your houses in order. Once things change - then we can talk again.” http://venturebeat.com/2009/04/12/mobile-app-developers-fire-back-nokia-sucks/
  • 8. 2010 : Back to the track – The Cross Platform Promise Increase Total Commit to Addressable Market Open Source Combine the Best of Lower Entry Barriers Both Worlds for Developers 8
  • 9. Why Qt? What is Qt about? • QuickTime player? Programming language? A platform? Yet another runtime? • A new Japanese car model? Qt is Cross-platform application framework • Differentiated user experience across hardware platforms • Hybrid development: convergence of web and native applications • Cross-platform software across desktops and mobile devices. Qt supports major desktop OSs already and will extend it’s reach to Nokia platforms. • Qt is not a runtime – no perf issues or sandbox restrictions. You can stand out with your native development skills to fulfill the use cases offered by Qt. • Qt Mobility APIs will bring in the easy to use APIs for mobile use cases. Shorter time to market • Productive APIs and comprehensive documentation with great examples • Delivering functionality faster and maximizing efficiency by placing focus on innovation • All the great tools offered free of charge - commercial services available as well 9
  • 10. Today : Qt is used already used everywhere! From embedded devices By companies to desktop applications from many industries
  • 11. Significant development benefits with Qt true stories behind the scenes Development Time Savings Better Code Maintainability • CS Virtual Reality, a leading provider of virtual reality • European Space Agency solutions in military/defense, space imaging and • From days to hours aerospace • ”With Qt, the process of issuing a new release has gone • 50% time savings from taking a few days to taking a few hours” • “We developed GUIs 1.5 times faster with Qt compared to basic development techniques” Faster Learning Curve • Siemens Project Cost Savings • Very quick technology induction • DFS Deutsche Flugsicherung, air traffic control in • “In fact, one person who joined the team was a student Germany with no experience at all. Within 2&1/2 months, the • Millions of Euros saved student was implementing MFC controls as Qt widgets.“ • ”Developing the system in-house on Qt saved DFS an estimated 1 million Euros, and as many of 104 man months of development time ” Reduced Personnel Requirements • Digital Film Tools, three Emmy awards and hundreds of feature films on its resume Code Size Reductions • Scalability without need to hire more staff • National Instruments • ”We are able to write a single set of source code for all • 54% less code platforms. There’s no way we could have written native • “When we rewrote the app using Qt, it went from code for all operating systems without hiring additional 650,000 lines of source code to fewer than 300,000 people. ” lines, making it much easier to manage“
  • 12. Qt: a cross-platform application and UI development framework http://qt.nokia.com
  • 13. Nov 2009 : get your Qt app running on more than + 130 000 000 smartphones! - Not to mention that Qt runs on all major desktop OSs as well
  • 14. Appetizers are over - Motivated? Time for the main course It’s web and Qt for Nokia
  • 15. Nokia + Ovi Developer Story | 15 Simplified offering | Based on Qt The future offering will be based on Qt, the development tool globally used to build desktop apps – you may already know it. With the simplified toolchain you can tackle f.ex Maemo and Symbian based devices
  • 16. Nokia + Ovi Developer Story | 16 Simplified | Develop on PC, Mac, Linux The new offering is the only native mobile dev environment to work on Mac, Windows and Linux. Develop your way. The offering will be based on Qt, the development tool used to create applications such as Skype, Adobe Photoshop Elements and Google Earth. The tools will allow developers to use Windows, Mac OS X and Linux for their mobile development work.
  • 17. Qt Creator: Cross Platform IDE • Lightweight cross-platform IDE for Qt • An advanced C++ code editor • Integrated, context sensitive help system • Integrated visual debugger (based on gdb) • Integrated source code management • Project and build management tools • Qt developer tools integrated • Benefits • New developers get up and running faster • Boosts developer productivity • Tailored to the needs of Qt developers
  • 18. Amazing features in your apps – sooner than you can expect
  • 19. Nokia + Ovi Developer Story | 19 Ovi API | Ovi features opened Nokia selects the best Ovi service features opened for developers – such as 3D mapping, hybrid positioning, push information and social networking First Ovi APIs to be opened soon Closed beta : Ovi Maps Put maps in your apps. Coming : Push Information APIs Real-time relevant context to your applications We are constantly planning what features to open up – let us know what inspires you. * Branding TBD
  • 20. Nokia + Ovi Developer Story | 20 Simplified | Device & Service API Nokia will bring the most powerful device and Ovi service features into a single offering, so that your apps can do more than anywhere else
  • 21. Let us sell your app through Ovi store to hundreds of millions of users!
  • 22. Nokia + Ovi Developer Story | 22 One Store | Distribute to masses Ovi Store offers unparalleled reach for distribution and sales to over 200 million Nokia device owners (end 2009) around the globe. Global distribution to S40, S60 on over 200 million Symbian, Maemo handsets 70% / 30% revenue share* Promotion of key apps in packaging, Credit card and advertising and opertator billing POS * 70% of Gross sales, net of refunds and returns, less applicable taxes and, where applicable, fixed operator billing cost
  • 23. Distribute your Qt application to Ovi store – reached through more than 100 Nokia device models
  • 24. Instead of just powerpoint marshmallow…
  • 25. Qt Modules • Qt provides native look-and-feel in all platforms • Cross-platform Qt consists of 12 modules • A little bit less than 700 API classes, all modules depend on QtCore • Enables pure Qt applications, but • Possibility to use platform APIs • Possibility to embed native elements, including UI widgets • Development Tools included like Qt Creator, Qt Designer, Qt Assistant, Qt Linguist QtOpenGl QtSvg QtWebKit QtXmlPatterns Qt3Support QtGui QtSql QtXml QtNetwork QtScript Phonon QtCore
  • 26. Qt GUI Classes • Extends QtCore with GUI functionality QtOpenGl QtSvg QtWebKit QtXmlPatterns Qt3Support • UI application base class • UI components : set of widgets and dialogs QtGui QtSql QtXml QtNetwork QtScript Phonon • Widget layout management and classes for UI Events • All the UI components usually needed QtCore • Not enough? • Customized components can be done and integrated with Qt Creator • Provides rich set of GUI components and supporting functionality • Model-View-Controller (MVC) Item views • Styles – ensuring native or custom look and feel on target platforms • Font-aware layout system • Accessibility classes • Canvas component with Widget support
  • 27. Qt – Modules (Network) • Classes for writing TCP/IP clients and servers QtOpenGl QtSvg QtWebKit QtXmlPatterns Qt3Support • Makes network programming easier and portable QtGui QtSql QtXml QtNetwork QtScript Phonon • Support for QtCore • Lower level protocols (TCP and UDP) and higher level application protocols (FTP and HTTP) • Seamless integration with progress widgets and any IO device • Host Name resolving services and URL parsing, SSL support and much more QHttp http; connect(http, SIGNAL(done(bool)), this, SLOT(done(bool))); http->get( “http://overtheair.org/amazingApi.jsp?action=doGreatThings”); void MyClass::done(bool error) { QString data = http->readAll(); //handle data }
  • 28. Qt – Modules (Sql) QtOpenGl QtSvg QtWebKit QtXmlPatterns Qt3Support • Provides database integration to Qt applications • Divided to three layers QtGui QtSql QtXml QtNetwork QtScript Phonon 1. UI Layer • Provides classes to link the data from database to data-aware widgets QtCore • Designed to work with Qt's model/view framework 2. API layer • Provides Qt’s abstracted database-independent SQL API 3. Driver layer • Provides low-level bridge between the specific databases and the SQL API layer QSqlDatabase db = • Uses driver plugins to communicate with the different databases QSqlDatabase::database("sales"); • Several drivers are supplied with Qt QSqlQuery query ("SELECT Lastname, City FROM Names", db);
  • 29. Qt – Modules (XML) QtOpenGl QtSvg QtWebKit QtXmlPatterns Qt3Support • QtXml • Provides C++ implementation of SAX and DOM style XML parsers QtGui QtSql QtXml QtNetwork QtScript Phonon • Provides a stream reader and writer for XML documents QtCore • XSLT support • QtXmlPatterns • XQuery support for Qt QXmlStreamReader xml; • Simple SQL-like query language for traversing xml.addData( data ); XML documents while (!xml.atEnd()) • Can select and aggregate XML elements of interest and transform them for output as { XML or in some other format xml.readNext(); ... // do processing }
  • 30. Qt – Modules (Phonon) QtOpenGl QtSvg QtWebKit QtXmlPatterns Qt3Support • Multimedia framework for audio and video content • Support playback of the most common formats • Media can be read from files or streamed over a QtGui QtSql QtXml QtNetwork QtScript Phonon network • Just FW, backend provides the actual functionality QtCore • Windows: DirectX and DirectShow 9 or higher • Linux: GStreamer • Mac: QuickTime • Based on three basic concepts • Media objects Phonon::VideoPlayer *player = • Manages media sources new Phonon::VideoPlayer( • Media control: start, stop, pause etc Phonon::VideoCategory, • Sinks parentWidget); • Outputs media (video rendering to widget, audio to player->play(url); sound card) • Paths • Used to connect media objects and sinks • Enables media graphs
  • 31. Qt – Modules (WebKit) QtOpenGl QtSvg QtWebKit QtXmlPatterns Qt3Support • Classes for displaying and editing Web content QtGui QtSql QtXml QtNetwork QtScript Phonon • Web content can be enhanced with native controls QtCore • Based on open-source WebKit engine • Ported to use Qt • Rendering • Text Handling • Network Access • Integrated part of WebKit project, uses WebKit’s platform abstraction • Qt Style API to engine: QWebView *view = new QWebView(parent); view->load(QUrl("http://qt.nokia.com/")); • QWebView, QWebPage and QWebFrame view->show();
  • 32. Plus Qt Mobility APIs for Mobile Development • First release planned Q4/2009 Mobile Extensions for Qt for Symbian • Experimental Symbian-specific APIs for accessing Symbian platform functionality • Planned content • Available for technology preview at Forum Nokia to invite feedback • Service Framework • Feedback is used to guide the new Qt APIs for Mobile Development • Contacts API • Support for Access point Manager, • Location API Location, Sensor, Camera, Contacts, Media • System Information API • Messaging API • Bearer Management • Context Framework
  • 33. Did you like the meal? Let’s have something sweet to end with... Choose hybrid and get the best of both worlds
  • 34. Interact with Web Services • QtWebKit allows • Intuitive use of network resources • Exposing QWidget to HTML and QObject to JavaScript • Calling JavaScript from Qt and vice versa JS Qt OS specific APIs • Based on the Open Source WebKit engine
  • 35. Hybrid - combining the best of both worlds So you can run JS and HTML inside Qt application… WRT Widget Qt application Webkit QWebView running webkit Widgets HTML, CSS, Same HTML, CSS, JavaScript JavaScript Platform Services Native APIs Platform Services implementation Accessing Native APIs through JS
  • 36. Webview Demo • Pure JS content run on top of Webkit • Demonstrates different applications & look and feel • In the demo there’s BBC News, games like Rock-Paper-Scissors, Tic-Tac-Toe, Calculator and Bubble • Anything from web can be pulled to the hybrid container • Statistics: • 300 lines of Qt code • Size of .sis file: 20 kB • Development time: approx. 5 hours Browser/ Standalone Web runtime Application *) Qt C++ Hybrid Application Services written in Qt C++, Declarative HTML, CSS, UI, Access to Qt JavaScript Cool guys swing both ways Go hybrid with Qt and Web!
  • 37. What the heck was the dude talking about?
  • 38. Nokia + Ovi Developer Story | 38 Nokia native dev offering, redefined 1= Nokia cross-platform SDKs that you’ll love – with a money back guarantee (as it’s free) 2= Ovi APIs. Amazing features in your apps – take the Ovi social network to be a part of your solution 3= Ovi Store. Sell your app to hundreds of millions
  • 39. http://qt.nokia.com/ Thank you very ma ny! Questions? pekka.kosonen@n okia.com 39