Why C++ is the perfect choice for modern app development

Why C++ is the perfect choice for modern app development


It feels a bit ironic to be discussing, in 2014, if C++ is a viable, or more importantly, a great choice for multi-device, multi-platform app development. It’s ironic in the sense that despite the attention Objective-C, Java, and C# get for app development, most of the software we use on a daily basis is written in C/C++ and after all these years represents the largest community of developers.

There are many reasons to use C++ for your current and future app development and I will discuss five key reasons after a brief history.

A Brief History of C++

Bjarne Stroustrup, at Bell Labs designed C++ in the early 80s, as an object oriented language based on the C language, which powered pretty much all systems software since its creation in 1972. The need for an object-oriented language, at Bell Labs, was clear — large systems software needed language facilities for better organized and architected apps as capacity and performance requirement increased.  C++ was quickly adopted for all types of development and in particular in the telecommunication industry given its heritage from Bell Labs and is still widely used today to power the switching systems and operating systems that enable this widely connected world we live in today. C++ became an international ANSI/ISO standard in 1988 and has been update by the standards committee several times over the years, most notably with a major update in 2011 the publication of the  C++11 standard, which focused on improving the usability of the more complicated aspects of the language. And, in my opinion, it succeeded.

Despite the popularity of Java, C#, and Objective-C, C++ remains the most widely used language in the world. A recent report from Evans Data Corporation, that closely tracks worldwide language usage, found that over 11 million professional developers know and use C++ regularly. There was a reason Java and C# borrowed their syntax heavily from C++, there are a lot of developers who know the language. This means finding (or training) resources for C++ will not a problem. It also means there is plenty of C/C++ support for any functionality you may need to integrate into an existing application.


Figure 1: Global Developer Population of Languages Used.

C++ was built specifically for platform independence and as such is found on every single operating system in existence. Your typical mobile user may know that Android apps are written Java and iOS apps in Objective-C, but what many don’t know is that there is more C/C++ code in memory on your devices than anything else. C/C++ drives much of the technology of small devices (like the kernel, which interacts with the hardware, as well as typical run time libraries) and the telecommunications networks that enable these devices. More importantly for a development team, is that there are C/C++ interfaces and libraries for anything you need to do on any device and platform. The Android NDK toolset is a great example of full C/C++ support that was added originally for game development teams to enable them to get the best possible performance out of the device by avoiding Java and the Android Java runtime Dalvik, the virtual machine on which Android Java code is executed on. It has been regularly improved to enable every Android service.

C++ has the best compatibility with C of any language

Many of the libraries available on these devices are exposed via C functional interfaces. One example is POSIX, which outside the C/C++ RTL/STL is one of the most widely used and supported libraries on every platform because it provides a common C API for standard platform services. Another example is OpenGL/ES, which is the graphics library supported on every operating system out there. These libraries are trivially easy to use directly in your C++ app as there is no need to create language bindings, marshal data types, or to otherwise do any runtime conversions; just #include the needed header and link the associate library and you’re done.

C++ isn’t just for client side development. Although as mentioned above, the Android NDK is a great example of exposing C++ for the best performance possible on the device, C++ is widely used for server side applications too. In fact, it was originally focused on large backend systems in telecommunications, finance, engineering, etc. — any industry that required optimal performance. During the early embedded device days, C++ became very popular for apps on devices due to many of the attributes already discussed, like C compatibility and platform support, and runtime performance. Since C++ is a compiled language it runs directly on the CPU and is well regarded as the best performance language. Which is why game developers love it!  However, the client isn’t the only tier that can benefit from great performance; middleware servers, backend systems, are all part of the modern mobile app ecosystem and contribute directly to the overall user experience.  C++ delivers just as well for all these tiers.

