views:

565

answers:

3

RIM has released a new Blackberry JDE4.7 after releasing the Blackberry Storm. Does the Blackberry storm support programs created using the previous versions? I've heard there have been a lot of changes in this version compared to the old ones. And there have been complaints about Storm having many bugs.

Should I use 4.7 or keep using the older JDE?

Thanks.

+1  A: 

The Blackberry Storm should support programs created using the previous versions. Occasionally, though, programs will break, whether because of a bug in the new version or a now-fixed bug in the old version.

There had to be a lot of changes in the 4.7 API to support the Storm's new features.

Really, though, you should develop with the lowest JDE you can get away with, to avoid forcing people who might otherwise try your program to update first. On the other hand, of course, if you want to do a rotating interface, you're going to need the 4.7 JDE and the Storm.

Richard Campbell
Thanks Richard. Is there a list of changes they've made across the JDEs?
lostInTransit
+3  A: 

Depends what you want to do. You'll actually get the rotation for free if you've designed your application's layout to be fairly resolution independent. When the device is rotated your layout and sublayout methods will be called again (or if you've just used built-in fields and managers, it's all automatic).

The big things you'll need the 4.7 JDE to do include:

  • Responding to specific touch events (events which result in e.g. focus going to a Field, or scrolling, are automatically mapped to the older APIs)
  • Detecting device orientation (though again, layout is already taken care of - this is more if you want to use the accelerometer at a low level to e.g. control a game or something)

Bottom line: backwards compatibility is in general very good, RIM has mapped the new touch interface to older APIs in a sensible way, and since the Storm hasn't quite taken off as the iPhone has (most people believe that the Bold and Curve are still better devices), stick with an older SDK unless you're doing a very Storm-specific application.

Anthony Rizk
+1  A: 

Developing with 4.7 does have some issues if you've made any changes whatsoever to the way input is handled. If you've made any custom fields, you'll need to update them and have a different build for 4.7 vs < 4.7. There are more methods on fields, for example moveFocus(int x, int y).

If there's any text input anywhere, you're going to have to ensure that the virtual keyboard doesn't cover up or remove from view anything you need to be visible.

The autorotation of views is also sometimes an issue if you've done something manually on a screen and you don't want that to change during runtime, in which case there is a way to force the application into a particular orientation.

I've also noticed some issues with the simulator at least, when using GaugeField objects, that is, if you focus on a GaugeField, the focus cannot be removed. Not sure if this issue has since been fixed or what, but at least that's the way it is with my simulator.

Ed Marty