Necessitas alpha 3 release

BogDan bog_dan_ro at yahoo.com
Sat Oct 29 18:52:26 UTC 2011


Hello everybody,

  I know we are a little late to the party, but we'd like to say: Happy birthday KDE !!!
Of course we couldn't come with empty hand, so we come with a gift: the Necessitas alpha3 release !

 Necessitas alpha3 release should be the last but one release, before we'll ship first beta version. Why the beta release is so important and why is delayed that much? The beta release will *GUARANTEE* the API/ABI compatibility, meaning that an application which uses that version will run without *any* change, on any further releases! It also means you can target a billion devices using Qt, much sooner than you expected :) Of course if the situation will require we reserve the right to release additionally alpha releases, because going to beta is a great responsibility we can't afford to screw it up. *IF* everything goes right, we want to release the first beta SDK until the end of this year !

 Also don't forget that this release is focused mostly on features completeness, the next releases will be focused mostly on stability, so if your issue(s) is/are not yet fixed, please have a little more patience (and understanding :) ).

Most of all, we need your help to make it happen, so please:
 - help us to write documentations, FAQ, and to update and maintain project web pages.
 - help us to answer peoples questions on android-qt mailing list, doing this you are helping us more than you can imagine.
 - report any issues you find using http://code.google.com/p/android-lighthouse/issues/list, or https://sourceforge.net/p/necessitas/tickets/
 - help us to check and fix the opened issues.
 - help us to implement the remaining features http://community.kde.org/Necessitas/TODO , http://community.kde.org/Necessitas/Schedules/alpha4


Alpha 3 release brings you lots of exciting features, I'd like to talk a little bit about two of them:
 * OpenGL this is probably the most expected and exciting feature of this release. Yes, is here ! We tried (and succeed) to give you a seamless OpenGL support, even if we have different platform plugins to handle raster and OpenGL drawings, you don't need to worry about it, if your application will require OpenGL, we'll choose automatically the right plugin for your application.
 * Java redesign and Ministro II, this is a huge step forward for this project, this work will give us freedom to change the platform plugin as we wish without breaking any existing application. How it works ? Your applications doesn't know anything about qt libs, platform plugins and stuff like that, it only knows that it needs to connect to Ministro service, pass some parameters to it and to wait for its response, when the response comes it will have a list with .jar files which your applications needs to load them at runtime and to instantiate the startup class, this class will load Qt libs and your application. Basically the old java part was moved to these .jar files which will be provided by Ministro, Ministro will take care that the .jar files and qt platform libs will always be compatible.

BE AWARE !!! Because your application needs other java sources, please make sure you are removing the old ones (please remove android folder from any existing project)!!!

I'd like to highlight the most important features:

Qt framework:
 * OpenGL Support
 * Java part redesign
 * QAtomic implementation
 * Seamless Android assets support
 * Sync with upstream Qt 4.8.0-rc1

QtCreator:
 * Prepare the package for android market publishing
 * Sync with QtCreator 2.3.1

QtWebkit:
 * Sync with QtWebkit 2.2.0
 * It seems that the massive memory leak form 2.1.x was fixed.

QtMobility:
 * Sync with Qt framework changes.

Necessitas SDK:
 * Linaro toolchain based on gcc 4.6.x (it is experimental)
 * Android-4+ (armv5 & raster only) SDK
 * Android-5+ (armv5&armv7, raster&OpenGl) SDKs

Minitro:
 * Can provide specific CPU extensions libraries, this feature allows us to provide not only platform specific libs (armv5, armv6, armv7, x86, etc.) but also libs for specific CPU extensions, e.g. if your CPU supports VFP but the platform not (is the case of armv5) Ministro can download libs for armv5 *WITH* VFP flags turn on, also if automatic vectorization [1] will improve the speed will ship Qt libs compiled *completely* with NEON, where devices CPU supports NEON instructions, currently Qt detects at runtime if your CPU supports NEON and it uses that extension only in a few drawing functions.
 * Sync with Qt framework changes

For a complete change log please run the following command on every repository:
$ git log n0.21..n0.3

The following people have contributed to this project:
 == Code ==
 * Thomas Senyk: OpenGL support, fixes
 * Ray Donnelly: Linaro toolchain integration, NDK, gdb, Windows, and Mac fixes and SDKs.
 * Nuno Pinheiro: beautiful artwork for necessitas project (except the SDK watermark).
 * Robert Schuster, Christian Küster java redesign proof of concept, Ministro code cleanup and fixes.
 * Espen Riskedal: fixes (initial fonts fixes)
 * Marius Bugge Monsen: cleanup the repo.
 * Åke Svedin: initial DPI fix patch.
 * all Nokia developers which worked to all qt projects !
 * BogDan Vatra: Java redesign, QAtomic implementation, Android assets, QDesktopServices, QtCreator Android market publishing, QtCreator android plugin rework, Ministro, SDK for Linux, fixes.


 == Localizations ==
 * Lauri Laanmets: Estonian
 * Joost Bloemen, Maarten Ditzel: Duch
 * Alexander Wolf: Russian
 * Nikos Gerontidis: Greek
 * Samuel Gaist: French
 * Andrius da Costa Ribas, Anselmo L.S. Melo: Brazilian
 * Leonard Lee: Malay, Chinese (Simplified and Traditional)
 * Thomas Senyk, Josua Dietze
 * Ivan <ipansmail at googlemail.com>: Indonesian
 * Dejan Gojkovic: Serbian
 * Maciej Kujalowicz: Polish
 * Tomas <tomaslov at gmail.com >: Norwegian
 * Taro <taro.develop at gmail.com >: Japanese
 * Seyyed Razi Alavizadeh: Persian
 * Roberto Luttino: Italian
 * BogDan Vatra: Romanian

The SDKs installers can be downloaded from: https://sourceforge.net/projects/necessitas/files/
The new Ministro packages from: https://sourceforge.net/projects/ministro.necessitas.p/files/


Known issues:


Linux:
 - None till this date.

Mac:
 - Sadly we found a show stopper just before release and we delayed the release a few days until we'll figure out what is wrong. We'll come with a separate announcement when this platform will be ready.

Windows:
 - You must select manually the application (projects->run->package configurations->Run: <select the application >) Open [2] and search for "Application Tab". A fix will be available next week.
 - You can't create AVDs from within QtCreator.

 I want to personally thank to all who answered other people questions, to all how reported errors and made suggestions !


[1] http://infocenter.arm.com/help/index.jsp?topic=/com.arm.doc.dht0002a/ch01s04s03.html
[2] http://sourceforge.net/p/necessitas/wiki/How to write Qt apps for Android

Cheers,
BogDan.



More information about the Necessitas-devel mailing list