PhoneGap Support for Blackberries 6.0+ - blackberry

I need to decide whether to use phonegap to create a blackberry application. The lure of the app being deployable to various platforms is enticing however I need to know if it will be able to support Blackberry versions 6.0+. So far the website claims support for 5.0, and 6.0. There is a link at: PhoneGap Supported Versions that is meant to explain which ones are supported however one link doesn't work and another takes you to a dated stackoverflow thread. I get the same results from other searches.
My question is can phonegap support higher blackberry operating systems such as 7.0 and later developments by RIM? Also if stability in terms of not having to continuously modify the application for oncoming OSs was important, would it be better to use RIM's WebWorks SDK rather than PhoneGap?

If you are only going to target RIM phones then the WebWorks SDK is probably the best way to go. If you want to target other devices that run iOS and Android then you should look at PhoneGap.
We get really good involvement from RIM on PhoneGap. They did all the code to add Playbook support to PhoneGap and are currently involved in the unified JS project as well.

Related

How to prepare old Blackberry app for BlackBerry 10?

We have a couple of Blackberry apps and are now trying to prepare them for BB 10. These apps are made in Java via Eclipse and/or RIM IDE tool. However, when I went to https://developer.blackberry.com/platforms/bb10, I saw that there is no even a mention of Java SDK. Take a look at image below.
So how am I supposed to update Blackberry app to BB 10? Any ideas?
You have to decide what to do with your applications. If you have an Android version, one option is to repackage the APK to a BAR using the provided tool set so that it will run under the Android player. There are many good Android applications that provide an acceptable or even good user experience this way. Another option is to port your BlackBerry Java application to Android (if there is no existing Android version) then package the Android version for the player. This would also allow you to market the application to Android users. The final option is to port the BlackBerry Java applications to the Native SDK, Cascades, HTML5 or Adobe Air.
The best way forward depends on how tightly integrated into the BB10 system you want to be. While there are facilities provided in BB10 that are the equivalents to those is BlackBerry OS, there have been significant changes required to enable the improvements everyone wants to see on the new platform. If you see BB10 as a significant part of your future business then porting to Cascades would be very worth while.

Blackberry App for OS 7.0 and earlier, with blackberry 10 support

I have to develop a BlackBerry application which runs on all the devices running blackberry OS 7.0 and earlier, and can run on BlackBerry 10 devices, too. How can I do that?
Is a WebWorks application able to support all the above platforms? If yes, there's no IDE for WebWorks development .. how shall I code for that?
WebWorks supports BlackBerry OS 5.0+, BlackBerry PlayBook OS, and BlackBerry 10.
Regarding HTML5 featuers, this is dependent on the OS version. For instance, BlackBerry OS 5.0 is a proprietary browser implementation and does not support Ajax requests. BlackBerry OS 6.0 is WebKit-based, but is an older version of the engine when compared to something like a BlackBerry 10 device. So you'll need to be mindful of which HTML(5) features and functionality are supported on the various platforms.
That being said, if you have a shared HTML5 "base", that can be (re)packaged with the WebWorks SDK for Smartphones (BBOS), Tablet OS SDK (PlayBook), and BB10 SDK. Each will create an application that runs in the respective environment: Java, AIR, Native.
If you start looking at WebWorks APIs (i.e. JavaScript APIs that tie down to the native layer for functionality beyond HTML5; BBM integration for one), then you will need to leverage the API docs to see which APIs can be used with which SDK. There may be differences in implementation, or even availability, of various APIs depending on your platform.
HTML5 provides the most common "base" for re-use, but you will still need to be mindful of each platform's limitations and differences.
There is no WebWorks IDE, you can use whichever IDE you like to create your HTML, JavaScript, and CSS resources. The SDK is then leveraged to "package" those resources into a BlackBerry application for the corresponding platforms.
The HTML5 BlackBerry Developer page should have all the information that you need to start creating WebWorks applications. As that page mentions, you can choose to target all of BB10, BB7, and the Playbook OS with WebWorks.
Webworks can target OS 7.0, Playbook and BB10. You just have to download the SDK for the version you want to deploy to. Be mindful that each platform has platform specific APIs that need to be managed if you use them (like using NFC in BB10, etc). This is actually the reason why there are multiple versions of the SDKs. Each SDK exposes native features of the given platform to HTML5.
As for Development. The easiest way to get started is to use Phonegap. Their documentation is pretty thorough and they have scripts that deploy things for you and manage your directory structure, Manage your pins, and keys, developer tokens, etc.

Is it worth it to write BlackBerry apps for the older OS with BBX coming out?

