dimanche 30 décembre 2012

Ajouter des bordures à vos containers !


Vous vous rappelez peut être d'une époque, fort , fort lointaine, ou pour faire des cadres arrondis en HTML ou d'autre langage  c’était tout simplement la galère. En effet, vu que les cadres changent de dimension, l'image de fond se redimensionne proportionnellement, changeant l'aspect des bords. La solution pour pallier à ce problème était de découper l'image en 9 slices, et de les positionner comme il faut. Bref c’était la galère..  Aujourd'hui avec cascade, fini les ennuies, car tout se fait automatiquement. Voila comment faire un container avec des bords :

1. Dessiner votre images et sauvegarder là. Vous pouvez faire un carré,un rectangle, tout ce que vous voulez.


2. Depuis Momentics IDE, ouvrez votre image , et cliquer sur le bouton "add/remove 9 slices". 
Vous pouvez aussi éditer les slices à la main en déplaçant les guides.  Bref quand c'est fait, sauvegardez.

3. Si vous avez fait tout ce que j'ai dit , Vous devriez voir apparaître un nouveau fichier appelé : nom_image.png.amd. Ouvez le juste par curiosité , vous devriez voir ce code : 

#RimCascadesAssetMetaData version=1.0
source: "cascades_images_nineslice_fixed.png"
sliceMargins: 15 15 15 15

Vous avez deviné , c'est la définition  du 9 slices images! Et vous voyez ce fichier .amd, c'est celui là que vous allez utiliser dans votre code à la place du fichier .png. 

4. On va par exemple, créer un Container , dans un fichier BorderContainer.qml 


Reste plus qu'à l'utiliser , et le tour est joué  !




vendredi 28 décembre 2012

Cascades : StackLayout et SpaceQuota

Vous vous demandez peut être comment créer une simple page avec un header et un footer, tout cela bien sur adaptable sur n'importe quelle résolution d'écran.

La réponse est : SpaceQuota.

Et comme un beau snippet vaut mieux que de belles paroles :

Cascades : DataSource

Voila une classe bien pratique qui vous permettra de lier directement vos data json, xml ou sql, local ou remote sur un DataModel, tous ça en QML donc.

Voila le lien pour voir le projet d'exemple : https://bitbucket.org/fredoust/testdatasource

L'important à retenir est :
- LIBS += -lbbdata dans le .pro 
- bb::data::DataSource::registerQmlTypes(); dans le .cpp
- import bb.data 1.0 dans le .qml

jeudi 27 décembre 2012

Partager de contenu via votre application et BBM

Voici un lien très intéressant pour appréhender comment partager du texte, des photos via le BBM.

http://blackberrydev.si/invokation-framework-with-bbm/

Pour vos tests de partage n'hésitez pas à me rajouter sur BBM :
- Fredoust : 2A815064

mardi 25 décembre 2012

Qt creator et blackberry 10


Pour noël , j'ai eu le courage de faire la vidéo tant attendu par certain. A savoir la configuration de Qt creator pour blackberry 10, afin de réaliser vos applications en pure Qt. Oui, j'ai bien dit du pure Qt. Fini Cascade et son pseudo QML qui donne des migraines. Après ce petit tutoriel, vous allez pouvoir porter vos applications QML facilement ! Mais surtout, vous allez retrouver un IDE fluide, simple et qui ne plante pas! 


lundi 24 décembre 2012

Rejoignez la communauté !


Vous voulez discuter avec d'autre développeur ? Poser des questions, ou aider les autres par pure empathie ? Voici les quelques liens à connaître : 

  • Blackberry Forum
    • Le forum officiel de blackberry pour Cascade
  • Blackberry Bug Tracker
    • Vous trouvez aussi des bugs dans l' API de cascade? dans la documentation ? Alors, poster ici votre issue pour le faire savoir au développeur de RIM
  • IRC sur freenode
    • Vous voulez poser vos questions directement sur un Chat , et discuter avec la crème de la crème ? rendez vous sur IRC ! Nos pseudos sont DrIDK et Fredoust
      • Serveur : irc.freenode.net
      • salon : #BlackberryDev , #qt-fr , #qt
  • Réseaux sociaux 

