Developing Blackberry 10 Apps Using Qt

Total Page:16

File Type:pdf, Size:1020Kb

Developing Blackberry 10 Apps Using Qt Developing BlackBerry 10 apps using Vladimir Minenko, Qt team lead, Research in Motion Webcast on Dec 14, 2012 Qt Developer Days 2012 2 Points to convey • A story … • What the heck is … • Where and how to start Qt Developer Days3 2012 A story of… Qt Developer Days 2012 4 A story of… 4.8.3 “BYO” friends@RIM team@RIM Nov 2011 May 2012 Today Q1 2013 Qt Developer Days 2012 5 A story of… Jan 30, 2013 4.8.3 “BYO” friends@RIM team@RIM Community Nov 2011 May 2012 Today Q1 2013 Qt Developer Days6 2012 BlackBerry 10 for developers Qt Developer Days 2012 7 BlackBerry 10 development Native SDK WebWorks SDK C/C++ Cascades HTML5 Android SDK AIR SDK Java AS3 Flex Qt Developer Days 2012 8 BlackBerry 10 NDK Cascades Developers QtGui Developers Game Developers UI QtGui Qt Quick More under http://developer.blackberry.com/native/beta/documentation/ Qt Developer Days9 2012 BlackBerry 10 for developers Qt Developer Days 2012 10 Qt on BlackBerry 10 Qt UI apps Cascades UI apps (C++ and Qt Quick) (C++ and QML) Qt-based Platform API Cascades UI framework Qt Quick QtScript QtSvg QtCore QtNetwork QtGui Items and QtCreator QtWebKit specific elements plugin QtDeclarative QtSql QtXml QtXmlPatterns (temporarily) style BlackBerry QPA plugin QNX adaptations adaptations QNX + BlackBerry Platform API Qt Develope r Days 201211 Cascades UI vs. Qt UI?… What the heck?! December 14, 2012 http://www.flickr.com/photos/kalavink a/4617897952/ December 14, 2012 We do like QtQuick2! But… . Qt 5 won’t be ready in time for BlackBerry 10 . QML only . No set of native controls . UI thread can block rendering . We already have TAT’s Cascades engine Qt Developer Days 2012 14 Cascades UI vs Qt UI? . Cascades is native BlackBerry 10 UI framework . Allows writing apps in C++ or/and QML in a Qt way! . It is based on Qt but… . Has an own client-server scenegraph-based rendering backend (does not use Qt for this) . You have to decide upfront which UI framework to use . But!! You can use non-UI BlackBerry 10 platform API in Qt UI apps . More about Cascades and platform API: https://developer.blackberry.com/cascades/documentation Qt Developer Days 2012 15 Qt on BlackBerry 10, again Qt UI apps Cascades UI apps (C++ and Qt Quick) (C++ and QML) Qt-based Platform API Cascades UI framework Qt Quick QtScript QtSvg QtCore QtNetwork QtGui Items and QtCreator QtWebKit specific elements plugin QtDeclarative QtSql QtXml QtXmlPatterns (temporarily) style BlackBerry QPA plugin QNX adaptations adaptations QNX + BlackBerry Platform API Qt Developer Days 2012 16 Pure Qt apps Qt UI apps (C++ and Qt Quick) Qt-based Platform API Cascades UI framework Qt Quick QtScript QtSvg QtCore QtNetwork QtGui Items and QtCreator specific elements plugin style QtDeclarative QtSql QtXml QtXmlPatterns BlackBerry QPA plugin QNX adaptations adaptations QNX + BlackBerry Platform API Qt Developer Days 2012 17 Cascades apps Cascades UI apps (C++ and QML) Qt-based Platform API Cascades UI framework Qt Quick polish! QtScript QtSvg QtCore QtNetwork QtGui Items and QtCreator specific elements plugin style QtDeclarative QtSql QtXml QtXmlPatterns BlackBerry QPA plugin QNX adaptations adaptations QNX + BlackBerry Platform API Qt Developer Days 2012 18 Pure Qt UI on BlackBerry 10 • Qt Quick custom UI • Qt C++ widgets • BYO • BlackBerry 10 style Qt Developer Days 2012 19 Use platform APIs! . Full touch devices: now 1280x768, later 1280x720 . Keyboard devices: 720x720 . Tons of sensors . Bluetooth . NFC . Camera . GPS . and more… Qt Developer Days 2012 20 Your first steps . Check http://qt-project.org/wiki/BlackBerry . Register @RIM and get signing keys . Download, install and setup the BlackBerry 10 NDK: http://developer.blackberry.com/native/documentation/bb10/getting_sta rted.html . Download and setup QtCreator 2.6.x . Get an “Hello World” app done Qt Developer Days 2012 21 Your tools . BlackBerry 10 NDK . Cross-compile toolchain . Qt 4.8.x . Momentics IDE . BlackBerry 10 Simulator . QtCreator 2.6.x or newer . Dev Alpha device Qt Developer Days 2012 22 Packaging BAR Descriptor (XML) BAR Files Debug Token RIM certificates Signed BAR Developer BAR Certificates Qt Developer Days 2012 23 Metadata about your app . Mandatory! . Written in the “BAR descriptor file”, XML based . Versions (build, platform, etc) . Names and IDs (author, app, package, etc) . Assets (files your app uses, incl. libs) . The icon and the splash-screen . Entry point . Permissions needed Qt Developer Days 2012 24 Sandbox Sandbox data logs tmp app Application Installation shared User Shared Qt Developer Days25 2012 Get a simple Qt app on BB10 Qt Developer Days 2012 26 Fully open source, upstream . Focus on Qt4 mid-term . We work on Qt fully upstream! . Need(ed) to revert/add a few commits in rare cases . Use internal branches for integration and image builds . Run local Jenkins-based CI Qt Developer Days 2012 27 What is next? . Launch BlackBerry 10! . Launch BlackBerry 10!! . Launch BlackBerry 10!! . Qt home page on http://developer.blackberry.com/qt . Revive Qt Mobility for Qt4 in the Qt community . Get BlackBerry 10 integrated with the Qt Project CI . Work on the integration of Qt5 as an add-on lib . Explore how integrate BlackBerry WebKit in Qt . And more… Qt Developer Days 2012 28 Qt Developer Offers . Submit your BlackBerry 10 porting plan and you may be eligible for a developer alpha device . RIM will make a one-time donation of $10K USD to the Qt Project Hosting Foundation if 50 eligible Qt apps are ported to BlackBerry 10 by the Qt community https://developer.blackberry.com/offers/qt Qt Developer Days29 2012 BlackBerry Developer: https://developer.blackberry.com/ BlackBerry on Github: https://github.com/blackberry Slides and videos from BlackBerry Jams: http://hosting.desire2learncapture.com/RIM/ Group @ Qt Project: http://qt-project.org/groups/qt-blackberry-and-qnx Wiki @ Qt Project: http://qt-project.org/wiki/BlackBerry Offers: https://developer.blackberry.com/offers/qt Meet at the BlackBerry Jam Europe 5-6 February, Amsterdam Thank you! Questions? Vladimir Minenko .
Recommended publications
  • How Ios 7 Stacks Up:Smartphone OS User Experience Shootout
    How iOS 7 Stacks Up: Smartphone OS User Experience Shootout a Pfeiffer Report Benchmark Project www.pfeifferreport.com @pfeifferreport Introduction Why is it that the arrival of iOS 7 Whether we like it or not, We do not look at features, we do not smartphones have become a compare cutting-edge options and is necessarily a momentous software game. Take any recent gadgets, we only look at aspects event for the smartphone top-of-the-line smartphone, and you that have a direct impact on the are likely to get a well-designed, fast, day-to-day user experience of an market? Simple: Unlike any other pleasant to use bit of hardware: fluid average, non-technical user. operating system out there, it will operation, responsive interaction, fast The aspects we have surveyed and be in the hands of millions or tens graphics. The difference of user rated are the following: experience, therefore, stems of millions of users within a few cognitive load, efficiency, almost exclusively from the customization, as well as user days after its launch. operating system, the user interface experience friction. Based on And that will make it a force to be design, the application integration, the the results from these benchmarks overall coherence. we have then established an overall reckoned with. This report compares the five Mobile Operating System User major mobile operating systems Experience Index presented at the * The question is, of course: in use today: iOS 7, iOS 6, Android , end of this document. Windows Phone 8, and Blackberry 10, The benchmarks are based on the How good is it really? and rates them in terms of user Pfeiffer Consulting Methodology experience.
    [Show full text]
  • Lively Mashups for Mobile Devices
    Lively Mashups for Mobile Devices Feetu Nyrhinen, Arto Salminen, Tommi Mikkonen Tampere University of Technology Antero Taivalsaari Sun Microsystems Laboratories Outline • Background • Mashups • Mashup Development and Tools • Lively Mashups • Qt as a Mashup Platform • Mashup demos • Experiences • Conclusions Background • Web as the platform • End-user software is moving to the Web. • Typical examples: project management, calendars, document management, instant messaging, social networking, … • Web browser acts as a replacement for the conventional OS. • Mobile devices are becoming web-enabled, but there still are constraints such as smaller screen size, battery consumption, lower CPU speed and network bandwidth. Mashups • Mashup: A web site that combines content from more than one source (multiple web sites) into an integrated experience. • Mashups leverage the power of the Web to support worldwide sharing of content that would not have been easily accessible or reusable before the Web. • In principle, the content to be combined can be anything (text, source code, maps, video, blogs, product reviews, price data, ...) as long as it can be meaningfully combined with other content. • See, e.g., http://woozor.us/ (Weather conditions on Google Map) Mashup Development and Tools • There is a plethora of various tools for the mashup development. • However, general tools are still fairly limited in functionality and many of those are far from finished applications. • Some common trends: • Using the web not only for executing applications but also for developing them. • Visual programming techniques. • The web server is used to host and share mashups. • Direct connections to existing web services. • Mashup development for mobile devices is still a field with big challenges.
    [Show full text]
  • Konyproducts Supported Devices OS Browsers
    Kony Visualizer Supported Devices, OS, and Browsers Release 7.3 Document Relevance and Accuracy This document is considered relevant to the Release stated on this title page and the document version stated on the Revision History page. Remember to always view and download the latest document version relevant to the software release you are using. © 2016 by Kony, Inc. All rights reserved 1 of 47 Kony Visualizer Version 1.3 Copyright © 2014 Kony, Inc. All rights reserved. April, 2017 This document contains information proprietary to Kony, Inc., is bound by the Kony license agreements and may not be used except in the context of understanding the use and methods of Kony Inc, software without prior, express, written permission. Kony, Empowering Everywhere, Kony, Kony Nitro, and Kony Visualizer are trademarks of Kony, Inc. MobileFabric is a registered trademark of Kony, Inc. Microsoft, the Microsoft logo, Internet Explorer, Windows, and Windows Vista are registered trademarks of Microsoft Corporation. Apple, the Apple logo, iTunes, iPhone, iPad, OS X, Objective-C, Safari, Apple Pay, Apple Watch and Xcode are trademarks or registered trademarks of Apple, Inc. Google, the Google logo, Android, and the Android logo are registered trademarks of Google, Inc. Chrome is a trademark of Google, Inc. BlackBerry, PlayBook, Research in Motion, and RIM are registered trademarks of BlackBerry. All other terms, trademarks, or service marks mentioned in this document have been capitalized and are to be considered the property of their respective owners. © 2016 by Kony, Inc. All rights reserved 2 of 47 Kony Visualizer Version 1.3 Revision History Date Document Version Description of Modifications/Release 04/10/2017 1.4 Document updated for 7.3 10/24/2016 1.3 Document updated for 7.2 07/18/2016 1.2 Document updated for 7.1 02/29/2016 1.0 Document updated for 7.0 © 2016 by Kony, Inc.
    [Show full text]
  • A Comparative Analysis of Mobile Operating Systems Rina
    International Journal of Computer Sciences and Engineering Open Access Research Paper Vol.-6, Issue-12, Dec 2018 E-ISSN: 2347-2693 A Comparative Analysis of mobile Operating Systems Rina Dept of IT, GGDSD College, Chandigarh ,India *Corresponding Author: [email protected] Available online at: www.ijcseonline.org Accepted: 09/Dec/2018, Published: 31/Dec/2018 Abstract: The paper is based on the review of several research studies carried out on different mobile operating systems. A mobile operating system (or mobile OS) is an operating system for phones, tablets, smart watches, or other mobile devices which acts as an interface between users and mobiles. The use of mobile devices in our life is ever increasing. Nowadays everyone is using mobile phones from a lay man to businessmen to fulfill their basic requirements of life. We cannot even imagine our life without mobile phones. Therefore, it becomes very difficult for the mobile industries to provide best features and easy to use interface to its customer. Due to rapid advancement of the technology, the mobile industry is also continuously growing. The paper attempts to give a comparative study of operating systems used in mobile phones on the basis of their features, user interface and many more factors. Keywords: Mobile Operating system, iOS, Android, Smartphone, Windows. I. INTRUDUCTION concludes research work with future use of mobile technology. Mobile operating system is the interface between user and mobile phones to communicate and it provides many more II. HISTORY features which is essential to run mobile devices. It manages all the resources to be used in an efficient way and provides The term smart phone was first described by the company a user friendly interface to the users.
    [Show full text]
  • Latex Beamer Presentation
    Extend your KDE application Using QML! Artur Duque de Souza Aug/2011 Agenda • (Big) Introduction • A problem • KDE Solution • Issues • Future Qt Script QtScript C++ API to make your applications scriptable QScriptEngine • Environment to evaluate a script • Context • Global Object • Use QMetaObject system to automatically export QObjects QObjects Can be exported out of the box: • Properties • Signals • Slots • Q_INVOKABLE QScriptValue Container for QtScript data types: • Support for ECMA-262 types • Support for QObject, QVariant and QMetaObject • Prototype property that is common to all instances of an object JS Bindings JS Bindings for Qt Bindings are proxy objects/functions to interface with the ’real’ libraries JS Bindings for Qt Steps to create your bindings: • Create wrap code (check context arguments) • Register your wrappers with the engine • Be happy :) JS Bindings for Qt Steps to create your bindings: • Create wrap code (check context arguments) • Register your wrappers with the engine • Be happy :) JS Bindings for Qt Steps to create your bindings: • Create wrap code (check context arguments) • Register your wrappers with the engine • Be happy :) QML QML Declarative language to ease the development of UIs QDeclarativeEngine • Handles QML code • Does not inherit QScriptEngine • It has a QScriptEngine inside QDeclarativeEngine • Handles QML code • Does not inherit QScriptEngine • It has a QScriptEngine inside QDeclarativeEngine Public API • QML specific methods • It has its own ’context’: QDeclarativeContext • QObject works out of the box • It’s possible to register C++ declarative items QDeclarativeExpression Evaluate a JS expression in a QML context KDE First of all... ... why use QML? Declarative languages are way better (and faster) to build rich UIs! • Microblog plasmoid (C++): 1250 LOC • Declarative Microblog: 500 LOC First of all..
    [Show full text]
  • Blackberry UEM Architecture and Data Flows
    BlackBerry UEM Architecture and Data Flow Reference 12.10 2018-11-28Z | | 2 Contents BlackBerry UEM Architecture and data flows.................................................... 5 Architecture: BlackBerry UEM solution.................................................................................................................5 BlackBerry UEM components............................................................................ 7 BlackBerry UEM distributed installation.......................................................... 10 BlackBerry UEM regional deployment............................................................. 13 Components used to manage BlackBerry OS devices......................................17 Activating devices...........................................................................................20 Data flow: Activating a BlackBerry 10 device....................................................................................................20 Data flow: Activating an Android device for MDM............................................................................................22 Data flow: Activating an Android Enterprise device in a Google domain........................................................ 24 Data flow: Activating an Android Enterprise device using a managed Google Play account......................... 25 Data flow: Activating an Android device to have only a work profile in a Google domain..............................27 Data flow: Activating an Android device to have only a work profile using
    [Show full text]
  • Qt Signals and Slots
    Qt Signals and Slots Olivier Goffart October 2013 About Me About Me QStyleSheetStyle Itemviews Animation Framework QtScript (porting to JSC and V8) QObject, moc QML Debugger Modularisation ... About Me Offering Qt help and services: Visit http://woboq.com C++ Code browser: http://code.woboq.org Outline 1 History 2 Pointer to member function 3 Lambda functions 4 New syntax in Qt5 5 Under The Hood Outline 1 History 2 Pointer to member function 3 Lambda functions 4 New syntax in Qt5 5 Under The Hood Qt 1.41 Qt 1.41 Qt 1.41 qobjectdefs.h Qt 2, Qt 3 Q PROPERTY No major changes in signals and slot Qt 4 Thread support QueuedConnection Meta type registration Several major internal changes Added file and line number information in debug mode But still no changes in the syntax How Does it Work? 1 bool connect(const QObject *sender, 2 const char *signal, 3 const QObject *receiver, 4 const char *member); How Does it Work? Compare the signature string to see if the arguments match Use the information provided my the moc to find the index of the signal and of the slot Keep in an internal map which signal is connected to what slots When emitting a signal, QMetaObject::activate is called. It calls qt metacall (generated by moc) with the slot index which call the actual slot 3 connect(socket,SIGNAL(infoReceived(const Info &)), 4 this,SLOT(slotInfoReceived(const MyFramework::Info &))); 6 connect(button3,SIGNAL(clicked()), 7 this,SLOT(buttonClicked(3))); 9 connect(comboBox,SIGNAL(valueChanged(int)), 10 settings ,SLOT(updateValue(QVariant))); 12 connect(model,SIGNAL(modelReset()),
    [Show full text]
  • Katalog 2019 En-Web
    << emtas - your embedded solution partner << In the fields of automation technology and LEV development emtas is one of the leading providers of communication technologies. With its product portfolio emtas is specialized in CAN, CANopen (FD), J1939, EnergyBus and EtherCAT. Besides the sale of own products its software engineers develop customized embedded software solutions. The range of services includes consulting, deveolopment, on­site commissioning as well as software maintenance. Furthermore emtas provides training courses about the communications protocols CANopen, CANopen FD EtherCAT, EnergyBus, J1939 as well as trainings based on individual required content. << technologies << emtas is active member of the CAN in Automation e.V. (CiA), the EtherCAT Technology Group (ETG) and development partner of the EnergyBus e.V.. The experienced team is regularly working in different groups and in the commitees for a standardization of CiA, EnergyBus e.V. and the EtherCAT Technology Group. Basing on these facts, emtas' products always do correspond to the latest state of technology. emtas stands for: - expert advice - excellent service - high quality standard - Made in Germany << partnership << One of our major concern is to be always a reliable partner for our customers. Only together with them << sectors << we may be able to shape a successful future of our emtas products are being used by diverse national company. Customers all over the world gain from and international industries: strong service, professional consulting and high quality products. • automation • medical technology << service << • LEV components • battery and charging technology Direct phone contact to the developers of the customers' product or project. At any time. • lifts • and more... << table of content << << CAN/CANopen/CANopen FD << CANopen introduction .........................................................................................................
    [Show full text]
  • There's Good Security and Then There's National
    BROCHURE THERE’S GOOD SECURITY AND THEN THERE’S NATIONAL SECURITY BlackBerry 10 and BES10 The perfect balance of protection and productivity Back to the Contents THE PERFECT BALANCE OF PROTECTION AND PRODUCTIVITY Contents BlackBerry 10 & BES10 3 Corporate Networks Under Attack 4 BlackBerry Security 5 Protecting Data in Motion 7 BES10 Security Philosophy 8 BES10 Certification & Encryption 9 BES10 Layers of Protection 9 Tech Talk 1 & 2 10 Protecting Work Data on Personal-Use-Enabled Devices 11 BlackBerry Balance 12 Tech Talk 3 13 Enforcing Strong Access Controls 14 BlackBerry 10 Device OS Security Features 15 BES10’s Gold level Controls and Settings 16 Manging Devices 18 BlackBerry Mobile Device Management in Action 19 End-to-end Security 21 3 BlackBerry 10 & BES10 End-to-end mobile data security without compromising business productivity or user satisfaction Keeping corporate data secure is a top priority for The entryways for potential attacks, data loss and productivity any organization. After all, a data breach can cause compromises include: significant financial losses, expose executives to legal Employees maintaining a mix of corporate and third-party actions, damage your company's reputation and weaken applications on the same device and exchanging information or eliminate competitive business advantage. between the two domains As more employees access your corporate network The installation of threat-vulnerable containerization through mobile devices to communicate, collaborate on mobile devices and share data, your infrastructure becomes increasingly Employees visiting sites where they encounter malware or vulnerable to outside attacks and harder to secure and malicious threats protect. The mixing of personal and work email accounts, apps and data, as well as the proliferation of employee- The use of employee-owned devices to access enterprise owned devices, increases the chance of major data leaks.
    [Show full text]
  • Pipenightdreams Osgcal-Doc Mumudvb Mpg123-Alsa Tbb
    pipenightdreams osgcal-doc mumudvb mpg123-alsa tbb-examples libgammu4-dbg gcc-4.1-doc snort-rules-default davical cutmp3 libevolution5.0-cil aspell-am python-gobject-doc openoffice.org-l10n-mn libc6-xen xserver-xorg trophy-data t38modem pioneers-console libnb-platform10-java libgtkglext1-ruby libboost-wave1.39-dev drgenius bfbtester libchromexvmcpro1 isdnutils-xtools ubuntuone-client openoffice.org2-math openoffice.org-l10n-lt lsb-cxx-ia32 kdeartwork-emoticons-kde4 wmpuzzle trafshow python-plplot lx-gdb link-monitor-applet libscm-dev liblog-agent-logger-perl libccrtp-doc libclass-throwable-perl kde-i18n-csb jack-jconv hamradio-menus coinor-libvol-doc msx-emulator bitbake nabi language-pack-gnome-zh libpaperg popularity-contest xracer-tools xfont-nexus opendrim-lmp-baseserver libvorbisfile-ruby liblinebreak-doc libgfcui-2.0-0c2a-dbg libblacs-mpi-dev dict-freedict-spa-eng blender-ogrexml aspell-da x11-apps openoffice.org-l10n-lv openoffice.org-l10n-nl pnmtopng libodbcinstq1 libhsqldb-java-doc libmono-addins-gui0.2-cil sg3-utils linux-backports-modules-alsa-2.6.31-19-generic yorick-yeti-gsl python-pymssql plasma-widget-cpuload mcpp gpsim-lcd cl-csv libhtml-clean-perl asterisk-dbg apt-dater-dbg libgnome-mag1-dev language-pack-gnome-yo python-crypto svn-autoreleasedeb sugar-terminal-activity mii-diag maria-doc libplexus-component-api-java-doc libhugs-hgl-bundled libchipcard-libgwenhywfar47-plugins libghc6-random-dev freefem3d ezmlm cakephp-scripts aspell-ar ara-byte not+sparc openoffice.org-l10n-nn linux-backports-modules-karmic-generic-pae
    [Show full text]
  • Overview and What's New
    BlackBerry UEM Overview and What's New 12.12.1 2020-06-23Z | | 2 Contents What's new in BlackBerry UEM 12.12 MR1........................................................4 What's new in BlackBerry UEM 12.12................................................................5 What is BlackBerry UEM?................................................................................28 BlackBerry enterprise services........................................................................29 BlackBerry Secure UEM & Productivity Suites...................................................................................................30 Benefits of BlackBerry Workspaces................................................................................................................... 31 Benefits of BlackBerry Enterprise Identity..........................................................................................................32 Benefits of BlackBerry 2FA................................................................................................................................. 32 Benefits of BlackBerry UEM Notifications......................................................................................................... 33 Enterprise apps.....................................................................................................................................................33 BlackBerry Dynamics apps.......................................................................................................................34 Enterprise
    [Show full text]
  • Blackberry UEM Overview and What's New
    BlackBerry UEM Overview and What's New 12.13 2021-01-27Z | | 2 Contents What's new in BlackBerry UEM Cloud................................................................4 What's new in BlackBerry UEM 12.13 MR1........................................................7 What's new in BlackBerry UEM 12.13..............................................................10 What is BlackBerry UEM?................................................................................15 BlackBerry Spark Suites..................................................................................16 Benefits of BlackBerry Workspaces................................................................................................................... 17 Benefits of BlackBerry Enterprise Identity..........................................................................................................18 Benefits of BlackBerry 2FA................................................................................................................................. 18 Benefits of BlackBerry UEM Notifications......................................................................................................... 18 Enterprise apps.....................................................................................................................................................19 BlackBerry Dynamics apps.......................................................................................................................19 Enterprise SDKs....................................................................................................................................................20
    [Show full text]