BlackBerry 10 Cascades is here!

Everyone here in the Developer Relations team is excited to deliver the first betas of our BlackBerry® 10 developer tools this week. For me, the SDK that I’m most excited about is the astonishing Cascades™ SDK. I have had the privilege of working with this SDK for the past few months and am extremely happy that it is ready for its debut as a public beta! Cascades provides a fantastic experience for both developers as well as end-users.

Native UI elements

The Cascades SDK provides a full set of native UI elements which can easily be added to your applications: buttons, fields, text areas etc. Each of these elements will provide hooks to let you easily listen for any standard events (touch, click, toggle) and properties to allow you to customize them for your application needs.

Develop using both QML declarative and C++

Whether you are a C++ guru, a declarative czar, or someone just getting started with programming, Cascades has a place for you! The user interface can be handled using entirely C++ or QML (Qt Markup Language). Data processing can be handed off to JavaScript® written in your QML files or passed off to C++ for some additional heavy lifting. The UI developed in either QML or C++ can be identical, and the QML is optimized on load to run just as fast as if it were written in C++.

Of course, for those of you that would like to have the best of both worlds, that’s also a possibility as C++ and QML can work together. QML can be used to rapidly create your UI while C++ is used to handle the business logic of your application. The result: A fast and easy way to prototype application UI while working on building and refining the business logic in tandem.

Animations!

One of my favorite parts about Cascades is the native UI elements: they look great and sync together, but they are also animated. Each element that can be interacted with has its own signature animation; when a check box is toggled, the check mark doesn’t just appear – it springs in to place! Small, non-intrusive, signature effects that result in a fun and inviting experience – even with check boxes – is what makes Cascades great!

Flawless user experience

The Cascades SDK is built using client-server architecture where the client handles all UI is handled by the client thread and the server thread handles all the heavy lifting (data processing, networking etc). To the end user, this means that even if the server is working hard to process data, the client will stay responsive and extremely lag-resistant.

A split screen showing QML coding alongside the real-time design view

Fantastic visualization and design tools

The Cascades SDK provides both Source and Design views when creating your user interface in QML. The source view lets you write the source for your UI while the design mode provides a real-time representation of how the UI will look, saving you loads of time.

To tag along with the theme of expediting UI design, the Cascades team has also developed a plug-in for Adobe® Photoshop®, The Cascades Exporter plug-in for Adobe Photoshop. This plug-in is really worthy of its own blog post, but in short, it allows you to design your UI in Adobe Photoshop then export the design in a way that can be imported right into your application. From design to implementation in a just a few short steps!

What can you expect moving forward?

Expect more and more features, functionality and astonishing ideas to be added to the SDK and IDE as we near the Gold SDK release and beyond. You can also expect to see a great deal of training in the very near future which will cover topics from “Getting Started” right through to more advanced topics like “Using OpenGL in Your Cascades Application”. Stay tuned for announcements on these!

If you would like to find more information on developing applications using the Cascades SDK, then please head over to the Cascades micro-site where you will find SDK and simulator downloads, sample applications and a wealth of documentation.

One last thing: this is a Beta, so if you do find any small bugs or think of some functionality that you would like added to make your application or developer experience even better, please log an issue in Issue Tracker.

That’s it for me. I cannot wait to see what applications you all come up with! Keep us posted with your progress by dropping us a line on Twitter® at @BlackBerryDev.

About garett

Garett is a member of the Developer Relations team and has been with BlackBerry since 2008. He specializes in app monetization (Payment, Advertising, Analytics SDKs) and Push development.
He is one of the individuals involved with the forums (gbeukeboom), Issue Tracker and can be found tweeting from @BlackBerryDev with the ^GB signature.

Inside BlackBerry Developers

The views expressed on any corporate or individual's personal website or any Twitter account are not necessarily those of BlackBerry. The user's Twitter account and/or personal website, any corporate website, or any comments contained on any of the foregoing have not been reviewed by BlackBerry and do not constitute an endorsement by BlackBerry.