vendredi 21 décembre 2012

blackberry 10 Port-a-thon


RIM remet ça pour la 3 ème fois , un Port-a-thon qui consiste à publier un maximum d'applications en 36h.  Donc si vous êtes un développeur Qt ou cascade, inscrivez vous et participer de chez vous à cette evenement qui commencera le 11 janvier 2013 à 18h et fini le 13 janvier à 5h59 du matin.
Les récompenses sont les suivantes :
  • 100€ par application publiée . Jusqu'à 20 applications maximums
  • Si vous publiez entre 5 et 10 applications, les 200 premiers recevront 1 alpha device
  • Publier 10 ou plus, et vous serai tiré au sort pour gagner un voyage au blackberry 10 JAM pour le lancement de blackberry 10.
Bref , inscrivez vous ici ! Perso , je l'ai déjà fait, c'est sympa, on rencontre plusieurs personnes. Je serai surement présent sous le nom sacha schutz. 
Attention, si vous voulez participer, faite dès maintenant les demarches suivantes : 
Et perso, vous pouvez commencer dès maintenant à faire votre application, votre designs etc... Pas la peine d'attendre, l'objectif est de publier pendant l'evenement. 

jeudi 20 décembre 2012

Afficher les informations du système sur votre blackberry 10 alpha device

Petites astuces que j'ai découvert par hasard. Vous pouvez afficher des informations système de votre téléphone, dans le coin bas gauche, et de façon persistante. Idéal pour voir les ressources systèmes utilisées par votre application. Pour cela rien de plus simple ( quand on sait ) :


  • Glisser votre doigt sur la barre noir en haut( ou il y a la batterie) de gauche à droite. Si tout ce passe bien, vous devriez alors voir les informations du système en bas à gauche. 




mercredi 19 décembre 2012

vidéo de Qt 5.0

Une autre vidéo montrant les capacités de Qt 5.0 .   Ca rocks grave !!!!! Bref, A partir de maintenant, je vous promet que les prochaines versions de Qt 5.x vont se répandre sur toutes les plateformes tel un fléau pour tous les autres frameworks.


Sortie de Qt 5.0

capture d'ecran blackberry 10

En attendant la sortie de bb10 fin janvier, voici une serie de screenshot plus qu’alléchante.
BBM que l'on connait déjà sur le alpha device

Le blackberry hub absent du alpha device

le clavier d'appel simple

l'application facebook

Le gestionnaire de fichier

foursquare

la homescreen

le lecteur multimedia

twitter

tic tac

le gestionnaire de notification, l'atout de bb10

l'album media

le Siri like

lundi 17 décembre 2012

Obtenez votre blackberry 10 Alpha device


Vous êtes développeurs Qt , alors vous êtes faite partie de ceux qui pourront recevoir le blackberry 10 dev alpha. En effet, RIM organise le  Blackberry Qt porting program, qui consiste à fournir un le téléphone au développeur Qt ayant rempli les conditions, a savoir : 
  • Denvenir un blackberry world vendor en s'inscrivant ici
  • Envoyez votre candidature via ce site
  • Publier ou porter une application Qt avant le 30 janvier 2013
Autre chose, RIM promet de donner $10000 à la fondation Qt, si plus de 50 applications sont publiées.

mardi 11 décembre 2012

Blackberry 10 SDK Gold disponible


A l'instant, je viens de voir ..... Blackberry 10 SDK Gold est disponible sur : 

Afficher une map simple

Voici comment afficher une map toute simple.
Pour l'instant il n'est pas encore question de points d’intérêt.

Pour cela ajoutez :
- import bb.cascades.maps 1.0 à votre fichier QML
- LIBS +=  -lbbcascadesmaps à votre fichier .pro

Place au code :

lundi 10 décembre 2012

qDebug..qDebug.... Mais tu vas t'afficher !!!

