Transcript of "Necessitas - Qt on Android - from FSCONS 2011"
Necessitas Qt on Android Johan Thelin Pelagicore
Biography● Johan Thelin● Worked with Qt for 10+ years● Foundations in Qt Development● Also worked embedded, embedded Linux, enterprise software, web● Today – senior developer at Pelagicore
What is Qt “Code less, create more, deploy everywhere”● A great framework for creating applications● Truly cross-platform ● Desktop ● Devices● Licensed for everyone – GPL, LGPL or closed
Portability between Devices● QPA – Qt Platform Architecture – or something ● Formerly known as Lighthouse● A backend for porting Qt to new platforms ● Focused at minimal effort, but with possibilities
Qt on Android● Based on Android SDK / NDK● QPA ● Necessitas - the actual Qt Port● QtCreator (IDE) adaptations ● The tooling● Ministro ● The deployment
Current Status● Alpha 3 was just released ● Most of Qt is ported ● OpenGL rendering ● WebKit● Missing ● Mobility (for many Android Versions) ● Rewriting soft keyboard support ● Android Style and Android Menus ● Development support in non-Linux environments ● Documentation
The Near Future● Planning to release First Beta soon ● Will give a stable API/ABI“...meaning that an application which uses that version will run without *any* change, on any further releases! It alsomeans you can target a billion devices using Qt, much sooner than you expected :)”
Getting Started● Installation party! ● OpenJDK ● ant 1.8+ ● The necessitas installer downloads and installs – Android SDK + NDK – Platforms for the SDK, etc ● Setup QtCreator – Add path to ant
User Interface Development● Classic – standard widgets, etc ● Rectangular areas ● Non-overlapping ● Clipping their children ● Provides familiarity● Device UIs ● Blend with the device ● Provide a brand feel ● etc
Building Modern UIs● No more widgets! ● Canvas / scene● Timers everywhere● Multiple simultaneous transitions● Complex, interconnected state machines● Pain! :-)
History of Qt and Modern UIs● QCanvas● QGraphicsView● QTimeLine● QGraphicsItemAnimation● An animation framework● A state machine framework● The birth of QtQuick
Of course QtQuick works on Android too. With hardware accelerated graphics.
Qt 5● A great opportunity to … ● … get rid of API limitations ● … split the repos into more independent parts ● … take advantage of modern C++● Widgets and QML are peers● More acceleration, shaders, etc – amazing performance
A new Dawn● Truly Open Source – a www.qt-project.org● Qt for Desktop ● Windows / X11 / OS X... more● Qt for Devices ● Symbian / Maemo / MeeGo / Android / Blackberry / iOS / Kindle... more
Thank you! email@example.com Were hiring!http://pelagicore.com/career.html
A particular slide catching your eye?
Clipping is a handy way to collect important slides you want to go back to later.