In the early days of C++ we used to joke that C++ is such a powerful language it gives you enough rope to hang yourself. It took extra consideration to write safe code and meant dealing directly with memory and writing a lot of code to interact with the super powerful Standard Template Library (STL). The most recent published C++ standard, C++11, put a big emphasis on usability to address some of these more challenging programming practices.  This has made C++ much more accessible to a broader range of developers such that there is no reason to be scared of the language. It can be as simple or as powerful as you need, especially when working within an app development framework, that provides a common API for additional services like UI controls on multiple devices using Android, iOS, Windows, and Mac OS X operating system platforms.


C++ has been around a while and it has solved countless industry challenges — it is the primary language that drives the mobile experience today. In addition to high performance server and middleware, C++ is a great choice for client side development on the two most popular mobile platforms Android and iOS and the two most popular desktop platforms, Windows and Mac OS X. With the recent introduction of developer tools  that enable, among other things, visual design for clients, middleware, and server side apps; C++ is extremely productive and makes really makes it a great choice for modern app development.

John Thomas is Director of Product Management, Embarcadero Technologies.

Published under license from ITProPortal.com, a Net Communities Ltd Publication. All rights reserved.

Source: http://betanews.com/

The original article: http://betanews.com/2014/07/22/why-c-is-the-perfect-choice-for-modern-app-development/

Une étude compare différents langages pour le calcul intensif [French]

Le , par Davidbrcz, Rédacteur
Une étude compare différents langages pour le calcul intensif
Le résultat va-t-il vous faire changer de langage ?
Une équipe universitaire a sorti une étude comparant différents langages pour le calcul intensif. L’étude se base sur un modèle économique mais peut être appliqué à d’autres domaines.Ils ont comparé

  • C++11
  • Fortran 2008
  • Java
  • Julia
  • Python
  • Mathematica
  • R

Afin de na pas biaiser les résultats, ils n’ont en général pas cherché à tirer profit des particularités de chaque langage. L’étude ne commente pas la difficulté à porter l’algorithme dans un langage donné.

Les résultats principaux sont :

  • Le C++ et Fortran tiennent toujours les meilleures performances
  • L’avantage du C++ sur le Fortran n’est que de 5-7%
  • Julia avec son compilateur JIT donne un exécutable qui tourne en moyenne 2.7 fois plus lentement que le meilleur programme C++
  • L’implémentation Pypy donne un programme 44 fois plus lent que celui en C++. Quant a l’Interpréteur CPython, la facteur oscille entre 155 et 269
  • Utiliser Numba (un compilateur JIT Python) , demande de revoir un peu le code mais donne des performances très proches du C++ (1.6 plus lent en moyenne)
  • MATLAB est entre 9 et 11 fois plus lent que le C++. Mais combiné avec des fichiers Mex, la différence tombe entre 1.24 et 1.64
  • R est entre 500 et 700 fois plus lent que le C++. Compiler le code augmente par deux la performance
  • Mathematica donne de bonnes performances (4 fois lent que le C++) mais au prix d’un grand effort de ré-écriture de code pour tirer parti des optimisations du langage,

Les résultats détaillés sont ici et le code est accessible sur Github


Source: developpez.com

The original article: http://matlab.developpez.com/actu/73353/Une-etude-compare-differents-langages-pour-le-calcul-intensif-le-resultat-va-t-il-vous-faire-changer-de-langage/

PlayCanvas goes open source

PlayCanvas goes open source

When we first started PlayCanvas (over 2,716 commits ago) WebGL was just beginning to make it’s way from Chrome and Firefox Nightlies into stable releases. Fast-forward to 3 years and WebGL is everywhere, Firefox and Chrome have strong support both on desktop and on mobile. And just this week the final player Apple have joined us with WebGL support for both Safari and iOS.SWOOOP backgroundToday, we have some more great news for WebGL fans, game developers and web developers alike.

PlayCanvas Engine is now open source.

The entire runtime engine is available right now on github under the lovely MIT license. Which means you can download it, fork it, and generally use it for anything you like.

Why open source, why now?

Ever since we started the engine open source was always on our mind. We’ve never hidden the source code from developers. Minified versions are available for performance reasons, but during development users always have had full access to the un-mangled engine. This is critical for debugging and fulfilling our mantra to make game development easier.