Sous blackberry10 SDK, l'outil le plus important pour debugger son application , à savoir , le simple qDebug(), semble être mis de coté. En resumé voici l'histoire :

  • beta 2 : le qDebug() s'affiche correctement dans la console du SDK
  • beta 3  : le qDebug() ne s'affiche plus dans la console. Il faut se connecter en ssh sur le téléphone, et fouiller les logs. Heuresement, que tous les messages qt sont précédés de "qt-msg" nous permettant de filtrer le log via la commande : slog2info -w | grep qt-msg
  • beta 4: Bon, cette fois, ils ont enlevés le label "qt-msg", impossible de filter... 

Vous l'avez compris, blackberry10 semble detester qDebug(). Parait il, par soucis de performance. ( WTF??). 
Heureusement, Qt à la solution , dans votre main.cpp faite : 



Voila, à partir de maintenant, tout vos debugs s'afficherons correctement


jeudi 6 décembre 2012

Qt 5.0 RC

Juste pour vous dire un mot, Qt 5.0 RC est sortie !  


Prochainement , je vous fais une vidéo demo montrant comment faire une application blackberry depuis qt creator ! 

mercredi 5 décembre 2012

Tuer votre application....

J'ai déjà eu plusieurs fois ce problème. Dès fois, je n'arrive plus a exécuter mon application depuis momentics IDE avec un message d'erreur du genre :  "Application is open" . Et sur mon téléphone, rien, à part l'icone de l'application restant transparente . Bref, la seul solution était de redémarrer mon alpha device.
cascadecode a publié la methode pour killer l'application depuis momentics.


1. Ouvrir le target navigator

    Window > Show View > Target Navigator


2. Trouver le processus

  1. Déplier le device sur son adresse IP
  2. Selectionner le processus

    

3. Envoyer un signal à votre application

  1. Cliquer droit sur votre processus 
  2. Et faite "Deliver Signal..."

4. Tuer le processus

  1. Sélectionner SIGTERM option
  2. Cliquer sur Ok

mardi 4 décembre 2012

Installer votre application bb10 sur un autre device

Ce midi, un de mes clients m'a demandé de pouvoir tester une application sur son alpha device. En gros, lui envoyer un package contenant le binaire de l'application pour qu'il puisse l'installer.
Pour ça, il y a 2 choses à savoir. Créer un package bar et l'installer.

Pour créer un Package bar exportable 

  1. click droit sur votre projet
  2. Export...
  3. choisir Blackberry > Release build
  4. next et next ! 
  5. Vous devez à présent retrouver votre package *.bar la ou vous l'avez spécifié. Attention à ne pas confondre avec le package *.bar de votre version de debug. Le nouveau package doit contenir le nom de la version dans son nom.



Installer le package sur le téléphone blackberry

  1. Soit vous le faite en ligne de commande. Pour se faire, il faut s'assurer avoir le blackberrySDK et de bien avoir réglé son PATH via l'execution de  bbndk-env.sh.
    La commande à faire est donc :
    blackberry-deploy -installApp -device 169.254.0.1 -password theirpass YourApp.bar 
  2. Soit vous l'installer depuis une interface. Je n'ai pas essayé, mais blackberry desktop software ou DDPB devraient faire l'affaire.

lundi 3 décembre 2012

Parser du Json façon Qt

Je vais vous proposer 2 façons de lire et écrire du JSON en C++. La première méthode utilise l'API cascade avec la classe JsonDataAccess. La seconde, est une methode perso, que je prefère, car elle depend uniquement de Qt, et permet donc d'être réutilisé ailleurs.
Avec ces 2 méthodes, le code JSON sera convertit en QVariant en respectant les types suivant :
    JSON Type             QT Type
   ---------         -----------------
   null              empty QVariant
   int               QVariant(Int64)
   uint              QVariant(UInt64)
   real              QVariant(double)
   string            QVariant(const char*)
   boolean           QVariant(bool)
   array             QVariant(QVariantList)
   object            QVariant(QVariantMap)


