Introduction to Cascades
The BlackBerry 10 Native SDK includes the Cascades framework, which you can use to develop fully-featured applications for BlackBerry 10.
The Cascades framework contains a rich set of UI components to help you create a fluid and intuitive experience, along with APIs that allow for deep integration with the BlackBerry 10 OS. The foundation of Cascades is Qt 4.8, which provides a set of non-visual foundation classes and objects.
Qt and QML
Qt is a cross-platform application framework that's used primarily for creating applications that require a UI. Qt uses standard C++, but extends its functionality using several macros, the most important being the Q_OBJECT macro, which provides an inter-object communication mechanism called signals and slots.
Cascades UI framework
Although Qt has a fully-featured UI toolkit, Cascades provides its own UI framework, giving it all the power and flexibility of Qt with a look and feel that's designed for touch-screen interaction.
The Cascades UI framework (bb::cascades) is both fast and easy to use. The framework comes with a rich set of core controls, classes for layout and structure, and animations for adding those extra moments of charm. The application logic and the UI rendering engine run on separate execution threads that communicate asynchronously with each other.
The separation of application and rendering logic means that the UI rendering engine doesn't need to wait for a long running process to complete before updating the UI. This is how Cascades helps your application present a UI at a consistently high frame rate. The high frame rate keeps your UI smooth and responsive.
Cascades apps, like other native apps for BlackBerry 10, are built using the Momentics IDE for BlackBerry. The Momentics IDE is an Eclipse-based IDE that's designed for building C and C++ applications. The IDE allows you to compile, deploy, debug, and profile your native applications with ease.
The Momentics IDE comes with a set of Eclipse views that are designed specifically to help speed up the development process for Cascades applications. You can access these views by using the QML Editing Perspective in the IDE.
When building a Cascades application, you can drag and drop QML components into the editor, view and edit components in the QML properties view, and even preview your UI in the QML preview.
Cascades applications follow a similar development workflow as other BlackBerry 10 applications. This process is relevant not only for your initial release, but for each subsequent update to your app as well.
- If your app has already been released to users, take a look at the Analytics metrics to see how they've been using it. This information can help you make informed decisions about new and existing features.
- Determine your app's requirements, such as types of user input methods, information to display to the user, network usage, and how to leverage social media.
- Identify potential ways to monetize your app. The Payment Service and Advertising Service offer a few different options for generating revenue. To learn more about monetization, see Making money from your app.
- Familiarize yourself with the design principles for BlackBerry 10 apps. The UI Guidelines contains best practices for structuring your app, following design patterns, using components, and more.
- Start creating wireframes and building prototypes. The Wireframe prototyping tips and tools contain everything you need to get started.
- Design your visual assets. Using the Cascades Exporter plug-in for Adobe Photoshop, you can design your UI within Photoshop and export it to the Momentics IDE.
- Start developing your app. Check out Building an app from the ground up to learn about the different features available so you can make decisions about how to implement them.
- Target all devices. To make your app available to the most users possible, it needs to be supported on all BlackBerry 10 devices. Resolution independence is one way to make sure that your app can run on any device.
- Profile your apps to improve performance. Profiling allows you to pinpoint inefficient processes within your app, detect memory leaks, and find unused code.
- Perform unit testing. Unit testing allows you to test individual functions or procedures outside the scope of the full application.
- Code sign your release binaries. Signing your app allows the BlackBerry 10 OS to verify the authorship of your app for users.
- Publish your app to BlackBerry World. BlackBerry World is a marketplace where users can download and purchase your apps, which currently has over 120,000 apps for BlackBerry 10 alone.
Last modified: 2014-01-23