In reality the engine has been open source since the get go. Officially open sourcing the project was just a matter of time, and the time is now. The engine is mature enough that we’ve established the basic structure, style and functionality but contributors will still be able to make a meaningful contributions to the engine. And of course we’ve now found the time to lay down the foundations of the developer documentation, the API reference, thesamples and all the other stuff that makes game development a joy not a chore.

For developers who just want to hack on the code with the overhead of the tools this news is great. Simply download the engine, open up your text editor and get cracking. For those of you who want more structure, and higher level tools, the PlayCanvas platform is a perfect addition to accelerate your game production.

So, this engine? What is it?

In case you haven’t come across the PlayCanvas Engine before, it’s a JavaScript library engineered specifically for building video games. It implements all of the major components that you need to write high quality games:

  • Graphics: model loading, per-pixel lighting, shadow mapping, post effects
  • Physics: rigid body simulation, ray casting, joints, trigger volumes, vehicles
  • Animation: keyframing, skeletal blending, skinning
  • Audio engine: 2D and 3D audio sources
  • Input devices: mouse, keyboard, touch and gamepad support
  • Entity-component system: high level game object management

Design Goals

We had a couple of goals in mind when we originally designed the engine.

  1. It had to be easy to work with.
  2. It had to be blazingly fast.

Simple Yet Powerful

As a developer, you want well documented and well architected APIs. But you also want to be able to understand what’s going on under the hood and to debug when things go wrong. For this, there’s no substitute for a carefully hand-crafted, unminified, open source codebase.

Additionally, you need great graphics, physics and audio engines. But the PlayCanvas Engine takes things a step further. It exposes a game framework that implements an entity-component system, allowing you to build the objects in your games as if they were made of Lego-like blocks of functionality. So what does this look like? Let’s check out a simple example on CodePen


As you can see from the Pen’s JS panel, in just over 100 lines of code, you can create, light, simulate and view interesting 3D scenes. Try forking the CodePen and change some values for yourself.

Need For Speed

To ensure we get great performance, we’ve built PlayCanvas as a hybrid of hand-written JavaScript and machine generated asm.js. The most performance critical portion of the codebase is the physics engine. This is implemented as a thin, hand-written layer that wrapsAmmo.js, the Emscripten-generated JavaScript port of the open source physics engine Bullet. If you haven’t heard of Bullet before, it powers amazing AAA games like Red Dead Redemption and GTAV. So all of this power is also exposed via the PlayCanvas engine. Ammo.js executes at approximately 1.5x native code speed in recent builds of Firefox so if you think that complex physics simulation is just not practical with JavaScript, think again.

But what about the non-asm.js parts of the codebase? Performance is clearly still super-important, especially for the graphics engine. The renderer is highly optimized to sort draw calls by material and eliminate redundant WebGL calls. It has also been carefully written to avoid making dynamic allocations to head off potential stalls due to garbage collection. So the code performs brilliantly but is also lightweight and human readable.

Powering Awesome Projects


The PlayCanvas Engine is already powering some great projects. By far and away, the biggest is the PlayCanvas web site: the world’s first cloud-hosted game development platform.

For years, we’ve been frustrated with the limitations of current generation game engines. So shortly after starting work on the PlayCanvas Engine, we began designing a new breed of game development environment that would be:

  • Accessible - Using any device with a web browser, plug in a URL and instantly access simple, intuitive yet powerful tools.
  • Collaborative - See what you teammates are working on in real-time or just sit back and watch a game as it’s built live before your eyes.
  • Social - Making games is easier with the help of others. Be part of an online community of developers like you.

PlayCanvas ticks all of these boxes beautifully. But don’t take our word for it – try it for yourself and discover a better way to make games.

Speaking of Games

It’s all very well talking about engines and tools, but engines are only as good as the games they let you make. Fortunately we’ve got a doozy for you.

SWOOOP title

