
When developing applications for the BlackBerry platform, the choices can seem a bit confusing at first. With a little knowledge about the kinds of things you'd like to do and any existing systems that you might want to plug in to you can make an informed decision. There are three main paths of development, and we will discuss each in turn.
Let's start with the three paths of development:
The path you choose depends on a few variables that we will discuss individually.
BlackBerry applications can be written using Java, specifically the Java Micro Edition (also known as Java ME). For those who are hard-core JME developers, BlackBerry is MIDP 2.0 and CLDC 1.2 compliant. If you're not a hard-core JME developer you probably don't care about that.
Within the standalone Java world there are two sub-paths that you can take: Generic applications (called Midlets) that will run on most JME-compliant devices, or native BlackBerry applications. The choice depends on a few factors, such as whether or not you need to call any of the native BlackBerry APIs (such as accessing the camera or GPS) or if you wanted to use the BlackBerry UI system. If you're planning on creating an application that you want to run on any JME-compliant device you might want to stick to the standard JME APIs.
There are several development options available to you for creating Java applications:
If you are planning to integrate your BlackBerry application with enterprise back-end systems, you might want to consider the BlackBerry MDS Studio. It's a rapid application development (RAD) tool designed specifically for connecting to Web Services. It features a very easy-to-use drag and drop interface and uses Javascript for advanced control. RIM recently announced a Visual Studio plugin that offers the same functionality but in a more familiar enviroment.
The easiest to create type of application is simply browser-based. You can use any back-end technology (ASP, PHP, Python, etc) that is capable of spitting out HTML. By conforming to a few simple design guildelines you can easily and quickly connect to web-based applications. The tradeoff for this power is the lack of flexibility that comes with a limited web-based application (such as lack of persistent storage on the client, requirement for connectedness, etc).
We hope this brief guide was helpful to you. Feel free to comment and we'll update the document as appropriate.
Comments
It would be nice if the links to the tools themselves were in the artcile.
I would think since RIM requires a seperate log in and a legal Eula to be authorized that having a direct link would not work however you can start by going to http://na.blackberry.com/eng/developers/ you will be able to find all of the developer resources.
Mark
I have being trying to get the place that I can get software so that i can use my device with computer but no way can somebody help me out?
I assume you want the Desktop Software so that you can load applications, backup/restore your handheld, etc? If that's the case, it is not device-specific. One download supports all device models.
Go here: http://na.blackberry.com/eng/support/downloads/ and select the "Device and Desktop Software" and then select the latest version/service pack of BlackBerry Desktop Software.
If you were looking for Device Simulators, you can find the download here: http://na.blackberry.com/eng/developers/downloads/simulators.jsp
Let me put my comment from two different point of views. 1. Developer 2. End User who uses Blackberry
Developer Point of View
As a Developer of Applications on devices like Palm Tungsten, Garnet, Cobalt,
1. I would be highly obliged if i have easy & structured access to Blackberry Simulators/Emulators where our applications can be tested.
2. A development environment e.g. Eclipse - C++, Eclipse - Jave, or Any Standalone
3. Platform SDK for e.g. like in Nokia Symbian OS,
4. A clear demarcation on the Operating System, Blackberry can run and the capabilites of it to enable us to understand how can we seamlessly incorporate Blackberry Capabilities into the existing Enterprise Solutions running on different Platforms.
5. In short, Download this for XP, this for Linux, Download this for Simulator/Emulator etc
User Point of View
The user sees this equipment as a device from which mail can be sent. We need to educate the user, that beyond mail Blackberry can also act as an extension to your office system, like you can view Customers balances Online, Order Status Online etc.
I downloaded the BB SDK and IDE from the BB site yesterday, and have my app running in the device simulator just fine. I can change devices from the simulator just fine.
http://na.blackberry.com/eng/developers/
in Downloads in the left nav
Sam
i agree with the perspective that consumers need to be informed of the powerful & very useful capabilities
of the Blackberry beyond just checking e-mail; this is something that i have been trying for sometime now to get across to my clients -- the BlackBerry is basically an ofice beyond the confines of walls.
As far as a dev environment for BlackBerry apps, the BlackBerry JDE more than fulfills this desire. It has all the tools and features necessary to build, run, (test), and deploy your apps. Too, it has a built-in simulator that allows testing on different device models.
Animantix
What about developing desktop applications communicating to BB via Bluetooth or USB or BB Desktop software API?
Netbeans offers a great integration not only with BlackBerry but also with others J2ME Development Studios, so it's a great choice for developers who wants to create multiplatform applications. Easy to debug, nice IDE and very stable. Also it can be use to develop any other kind of Java, Pyhton or C app.
For more information about how to configure the Netbeans IDE with BB read this post:
http://www.netbeans.org/kb/50/blackberry.html
Good bye!
I completely agree, Netbeans is one nice IDE!!!
But I'd like to point out, that there is an updated Tutorial for Netbeans 5.5 on the Netbeans Website, which can be found here:
http://www.netbeans.org/kb/55/blackberry.html
What about Plazmic?
Don't forget that the Plazmic content engine is a valid development environment for the BlackBerry. I'd like to see more about the strengths and weaknesses of each approach, including Plazmic.
Actually, it's not entire clearly what Plazmic is and what it can do anyways, so definitely add a good description of what Plazmic can do.