As a mobile app developer on all platforms, I am interested to know if it is worth it to write BlackBerry apps for the older OS now that BBX is coming out. I heard the new OS will have an Android player that will supposedly run Android apps on it. It seems that any apps written for the older OS won't be compatible with the BBX OS. Also, is using WebWorks a viable option? What do you guys think?
The road map ahead for developing for BBX announced at DevCon is:
HTML5, WebWorks, Adobe products (Air)
Native C/C++
Android Applications repackaged to run on the Android Player
BlackBerry OS is deprecated after OS 7. That said however, there are currently 70 million (according to RIM) BlackBerry smartphones in use, none of which will likely ever support BBX. RIM will continue to support those devices and the development environments for them. If you only want to work in one environment, and want to support the greatest number of devices, both BlackBerry OS and BBX, then WebWorks is the way to go. If you only want to support the PlayBook and BBX devices then you can use any of the approaches listed above. If you can't do what you want in WebWorks, or want to support devices prior to the introduction of WebWorks support then you will have to use the BlackBerry Java Environment.
At some point in every product line you will come to the end of useful life of a product and, as a developer, have to face moving on into the future. It is going to be worth while developing for BlackBerry OS as long as doing so helps you achieve your goals, what ever they are. So you have to look at your target market and decide if it includes those users who will be carrying BB OS devices, for probably at least the next 3 years, or not.
That's correct, legacy BlackBerry code will be useless:
DevCon update: BB-Java is dead, no java support for QNX.
By the way, the Android player will have several limitations too. Your best bet is C++ for BBX. Luckily, BlackBerry market share is declining and there's not a single BBX device out there yet.
Update: New BlackBerry 10 (as BBX is called now) phones have just been released. Here are the final dev options:
Native C++ API (optional libraries are available)
Android API, partial support
Adobe AIR API, partial support
HTML5 API, partial support

How many versions of Blackberry apps we have to make?

There are basically two issues that are confusing us:
Will a Blackberry app made for mobile phones work on the Blackberry tablet? I see that there is a tablet SDK as well.
Do we have to make a separate versions of Blackberry app for different mobile phones?
The reason we ask this is because we come from the Android environment where we can use one SDK to make app which will work on all mobile phones and tablets as well.
The BlackBerry Smartphone SDK is different from the BlackBerry PlayBook Tablet SDK.
The smartphone applications are written in Java (RIM's version of J2ME, essentially), while for now, there are two editions of the PlayBook Tablet SDK: WebWorks, for development with web technologies like Javascript, HTML, and CSS, and one that is Adobe Flash/Actionscript/Air based. I think there is also one in development with C++ as a foundation.
You can start with the BlackBerry Developer zone - it covers development for both smartphones and tablets:
http://us.blackberry.com/developers/
The BlackBerry Tablet SDK for Adobe AIR can be found here: http://us.blackberry.com/developers/tablet/adobe.jsp
The BlackBerry Tablet WebWorks SDK can be found here: http://us.blackberry.com/developers/tablet/webworks.jsp
Information about development for the BlackBerry smartphones can be found here: http://us.blackberry.com/developers/javaappdev/
For smartphone development, you would probably want to target the minimum RIM OS that would include the most devices owned by your target customer base.
Right now, RIM claims that more than 96% of BlackBerry smartphones can be reached using SDK 4.5 or higher.
RIM keeps an up-to-date set of statistics on this: http://us.blackberry.com/developers/choosingtargetos.jsp
Typically, if you're targeting recent devices (4.7 and newer), then you don't need to worry about splitting your code to target multiple devices, as long as the UI is written without making any assumptions as to screen size, etc.
If you're targeting anything older than 4.7, then it may benefit you to make two versions - one for touch screen devices, and one for devices that aren't touch-screen. The touch-screen API is introduced in 4.7, and while it's somewhat backward compatible, in our experience, while you need the touch-screen API available for devices that support it, it's best to leave it out for older devices that do not have support for the touch API or the virtual keyboards that come with it.
If you're going to split the code, RIM's compiler does come with a C/C++ - style preprocessor which comes in very useful.

Which BlackBerry OS to target for enterprise web applications?

I am deciding between which library to use for development: jQuery Mobile or Sencha Touch. The application I am building will specifically target enterprise (Fortune 500) BlackBerries. The application will not require any hardware features, but the user experience/UI rendering should be as good as possible.
I am not familiar with BlackBerry OS adoption/upgrade statistics so I don't know what platform is my lowest common denominator. Are most enterprise users on BlackBerry 6+ or 5+ or 4+? I just don't know and I don't know where to find those statistics. What is your recommendation?
In my opinion the first step should be studying the audience of your future application.
What model do they use, do they use the most recent models, or they tend to keep working with old models.
The main point is that RIM stops releasing device software for old BlackBerry models.
For instance for BlackBerry 8800 the most recent available device OS version is 4.5
But your customer may have a lot of empolyees who use this device.
Devices with device OS version 4+, but before 5.0, do not work properly with complex html/javascript pages.
In version 5.0 there was implemented better support for complex html/javascript functionality in your applications.
Conclusion: If your potential customers are not using old devices, then start supporting device OS versions 5+, otherwise use SDK version 4.x according to the target devices.
As best practice, I would jump into learning and developing for the latest Operating System, which would be 6. I know all of our customers are working on Bolds a Torches, which means they'd be using 6.
http://en.wikipedia.org/wiki/BlackBerry#Operating_system
Additionally, I would look into creating Adobe AIR applications. They work for Application 6 and Playbooks as well.
http://us.blackberry.com/developers/started/bbdevapproach.jsp
You will likely found RIM's own "Choosing a target OS" page helpful. It has stats on current active devices as well as narrowing down to those devices that use the AppWorld.

Resources