SWOOOP is a great demonstration of what you can achieve with HTML5 and WebGL today. The game runs great in both mobile and desktop browsers and PlayCanvas also supports publishing to App Stores through third-party tools like Ludei’s CocoonJS or the open source Ejecta project.

Source: PlayCnvas Blog

The original article: http://blog.playcanvas.com/playcanvas-goes-open-source/


Le logiciel de chiffrement TrueCrypt ferme ses portes brutalement [French]

Depuis le mercredi 28 mai, le site dédié au logiciel de chiffrement TrueCrypt affiche une mise en garde concernant les dangers potentiels de son utilisation. Il est recommandé de basculer vers une autre solution, comme BitLocker.

TrueCrypt 7.1a

L’annonce, publiée brutalement, interroge depuis mercredi soir : le site du logiciel TrueCrypt explique l’arrêt du développement de ce dernier, avec, en rouge, une mise en garde sans appel : « Avertissement : l’utilisation du logiciel TrueCrypt n’est pas sûre, car il peut contenir des failles de sécurité non corrigées ». De quoi pousser les utilisateurs du programme open source, destiné à chiffrer les données présentes sur un espace de stockage, à chercher une alternative.

Les créateurs du logiciel, qui ont gardé l’anonymat durant toute la durée de son développement, expliquent leur décision par l’arrêt du support de Windows XP, seul système d’exploitation populaire n’intégrant pas de fonctionnalité de chiffrement. Depuis Windows 7, Microsoft propose en effet BitLocker, prévu à cet effet mais uniquement présent dans l’édition Intégrale de l’OS. C’est d’ailleurs l’alternative conseillée par les développeurs de TrueCrypt, qui expliquent sur l’unique page restante du site officiel comment passer d’un logiciel à l’autre.

L’annonce de la fin de TrueCrypt a de quoi étonner les adeptes du chiffrement de données : ces derniers mois, le logiciel avait fait l’objet d’un audit de sécurité pour déterminer s’il était touché par du code malveillant, ou sensible aux backdoorLes conclusions établies en avril ont démontré que le programme était sain : de fait, difficile de comprendre les mises en garde des développeurs publiées mercredi. On peut cependant imaginer que l’avertissement tient compte du fait que l’arrêt des mises à jour du programme ne permettra plus de combler les éventuelles failles détectées à partir de maintenant.

Mais un autre point troublant suscite les interrogations : le conseil donné par les développeurs d’utiliser BitLocker, le logiciel propriétaire de Microsoft. Ce dernier a en effet été pointé du doigt par les documents diffusés par Edward Snowden dans l’affaire Prism. L’analyste avait même conseillé de l’abandonner au profit de TrueCrypt. De fait, certains n’hésitent pas à soupçonner une pression exercée sur les concepteurs de TrueCrypt, pour stopper l’évolution du logiciel open source. C’est l’une des pistes envisagées par Matthew Green, un spécialiste du chiffrement qui avait participé à l’audit du programme. Ce dernier évoque la possibilité d’un chantage visant l’anonymat des développeurs, qui aurait pu les pousser à réagir de la sorte.

Le mystère entourant la mise à mort de TrueCrypt est, pour l’heure, encore entier. Le fait que ses concepteurs ne soient pas connus risque de compliquer la tâche de ceux qui cherchent à comprendre si une autre raison que l’arrêt du support de Windows XP se cache derrière cette décision expéditive. En attendant, les théories se multiplient, notamment sur Reddit où les internautes explorent également les alternatives fiables pour pouvoir se passer de BitLocker.


Source: Clubic.com


Qt 5.3 Released

Qt 5.3 Released

Published Tuesday May 20th, 2014 | by 

I’m happy to announce that Qt 5.3 has been released. The main focus for this release was performance, stability and usability. Nevertheless, Qt 5.3 has also gotten a fair amount of new features that help make developers’ lives easier.

Qt 5.2 has been a tremendous success, having been downloaded over 1 million times. With Qt 5.2, we delivered on our promise that Qt is a true cross-platform framework by adding Android and iOS support. Qt 5.3 is building on that foundation, and adding to it.

