Welcome!

Welcome to the official BlackBerry Support Community Forums.

This is your resource to discuss support topics with your peers, and learn from each other.

inside custom component

Native Development

Reply
Contributor
Posts: 34
Registered: ‎05-15-2012
My Device: Playbook
My Carrier: Rogers

Re: Basic UI components in NDK 2.0.1?

[ Edited ]

>> You're not saying anything we haven't heard literally hundreds of times before, so it's really quite trite and tiresome at this point.

 

Ok, well I'm new here and so I haven't personally heard these things hundreds of times before, and I don't work there now (I did work at RIM in the late 90's back when it was a  small, *friendly*, 300-person company) so I wasn't aware that this would be such a sensitive point and I certainly did not intend to be trite or tiresome to you.  I apologize for commenting on my confusion and furstration regarding the platform - now that understand that such commentary is unwelcome on this forum I will avoid repeating this mistake. 

Developer
Posts: 6,473
Registered: ‎12-08-2010
My Device: PlayBook, Z10
My Carrier: none

Re: Basic UI components in NDK 2.0.1?

Your comment suggests you think I work at RIM, but I don't. Most people here (except those marked as "BlackBerry Development Advisors", mostly) are just other members of the community, volunteering their time to help people so we can all make excellent apps.

Discussion about how stupid RIM is (and I realize those weren't your words) don't really belong here, in my opinion, and there are many other forums where that sort of thing is often considered on-topic.

Technical questions are welcome, especially challenging ones, but I for one would much rather see the negativity kept in the social forums where it doesn't interfere with us getting real work done.

Just my opinion though, but I've got a long history helping people in forums here and elsewhere, and although not everyone shares my view, I do know what turns us off and makes us stop answering.

If you want technical answers, please consider all this just useful advice.

Peter Hansen -- (BB10 and dev-related blog posts at http://peterhansen.ca.)
Author of White Noise and Battery Guru for BB10 and for PlayBook | Get more from your battery!
Contributor
Posts: 34
Registered: ‎05-15-2012
My Device: Playbook
My Carrier: Rogers

Re: Basic UI components in NDK 2.0.1?

Fair enough, and point taken.  And I agree - it's best to keep techincal forums on-point, otherwise they begin to lose their usefulness.

Developer
Posts: 133
Registered: ‎03-28-2011
My Device: BlackBerry 9900 & PlayBook
My Carrier: Bell

Re: Basic UI components in NDK 2.0.1?

While I support what peter9477 is saying, I'm not going to jump into that portion of the discussion.

 

To the OP: If you're really looking for a UI framework to use in the NDK, look for stuff surrounding Qt on the PlayBook. There has been considerable work done to port it, and some of us are using it for our apps. You will need to build and package it yourself, so it does increase the heft of your app, but it is a great option until Cascades ships.


Founder of Pulsecode Inc. and taab
Authomator - Two-factor authentication codes on BlackBerry 10 - http://www.xitijpatel.com/ - Follow @xitijpatel
Is there a helpful or useful post in this thread? Click the thumbs up on it so that other people can find it more easily!
Contributor
Posts: 34
Registered: ‎05-15-2012
My Device: Playbook
My Carrier: Rogers

Re: Basic UI components in NDK 2.0.1?

What is the relationship between QT and cascades (or is there any)?

Developer
Posts: 6,473
Registered: ‎12-08-2010
My Device: PlayBook, Z10
My Carrier: none

Re: Basic UI components in NDK 2.0.1?

Phil, HorizonXP's got a great idea for you there. Since you're already strong in C/C++, you basically know you'll be using that (and the NDK) for the back-end portions of the app, the parts that really implement your "core" functionality.

For the UI, I'd strongly suggest looking at QtQuick (basically that's synonymous with QML) for the UI. That would let you implement some basic UI functionality now, without needing to deal with Cascades and the fact you don't have a device to run it on yet, and may not until sometime this fall.

HorizonXP and I are actually both doing this for PlayBook apps at the moment (none released yet), with (speaking for myself at least) the intention of just migrating the UI stuff to Cascades when it's fully ready for us. Most of the QML elements have close matches in Cascades, even if some names and behaviours are different.

If your app is ready to go before BB10 is close, you could release this way, with the Qt libraries bundled. That adds about 10MB to the size of the .bar file, and adds a couple of seconds to the launch time, but it's not a big deal. Under BB10 those libraries (except QtGui) will be included on-device, and the extra .bar size vanishes, and the load time is significantly reduced.

(I mention QtGui above: Qt comes with about 10 separate libraries, of which QtGui is the biggie. Cascades comes with all the other ones, but replaces QtGui with its own stuff, not directly compatible. That crude summary may help you understand what I'm describing above.)

Peter Hansen -- (BB10 and dev-related blog posts at http://peterhansen.ca.)
Author of White Noise and Battery Guru for BB10 and for PlayBook | Get more from your battery!
Developer
Posts: 133
Registered: ‎03-28-2011
My Device: BlackBerry 9900 & PlayBook
My Carrier: Bell

Re: Basic UI components in NDK 2.0.1?

Some awesome tidbits of information right there. I would really take it into consideration if I were you.


Founder of Pulsecode Inc. and taab
Authomator - Two-factor authentication codes on BlackBerry 10 - http://www.xitijpatel.com/ - Follow @xitijpatel
Is there a helpful or useful post in this thread? Click the thumbs up on it so that other people can find it more easily!
Highlighted
Contributor
Posts: 34
Registered: ‎05-15-2012
My Device: Playbook
My Carrier: Rogers

Re: Basic UI components in NDK 2.0.1?

Absolutely, thanks guys.  I have to confess, at this point I have no idea what QT is,and how it relates to Cascades.  Looks like I've got some reading to do tonight!

Developer
Posts: 133
Registered: ‎03-28-2011
My Device: BlackBerry 9900 & PlayBook
My Carrier: Bell

Re: Basic UI components in NDK 2.0.1?

Cascades is built on Qt. That's pretty much all you need to know.

 

Read up on it, and figure out if it'll work for you. I'm willing to bet it will. Once you're done, contact us again, and we'll get you started on how to build it yourself. Or maybe, if we're feeling especially charitable, we'll just give you the pre-built binaries.


Founder of Pulsecode Inc. and taab
Authomator - Two-factor authentication codes on BlackBerry 10 - http://www.xitijpatel.com/ - Follow @xitijpatel
Is there a helpful or useful post in this thread? Click the thumbs up on it so that other people can find it more easily!
Developer
Posts: 6,473
Registered: ‎12-08-2010
My Device: PlayBook, Z10
My Carrier: none

Re: Basic UI components in NDK 2.0.1?

I really thought someone had started posting official or at least more regularly built binaries, but maybe I dreamed that.

Phil, quick summary: Qt is Nokia's open source UI framework, widely used and quite good in many respects. QML/QtQuick is a declarative layer (with a CSS-ish feel but nicer than that makes it sound) added on top, for easier layout of parts of the UI. Qt includes a major package called QtGui which implements all the buttons and fancy stuff like that, along with others some of which aren't even UI related (QtNetwork, QtXMLPatterns).

Cascades is a RIM package that also builds on Qt, essentially ripping out QtGui and replacing it. The OS user interface (e.g. home page, settings) and basically all system apps will be rewritten using it by the time BB10 launches. It's going to define the BB10 experience, and the other dev environments (e.g. AIR, WebWorks) are being redone to more closely match the look and feel of Cascades.

RIM hired a company called KDAB to basically handle the porting work to get Qt running on the PlayBook and BB10 platforms. The work is still in progress, and somewhat behind the scenes... not totally visible in the main BB dev pages. Somewhat undocumented, but not entirely unofficial... it's complicated perhaps.

What we're proposing is that you look at Qt, and especially QML. Almost all non-QtGui portions of Qt will be available "natively" under BB10, and all those parts plus QtGui are basically usable now on the PlayBook, provided you either build the libraries from source (following the recipe http://qt-project.org/wiki/QNX) or find a source for pre-built binaries.

It's our belief that writing an app this way should let you do a relatively painless migration to Cascades at some future time, and let you make good progress in the interim. Call it a prototype, though there's no good reason you couldn't publish it in App World for the PlayBook any time. (Just as one example that I know of, look for MeshLab in App World, as it's a Qt/QML+OpenGL app that's built using the Qt port. OpenGL for the 3D rendering part, QML for most of the rest that you see.)

Peter Hansen -- (BB10 and dev-related blog posts at http://peterhansen.ca.)
Author of White Noise and Battery Guru for BB10 and for PlayBook | Get more from your battery!