Here's a review I wrote more than a year ago for Anthony Rizk's Beginning BlackBerry Development:
Considering how long the BlackBerry platform has been available in the market, it’s amazing that there haven’t been any books on BlackBerry development until very recently. There was Craig Johnston’s Professional BlackBerry that was supposed to be a ‘Programmer to Programmer™’ book but ultimately had very little to do with BlackBerry development (except for some simple chapters on BlackBerry browser development and Push). Beginning in November, the first real BlackBerry development books were released (including mine) and the options a new BlackBerry developer had at his disposal increased dramatically.
One of the first books out of the gate was Beginning BlackBerry Development by Anthony Rizk (Apress ISBN: 978-1-4302-7225-0). The author was one of the founders of the long time BlackBerry ISV Alliance Partner Rove Mobile (formerly Idokorro) and recently started a software company called Zeebu Mobile which produces entertainment applications for children that run on BlackBerry smartphones. He’s been developing BlackBerry applications since the very early days and clearly has the background needed to get you up and running quickly.
The first thing to know about this book is that it’s not really about beginning BlackBerry development. It’s actually about beginning BlackBerry Java development. If you’re looking for a book to help you get started with all aspects of BlackBerry development, you’re looking at the wrong book. This book is for Java developers getting into mobile development on the BlackBerry platform and for that audience the book performs well. I spoke with Anthony about the title before it was published and he indicated that the book was one of a series of Beginning X Development topics from Apress and he couldn’t change the title to more accurately address it’s audience.
It’s not a long book; it weighs in at 238 pages and doesn’t dig too deeply into highly technical topics. It starts with the basics then holds your hand through enhancing your application’s user interface (UI) and adding common features needed by most BlackBerry Java applications (such as networking, location-based services and storing application data). The topics are covered in a clear and easy to understand manner and Anthony provided just the right topics for this entry level book.
Let’s dig into the content.
The book begins with the requisite introduction to the BlackBerry platform and the BlackBerry development tools. The overview is very high level, but if you’re an experienced developer, it’s probably all you need to get started. If you’re an Enterprise developer and need to know more about what the BlackBerry Enterprise Server (BES) and BlackBerry Mobile Data System (MDS) do for you and your application, you won’t find detailed information here. Since it’s really a book for Java developers, and most likely targeted at developers of consumer applications, those details really aren’t going to be missed.
Chapter 2 jumps into the standard Hello World application and uses the topic to help introduce you the ins and outs of the BlackBerry Java development environments (for those that don’t know, the BlackBerry platform sports its own, free Java Development Environment [JDE] plus a more user friendly Eclipse plug-in). After you’ve built the application, your taken on a tour of the debugging capabilities of the platform’s tools and educated on some topics that are often overlooked such as adding an icon to your application, setting the application’s title, signing the application, testing on a device or a device simulator & more.
Chapter 3 digs into the aspects of a BlackBerry Java application that makes it a BlackBerry application. It covers the BlackBerry event and thread models and how a developer needs to write her code to play nice on the device. It includes coverage on how to update the UI from other threads and how to create libraries and use alternate entry points in your BlackBerry application to provide additional functionality for your users. The topics covered in this chapter are very important to the new BlackBerry Java developer and they’re covered with just the right amount of depth to get you started recognizing that you’ll use the BlackBerry API JavaDocs to dig into more of the details.
The next couple of chapters help you take a simple BlackBerry application and build a more compelling user interface for the application. The BlackBerry UI libraries, while very capable, just aren’t generally used out of the box to create beautiful application interfaces. For someone like me, who’s not a heavy duty Java developer, the topics covered in these chapters were just what I needed to understand how I can extend the base BlackBerry UI classes to create a pleasant look for any application. It shows you how to do some simple enhancements to enhance the look without doing any crazy, processor hogging and battery draining special effects.
The remaining chapters of the book cover in just the right detail the different options available to a BlackBerry Java developer to store application data locally (including the standard JME mechanisms, BlackBerry-specific capabilities, SQLite and writing directly to the file system), using the networking API’s to send data to and receive data from a server, using GPS to build location aware applications plus packaging and deploying applications (including commercial distribution through the BlackBerry App World).
In all, it’s well structured introduction to BlackBerry Java development. It’s clear that the book was rushed out to publication, there are some typos and formatting problems with the text, but that shouldn’t detract from the content. There’s a lot of code in the book, and not a lot of big chunks to digest. There’s just a bunch of little snippets that relate directly to the topics at hand. If you’re a Java developer and need some help getting started with BlackBerry Java development, this book won’t disappoint.