Focus on stability and usability

With Qt 5.1 and 5.2, we’ve received a lot of feedback from users. With Qt 5.3, we’ve used that feedback and put a lot of effort into polishing the product and enhancing the overall quality and user experience across all platforms.

Qt 5.3 contains a lot of improvements and fixes for the desktop platforms. We focused quite a lot on fixing some of the desktop issues reported. Most importantly, a lot of compatibility issues with OS X have been addresses. Qt 5.3 also adds binary packages for Visual Studio 2013.

The Qt 5.2 packages still had a couple of rough edges, especially the first-time user experience for iOS and Android wasn’t as good as it could have been. With Qt 5.3, most of these issues are now resolved. We have also conducted a series of usability tests for installation and first-time usage of Qt and have fixed most of the issues found.

We have, for example, added a convenient installer wizard for Android. The wizard will check whether the required native build tools are installed, and provide a guided installation for them if they are missing.

We have also done a lot of work to improve and better structure our documentation and examples.

Support for new platforms

Qt for Windows Runtime Beta

I’m very happy to see that the Qt for Windows Runtime port has now reached the status of a supported beta. Qt for Windows Runtime does not only cover Windows Phone, but also tablets and desktop PCs. In more detail, you can use it to target:

• All PCs and tablets running Windows 8.1, using the Modern UI
• WinRT tablets on ARM, such as the Microsoft Surface
• Mobile phones running Windows Phone 8

Applications developed with Qt for Windows Runtime, can be deployed to the Windows Store/Windows Phone Store and purchased through it.

Most of the Qt modules are supported and the tooling is already integrated into Qt Creator IDE allowing you to directly deploy to devices, very much like with Qt for Android. Check out the separateblog post with video for more details.

Official support for QNX 6.6 and QNX 6.5 SP1

Qt 5.3 also adds official support from Digia for the latest version of QNX Neutrino 6.6, providing pre-built Qt Enterprise binaries for it. If you would like to get a 30-day evaluation of Qt Enterprise for QNX , please contact Digia. QNX Neutrino 6.5 SP1 is also supported using the separately distributed QNX Screen component.

New features

Even with the focus on stability, the developers working on Qt have found some time to implement some cool new features for this release. Below are some highlights.


Qt 5.0 through Qt 5.2, has shown a strong division between Qt Widget UIs and Qt Quick UIs —you had to choose which one to use. With the new QQuickWidget class in Qt 5.3, we are now bridging that gap. It is a QWidget that allows you to embed Qt Quick contents into a QWidget- based application. This helps all developers who want to create parts of the UI using Qt Quick while keeping their existing Qt Widget based UI un-touched.

Compiled Qt Quick

With Qt 5.3 we are introducing a first look at a new professional build tool available under the Qt Enterprise version, Qt Quick Compiler. The compiler takes QML files and compiles them to native code showing a big difference in performance on operating systems where one cannot use a Just in time compiler, namely iOS and WinRT.

The compiler is also very useful to improve load times of QML user interfaces, as all of the parsing work now happs at compile time. This is especially interesting for startup times of applications and boot times of devices using Qt Quick for the user interface.

Finally, the compiler helps keep your source code safe, as it is now no longer necessary to ship the sources of your QML-based application.

Check out the documentation for more details.

Purchasing API

An important part of creating mobile consumer applications is to allow for in-app purchases within the application. To make this very easy for Qt-based applications, we have now added the Qt Purchasing API. The Qt Purchasing API is an Qt Enterprise add-on and currently supported for Android (Google Play) and iOS (App Store). For the future, we are planning to extend it to support WinRT (Windows Store / Windows Phone Store) and likely also towards desktop marketplaces, such as the Mac App store. Adding in-app advertising is also a possible extension.

For more information, see the earlier blog post and the developer documentation.

Websockets and cloud

Another new module for Qt 5.3 is the Qt WebSockets API. It provides a C++ and QML API for theWebSocket protocol. It allows the implementation of both client applications and servers.