Voyons maintenant, comment parser le code suivant : 


Methode JsonDataAccess :

Pour être utiliser, la classe JsonDataAccess nécessite la librairie -lbbdata.  Donc depuis votre fichier *.pro, ajouter LIBS += -lbbdata
Et n'oubliez pas d'inclure le header et d'utiliser le namespace.

#include <bb/data/JsonDataAccess>
using namespace bb::data;

Et pour récupérer votre QVariant : 


Methode QxtJson : 

Qxt est une librairie tierce sous licence LGPL 2.1. Je vous rassure, je ne vais pas vous demander de linker cette librairie. Télécharger juste ces deux fichiers et ajoutez les à votre projet :

Maintenant, grâce à qxtjson, vous allez pouvoir parser et écrire du json en 1 ligne : 



Astuce ou la magie de QML:

Vous avez vos datas sous forme d'un QVariant. Vous voulez maintenant les afficher dans votre page Qml. Plutôt que de créer des fonctions d'appel C++, nous allons directement envoyer notre QVariant au contexte qml, qui s'occupera de les transformer en tableau javascript.

qml->setContextProperty("myData",data);

 Et depuis QML, accedé à vos données en faisant simplement :

Label { text: myData.name }


Des icônes pour vos applications cascades !

Un grand manque avec le SDK de cascade, est l'absence d' icônes natives à blackberry. En gros, si vous voulez faire une application suivant le look & feel de cascade, vous ne pouvez pas utiliser les icônes du systèmes. Enfin, il y a toujours certaines actions comme DeleteAction ou SettingsAction  qui vous affichent un logo par défaut. Mais pour le reste, il vous se dépatouiller soi même .
Heureusement, il existe deux packs d’icônes que vous allez pouvoir ajouter à votre dossier assets.
Le premier, contient dans sa version gratuite, 24 icônes dark et light, utilisable dans vos Actions, ContextMenu, Tab etc..  Je vous conseil d'acheter le pack de 306 icônes à cette adresse : http://subway.pixle.pl/ pour 10€. Le deuxième pack, propose 100 icônes gratuite utilisable et comprend des icônes d'application comme twitter et facebook.




