BB10: Initial Impressions

I was able to spend a few hours learning and playing with BB10 for the first time today, and I am so impressed.

Where to begin?

Widgets and Frame Rate

One of the most exciting things about BB10 is that it runs at 60 frames per second on a beautiful 1280x768 screen, and developers can tap into the power and efficiency of C++ to make just about anything a reality.

The designers at RIM have put this incredible screen and frame rate to good use. The widgets are beautiful, and they all feel very dynamic and alive. Something as simple as a slider is fun to use.

Not only does the UI provide high quality widgets, but they are there in quantity too: There are an impressive number of widgets for handling many important things, such as choosing dates.

QML

If developers had to use C++ for everything, BB10 would be somewhat inefficient to use. Fortunately, QML is there to save the day: It's a very elegant, efficient way to build user interfaces, and even wire lots of things up with bits of JavaScript.

What a powerful combination: An efficient markup plus JavaScript to wire up UIs, backed by the power of C++ when needed.

Real-time UI Preview

A dream come true: Simply save your QML file and instantly see your UI in a split view within Eclipse. Every developer knows how important it is to be able to iterate quickly, especially with UI work. This is a huge feature.

What is really notable is that the QML + preview system combines the best of both worlds: An efficient and powerful UI language + the preview benefit that drag-and-drop systems like Visual Basic pioneered.

There is even a drag-and-drop facility made available whereby controls can be dragged into the QML editor.

Animation For Free

Some of the demo/tutorial apps do a great job of showing the automatic animation system built into BB10. It's incredible. It makes UIs feel more dynamic and fun to use, and really shows off the 60 fps provided by BB10.

Simulator + Device

BB10 comes with a fantastic simulator, making development very efficient. But having a real (a free!) BB10 Dev Alpha to try things out on actual hardware really makes apps come to life. There's no substitute for real hardware, especially in this day and age when the touch experience is so central to an app.

Tutorials / Dev Site

Working through the online lessons and tutorials has been a great experience. They are polished, and the demo apps bring a smile to one's face.

It's rather amazing copying and pasting a snippet of QML, pressing Run, and having a real UI and app come to life immediately.

RIM has done a superb job putting together their dev site. The typography is spot on, and the whole site feels very pretty and fun to use.

Having a great set of tutorials and a great dev site is very important to devs, and it's there for BB10. In 4 hours I feel up to speed with a lot of what's there, and I'm itching to start my first app.

Conclusion

Packing all of this promise into a development platform makes my head spin. To say I'm excited would be a huge understatement. Now I'm wishing I didn't wait so long to dive in...