To complement, Qt Cloud Services now offers the Managed WebSockets solution to easily setup a server that can be used for things like broadcasting push notifications, implementing chat features or multiuser environments. You can read more about Qt Cloud Services and Managed WebSockets fromqtcloudservices.com.

Other features

The Qt Quick Controls have also received new features such as a Calendar control, native dialogs and styling support for the menu bar.

The Qt Positioning API is now supported on both Android and iOS. The Qt Bluetooth API has now support for Android as well.

Qt 5.3 also includes many improvements and enhancement for the Qt Print Support module, offering much better support for printing.

Tooling Improvements

Qt Creator 3.1.1 has been released today and bundled into the Qt 5.3 installers. It includes important bug fixes to the earlier released Qt Creator 3.1.0, including a fix to performance regression with the Issues pane. For details, check the Qt Creator 3.1.1 change log.

We have also released Visual Studio Add-In 1.2.3 that brings support for VS2013 and includes Qt 5.3 documentation. For full list of changes, please check Qt VS Add-In changes-1.2.3.

New monthly subscription plan

Since Qt 5.2, it has been possible to buy Qt Enterprise for the mobile operating systems through our webshop. With Qt 5.3, this channel now also covers all desktop platforms. Through the web shop, you can now buy Qt Enterprise for application development targeting desktop and mobile platforms with a convenient monthly subscription. It includes all the Qt libraries, Qt Creator Enterprise, commercial licensing, support and a self-service customer portal via a pay-as-you-go model. Check it out here.


I hope that Qt 5.3 will meet your needs. It has taken a lot of work to make it happen, and I’d like to thank everybody who contributed to it. We hope you like it just as much as we enjoyed developing it. Try or buy Qt Enterprise 5.3 from qt.digia.com/Try-Buy or download the open source version from qt-project.org.


Source: Digia’s Qt Blog


Qt 5.3 Release Candidate Available

Published Thursday May 8th, 2014 | by 

We are now approaching the final steps towards Qt 5.3 release and I am happy to announce that the Qt 5.3 Release Candidate is now available!

After Qt 5.3 Beta we have fixed a large number of issues thanks to your feedback. We are confident that this release candidate is really close to final Qt 5.3 release. That’s why we invite you all to try it out! Please take it for a spin and give us feedback via following channels:

For those who have not yet checked what Qt 5.3 brings, please refer to the Qt 5.3 Beta blog post, the wiki article listing new Qt 5.3 features, or the documentation snapshot for more details.

Qt 5.3 Release Candidate is available via online and offline installers. Qt Enterprise and Qt Mobile licensees can get Qt 5.3 RC using the Maintenance Tool of the online installer. Offline installers are available from the Qt Account for Qt Enterprise users. Open source users can download offline installers from download.qt-project.org. Later today Qt 5.3 RC is available via the online installer also for open source users.


Source: Digia’s Qt Blog


jQuery 1.11.1 and 2.1.1 Released

jQuery 1.11.1 and 2.1.1 Released

Posted on  by 

Ah, the air is sweet with the scent of spring and new jQuery 1.11.1 and 2.1.1 are in bloom. These are minor patch releases and shouldn’t pose any major compatibility issues. Throw a Cinco de Mayo party and have your friends come over to test. If you dig up a problem, let us know at bugs.jquery.com, and be sure to provide a simple test case using jsfiddle.net or jsbin.com to demonstrate the problem.

You can include these files directly from the jQuery CDN if you like, or copy them to your own local server. The 1.x branch includes support for IE 6/7/8 and the 2.x branch does not.


The Google and Microsoft CDNs will be getting their copies today just like you did, so please give them a few days to post the files and don’t be impatient. If you’re anxious to get a quick start, just use the files on our CDN until they have a chance to post.

Minified files (for production use) and map files (for debugging) are also available. If you want to use the map file for debugging the minified code, copy the minified file and add a //#sourceMap comment to the end of the file.