Subway Icons for RIM par Pixle (http://subway.pixle.pl/rim/)
Licensed under CC-BY-3.0 (http://creativecommons.org/licenses/by/3.0/)



BlackBerry 10 Assets by Liz Myers (http://myersdesign.com/resources/)
Licensed under CC-BY-3.0 (http://creativecommons.org/licenses/by/3.0/)






samedi 1 décembre 2012

blackberry 10 SDK beta 4... résumé



Le Sdk de blackberry 10 est sortie il y a deux jour en version beta 4. Les nouveautés concernant le SDK sont alléchante, mais sans grande nouveauté.
Au niveau du téléphone alpha, on se retrouve à présent avec un nouveau thème, un menu settings plus propre, une nouvelle taille de police ainsi qu'un changement de la TitleBar en bleu pétant .A part ça, pas de changement. On n'a toujours pas le blackberry10 hub. Mais bon, je rappel que le blackberry 10 device alpha n'est pas dutout le blackberry 10 qui sortira en janvier. Il s'agit d'une version playbook remasterisée pour les developpeurs. 
Passons à présent à l'API et à ses nouveautés 
  1. La TitleBar a subit plusieurs changement... Elle est devenu bleu, et "théoriquement" elle peut se transformer en DropDown quand il y a plus de 4 items à l’intérieur  . Je dis "théoriquement", car vous voyez cette mise à jour fait suite à une demande que j'avais fait sur le "issue tracker" de blackberry. Quand j'ai lu ça, je me suis dit : "chouette, ils m'ecoutent! Ils sont cool chez RIM"... La désillusion s'est rapidement fait sentir, après de multiple teste infructueux... En effet, je n'ai toujours pas réussi à faire ma TitleBar avec dropDown..  Vous pouvez voir mon coup de gueule ici
  2. La taille des font a changé. En gros, si vous utilisiez la taille du système via par exemple :           textStyle.base: SystemDefaults.TextStyles.BigText , il n'y a rien a changé. Mais par contre, si comme fredo vous aviez défini vos tailles perso, alors il faut tout changer. ( voir le poste d'avant). 
  3. Coté Dialog, il y a eu aussi des nouveautés. On peut enfin ajouter autant de boutons que l'on veux, et 3 nouveaux dialog font leurs apparitions : SystemProgressDialog, SystemProgressToast et SystemUiProgressState. 
  4. Détection du scrolling dans les ListView. Je n'ai pas encore testé, mais d'après un poste du forum, on va enfin pouvoir charger du contenu dynamiquement dans une liste lorsque l'on arrive au bout. Ceci grace  à ListScrollStateHandler
  5. A propos du qDebug, le flux sort toujours sur le slogger2. Mais cette fois, il y a une nouvelle fenetre dédiée qui s'occupe de l'affichage : Show View > Other. Expand Debug and select Device Log.
  6. D'autres améliorations que je n'ai pas testé, concernent la géolocalisation , le payement , la notification
Voila, je posterai d'autre news à propos de la beta 4 au fur et à mesure de mes differents testes.  N’hésitez pas à me faire part de vos remarques . 


vendredi 30 novembre 2012

[beta 4] Changement de taille de font

Avec l'arrivé de la beta 4, toutes mes fonts était anormalement grande...

En effet, j'utilisais textStyle.fontSizeValue pour définir ma taille de font dans mes labels, or dorénavant pour ce faire il faut rajouter la propriété  textStyle.fontSize: FontSize.PointValue sinon les labels auront une taille de font standart...

mardi 27 novembre 2012

Qml Repeater ... pour cascade!!

En Qml, il y avait un outil SUPEEEEEER pratique, ressemblant à une boucle for. A savoir, Repeater.
On pouvait faire ceci : 
Maintenant pour faire qqch de similaire en QML/Cascade, il vous faut rajouter a votre projet, les deux fichier C++ suivant

puis de les enregistrer dans le qml via  :
qmlRegisterType<Repeater>("org.labsquare", 1, 0, "Repeater");

Voila, et maintenant depuis votre code QML/Cascade, vous pouvez utiliser le container Repeater. Attention toute fois, à mettre Repeater dans un Container .

dimanche 25 novembre 2012

WebImageView : Charger une image depuis le web..

On ne le dira jamais assez... Cascade est à loin derrière l'aisance de QtQuick et de ces différents composants. Pour ce qui ont déjà fait du Qml native, vous avez peut être déjà utilisé le composant Image pour charger des images.  Il suffisait de faire :

Image { source:"http://img.clubic.com/04027682-photo-qt-logo.jpg" }

Avec cascade, le composant ImageView, ne permet pas de récupérer des images depuis le Web. Je vous propose donc mon composant fait maison : WebImageView fonctionnant avec QNetworkAccessManager.  Nous allons créer un une classe WebImageView en C++ . Puis nous injecterons la classe dans le contexte qml via :

qmlRegisterType<WebImageView>("org.labsquare", 1, 0, "WebImageView");





Accès aux informations GPS

Voici une classe permettant d'avoir accès aux informations GPS, elle mérite quelques améliorations mais c'est un bon point de départ.
Pour l'utiliser il vous faut rajouter la ligne suivante dans votre .pro : LIBS += -lQtLocationSubset,
ainsi que certaines permissions dans le bar-descriptor : GPS location, Internet, Location et Run when backgrounded pour utiliser le tracking GPS en arrière plan.

Pensez également à autoriser la localisation dans les paramètres de Blackberry !

Contrôler le simulateur (zoom level, location...)

Pour modifier le zoom level de votre simulateur, ou toute autre info, il vous suffit simplement de lancer le controller.exe situé dans le dossier controllers du dossier d'install de votre simulateur.
Connectez vous ensuite grâce à l'adresse IP du simulateur.

Attention : 
- Si la modification n'est pas prise en compte, il vous faudra peut être redémarrer le simulateur
- J'ai eu des problèmes (notamment le zoom level) lorsque le simulateur était lancer en safe mode

jeudi 22 novembre 2012

Voir les logs avec le SDK Beta3

Pour voir les logs qDebug() et console.log() avec le SDK Beta 3 il vous faut établir une connexion SSH avec le device ou le simulateur.

Pour cela :

- Windows -> Show view -> Target Navigator
- Clique droit sur votre target
- Launch SSH Session
- Dans la console : slog2info -w

Et voila ! ...

lundi 29 octobre 2012

Astuce : Capture d'ecran sur blackberry alpha device

Pressez simultanément sur volume+ et volume- de votre téléphone pour faire une capture d'ecran de la vue en cours. Vous retrouverez alors votre capture dans le dossier image

blackberry 10 SDK et Linux

Dans cette article, je vais vous expliquer comment installer et utiliser le SDK de blackberry 10 sous linux. RIM a oublié que la plus part des développeurs sont sous linux et leurs documentation est assez pauvre à ce sujet.

ETAPE 1 : Téléchargement  

Installation de VMWare Player

Si vous ne disposez pas du blackberry 10 alpha device, vous allez devoir installer le simulateur. Après avoir téléchargé le bundle, executer le comme ceci : 
  • Installer votre kernel header : 
  •  sudo apt-get install linux-headers-$(uname -r) 
  • Puis executer le bundle téléchargé
    chmod +x VMware-Player-5.0.0-812388.i386.txt 
    sudo ./VMware-Player-5.0.0-812388.i386.txt 
  •  si vous rencontrez le message d'erreur suivant au premier lancement : "Unable to starts service vmnet!" Executer le patch
     wget http://weltall.heliohost.org/wordpress/wp-content/uploads/2012/01/vmware802fixlinux320.tar.gz 
     tar xzvf vmware802fixlinux320.tar.gz 
     chmod +x patch-modules_3.2.0.sh 
     sudo ./patch-modules_3.2.0.sh 
     rm vmware802fixlinux320.tar.gz patch-modules_3.2.0.sh vmware3.2.0.patch
  • Si tout c'est bien passé, vous pouvez alors executer vmware depuis le menu : 

Installation du Simulateur 

  • Rendre exécutable et exécuter

    chmod +x BlackBerry10Simulator-Installer-BB10_0_09-386-Linux-201209241939.bin 
    sudo ./BlackBerry10Simulator-Installer-BB10_0_09-386-Linux-201209241939.bin 

  • Depuis VmWare Player, ouvrez le fichier BlackBerry10Simulator.vmdk que vous venez d'installer. Vous pouvez alors lancer le simulateur. Attention à avoir un grand ecran !

Installation de blackberry SDK

Depuis votre console, rendre le fichier executable et executer le
chmod +x installer-bbndk-bb10_0_09-linux-386-201209241008-201209241243.bin
./installer-bbndk-bb10_0_09-linux-386-201209241008-201209241243.bin

Suivez les instructions. Installer le SDK dans votre dossier personnel et pas en root, sinon vous aurez des problèmes.

Une fois l'installation terminé, depuis votre console, executer : 
cd bbndk
./bbndk-env.sh
./bbndk.sh


L’exécution de bbndk-env est à faire une fois et sert à définir des variables d'environnement. 
Si tout se passe bien, vous devez avoir ceci : 


Configurer votre blackberry 10 alpha device

Si vous avez la chance d'avoir le blackberry 10 alpha device, vous pouvez compiler et exécuter vos applications en passant par le Wifi ou par l'USB. Pour cela, activer le mode developpeur dans : paramètre > Securité > Mode développement.
Pour le mode USB, vous devez faire en plus : Paramètre > Stockage > Connexions USB Connexion à Windows.
Maintenant, si vous voulez tester vos applications sur votre téléphone, il va falloir demander des clefs à blackberry sur ce liens https://www.blackberry.com/SignedKeys/
Dès que vous les avez reçu, nous allons pouvoir faire notre première application ! 

Astuce : Quelle libraire ajoutée ?

Une petite astuce , lorsque vous utilisez le framework cascade . N'oubliez pas de lier vos librairies pour utiliser certaine classe. Par exemple, la class JsonDataAccess documentée ici : https://developer.blackberry.com/cascades/reference/bb__data__jsondataaccess.html
Dans la documentation vous pouvez lire : #include <bb/data/JsonDataAccess>.
N'oubliez pas alors d'ajouter dans votre fichier.pro la librarie : LIBS += -lbbdata.
Vous avez compris la règle, si vous utilisez include<bb/xxx/yyyy> ajoutez alors LIBS += -lbbxxx.
Un autre exemple : #include <bb/platform/Notification> nécessite LIBS+= -lbbplatform 

mercredi 24 octobre 2012

Qt + blackberry 10 = cascade

Tiens, et si j'ouvrais un blog pour vous faire partager mon apprentissage de ma librairie préféré Qt4 avec un nouveau venu qu'est Blackberry 10(bb10) , la prochaine monture de RIM.
En effet, Blackberry10 le nouvelle OS de RIM pour concurrencer Apple et Google, se base maintenant sur Qt4, comme nokia (en espérant ne pas finir comme eux...) à travers une API appelé cascade. Lorsque j'ai entendu ça, j’étais aux anges.. J'ai vite déchanté en voyant comment RIM a mis la main dans la cambouille en supprimant un tas de features de Qt pour le meilleur mais surtout pour le pire... Donc pour les fans incontestés de Qt, vous verrez que tous les composants magique QML , comme Rectangle  XMLListModel  ont disparu laissant place à une nouvelle architecture et de nouveaux composants souvent moins "magique" que le QML d'origine . En effet, contrairement à la philosophie de Qt qui est de garder le C++ pour la logique et QML pour le rendu, la nouvelle architecture de cascade consiste à pouvoir faire la même chose en C++ et en QML. Les avantages de ce changement, c'est un moteur de rendu plus puissant basé sur un sceneGraph. (voir Qt5) Et un système de layout , chose que ne proposait pas qt-component. En contrepartie, c'est toute la magie du QML qui est perdu.
Voici un exemple de code en QML et en C++ :

 A travers de nombreuses incohérence dans le code design, on s’aperçoit vite que ce n'est pas "cute".  Mais on s'y fait vite. A vrai dire, l'interface de bb10 est tellement agréable que je les excuses sur ce point.
Interface cascade

 Le vrai défaut de cascade, c'est surtout son éditeur, à savoir l'usine à gaz de tous les éditeurs : Eclipse.

eclipse : ou comment faire compliquer

Appelé Momentics IDE, cette éditeur n'a rien à voir à la simplicité de qtcreator.  J'ai pris un certain temps avant de comprendre comment ouvrir un projet et l’exécuter. L'editeur est tellement bourré d'action et de vue qu'on ne retrouve pas les actions importantes. De plus, le viewer QML  ne marche pas sous linux...  Un comble vue que Qt à été fondé depuis linux.
Sinon, coté C++, on retrouve les principaux modules Qt (core, network , xml, sql..) amputé du module gui. Donc pas de QWidget ou de QComboBox . Mais ça, on s'en fiche. Le seul hic , c'est l'absence de QPainter pour dessiner à la main nos elements qml par exemple. Et ça c'est un peu la loooose. Et sinon, d'autre truc bizarre, comme la class Image alors que Qt dispose déjà de QImage ou QPixmap. 

En conclusion, Cascade blackberry SDK, c'est du Qt sans être cute, contrairement à Nokia qui avait gardé Qt dans son intégralité.  
Sinon voilà le plan pour ce qui veulent suivre mon blog. Je dois réaliser une application pour les 2 prochains mois. et je vais partager avec vous mes angoisses, mes peines et mes bonheurs :D ! 

++