Many thanks to all of you who participated in this release by testing, reporting bugs, or submitting patches, including Benjy Cui, Christian Kosmowski, Jason Frank, Julian Aubourg, Jens Simon, John Hoven, John Madhavan-Reese, Jonathan Sampson, Jörn Zaefferer, Leo Balter, Louis-Rémi Babé, Michał Gołębiowski, Oleg Gaidarenko, Philip Jägenstedt, R.G. Otten, Rhys Evans, Richard Gibson, Rick Waldron, Rob Graeber, Rodrigo Rosas, Roman Reiß, S. Andrew Sheppard, Scott González, and Timmy Willison.


Source: http://blog.jquery.com/


Qt 5.3 Beta Released

Qt 5.3 Beta Released

Published Tuesday March 25th, 2014 | by 

Qt 5.3 is mainly focusing on quality and performance improvements, but we also have a nice set of new features available. With Qt 5.3 Beta we are introducing Beta support for Windows Runtime with final support for the platform coming in Qt 5.4. In addition, Qt 5.3 Beta also provides VS2013 binary installers.

Highlights of Qt 5.3 Beta include:

  • New QQuickWidget providing improved integration between Qt Widgets and Qt Quick
  • New Qt WebSockets module got added featuring full support for the web socket protocol (RFC 6455)
  • Major improvements to printing support
  • Major improvements for iOS and Android ports such as:
    • Better input method support for iOS (including also Chinese),
    • Positioning support for Android and iOS
    • Bluetooth for Android
    • …  and many more
  • Support for Windows Runtime platforms: Windows 8/RT (Modern UI), Windows Phone 8
  • New target binaries: Qt for VS2013 (32 and 64 bit, OpenGL and Angle), as well as Qt for WinRT and Qt for Windows Phone
  • Qt Creator 3.1 Beta included in the installers

For more details on what is coming with Qt 5.3, please refer to the Qt 5.3 Alpha release blog postQt Creator 3.1 Beta release blog post, and the list of new features in Qt 5.3.

Thanks to John Layt and others, significant changes have been made to the internals of Qt PrintSupport in Qt 5.3. These improvements should resolve many of the page layout bugs and inconsistent behavior across platforms, as well as prepare the way for printing on mobile devices and cloud printing in future Qt releases. These changes were not part of the Alpha release, but are now in and can be used with the Qt 5.3 Beta.

The new Qt WebSockets module provides a Qt API for implementing the web socket protocol. With web sockets, one can create two-way, real-time communication between client and server on top of a long-held single TCP connection. The protocol allows consistent behaviour across all platforms and enables use cases such as online collaboration tools, communication software, games and remote controllers.

Beta support for Qt for Windows Runtime

Qt 5.3 Beta is also the first time we are offering a binary release of Qt for Windows Runtime. Please check the blog post by Andrew Knight on what goodies we have to offer for those interested in addressing the Windows Runtime platforms. The intention is to continue developing Qt for Windows Runtime port towards the Qt 5.3 final and also in upcoming patch releases with the target of having this port fully functional by Qt 5.4. As mentioned, Qt 5.3.0 will provide a solid and supported beta-level functionality of WinRT in a similar manner as Qt 5.1 introduced Android and iOS last year: you can start working with it and deploy your Qt applications to relevant marketplaces, but some things are still being worked on.

More is Coming!

In parallel to Qt 5.3 development, we are also currently working on developing a new Qt Purchasing Add-On that provides a convenient Qt API for implementing in-app purchasing on iOS and Android applications. This will make it much easier than before to leverage in-app purchasing functionality for monetization in the  iOS AppStore and Google Play store. Support for Windows Store will be added later, as well as possibly other stores, such as the Mac AppStore. Following this Qt 5.3 Beta release, we will very soon release a Technology Preview of the new Qt Purchasing Add-On. The final version of the Qt Purchasing Add-On will be available under the Qt Mobile and Qt Enterprise offerings together with the final release of Qt 5.3.

Download Qt 5.3 Beta Today!

Qt Enterprise and Qt Mobile customers can download the Qt 5.3 Beta offline installer via the new Qt Account, which has replaced the Qt Enterprise Customer Portal. If you have not yet logged in to the new “Qt Account”, please make sure to reset your password first at http://qt.digia.com/loginportals/.  The Open-source version of the Qt 5.3 Beta is available viadownload.qt-project.org. As this is a beta release, remember some things may be slightly shaky, but your feedback is much appreciated to help make the final release a great one. We encourage everyone to try Qt 5.3 Beta. If you find some problem, please create a bug report. It is also good to check the known issues wiki page.


Source: Digia’s Qt Blog

Qt 5.2 Over 1 Million Downloads

Qt 5.2 Over 1 Million Downloads

Published Wednesday April 16th, 2014 | by 

Since its release in December 2013, Qt 5.2 has been downloaded over 1 million times. That is pretty darn awesome with about 10K downloads ticking in daily. Qt 5.3 is just around the corner.

This figure really shows Qt as a key player in the software development world with a strong community behind it. The opportunity with Qt for hobby developers and large enterprise projects is evident via our fast-growing ecosystem. Qt’s use in 70+ industries and the large amount of market-leading Qt-powered applications and devices has an even larger potential for monetization and other new opportunities for all of us. Thanks again for the support and keep the conversation going with us. Let us  know what we can do better or more of to spread the use of Qt everywhere.


Source : Qt-Blog

Qt on Android: The top 5 markets

Qt on Android: The top 5 markets

Posted on April 16, 2014 by 

The power of Qt running on the ubiquity of Android is a potent combination that can be used to great effect in a number of different applications. But are there certain apps that really shine when they’re built using this dynamic duo?

Before I go any further, let me introduce myself. My name is Andy Gryc, and I’ve worked in the embedded industry for my entire career. I’ll be contributing a few guest blogs in anticipation of KDAB’s Qt on Android webinar, presented by BogDan Vatra with a little assistance from yours truly. I won’t be delving into the bits and bytes—I’ll leave that to BogDan as the world’s foremost “Qt on Android” expert. Instead, I want to ask some meta-questions.

My first question is obviously this: What types of apps rock Qt on Android?

  • Medical – Real-time and reliable access/control of hardware (pure Qt embedded system with an amazing UI)
  • Home Media – A set-top box that can leverage a standard development platform (Android) but allows precise control of the embedded hardware decoders/encoders (Qt/C++)
  • Enterprise – Server/cloud applications that can be deployed on Windows, Mac, or Linux desktops (Qt) as easily as on phones (Qt + Android)
  • Automotive – Easy access to low-level vehicle systems (C++) and high performance user interfaces (Qt) with an app framework (Android) for infotainment systems
  • Gaming – Games written using a powerful C++ and graphical toolkit (Qt) that can be ported to multiple desktop, console, or mobile platforms (including Android)

Although these are my top five, there are certainly others. In fact, there is great potential for Qt on Android wherever a system has either of these two characteristics:

  • Any app that needs low-level access from a high-level common environment—much like in-dash apps for the automotive market. For example, airline in-flight entertainmentheavy machinery, or white goods (sophisticated appliances)
  • Anything that needs cross-platform deployment strategies between mobile and non-mobile (desktop or embedded)—like the enterprise market. Other apps that fit into this category are satellite radio receiversuniversal remotes, network admin consoles, even educational/academic applications

I’m sure there are other industries and apps that I haven’t thought of. I’d love to hear if you are using Qt on Android for a different purpose or can think of other ideal applications.

Looking for more detail? Join BogDan and me on May 6 for “Qt on Android: Is it right for you?” We’ll be providing an overview of this technology marriage, and how you might be able to apply it to your project.

Want even more? In the month of June, BogDan will be extending his European Coffee and Code tour to several cities across the US. This will be a hands-on technical session: getting your development ramped up quickly, explaining how Qt and Android works, and for the really adventurous, getting into the nuts and bolts like JNI interfaces and Qt-to-Android surface control.

Source : KDab