I am attempting to develop for as many feature phone devices as possible, my question is, if I opt to use the Nokia SDK 2.0 - what sort of device coverage can I expect? Will the SDK work with old devices (5 years +)?
Currently I am using the LWUIT 1.5 jar to manage UI but as it is no longer supported it seems like a logical move to go to the Nokia SDK.
Is this a wise choice if maximum device coverage is desired?
if the question is about the LWUIT supposer with nokia devices, I suppose the answer could be found from: Github project for LWUIT for S40, it states "LWUIT for Series 40 has been developed and tested with Nokia SDK 1.1 and 2.0 for Java and it can be used for applications targeted at Series 40 5th Edition and newer devices with both keypad and touch user interface"
Related
I recently taken interest to tinker with Nokia s40 phones, partly because we have a stock phone here at home and also because I've pretty much grown with the s40 system ever since I was young so I thought I'd take a walk down memory lane.
I'm going to be developing for Nokia s40v5 but I'm a bit confused. Following this page for s40, you can see that it seems to imply Nokia SDK 2.0 for Java (beta) is the latest SDK for download.
After I downloaded that and installed it, however, the emulator doesn't look anywhere near the s40 device we have nor the ones I've owned in the past. The emulator looks full touch-screen and doesn't resemble s40 in any way. So my question is, is there a way to change the platform of this emulator? Did I download the wrong SDK package? If so, why was this one being promoted on the s40 page if this wasn't the one I needed for development? And finally, what's the latest I can download that will cater to my needs then?
The emulator you have is in fact a Series 40 emulator for the latest Series 40 devices. Series 40 is nowadays a full touch platform.
You can see the tools info on Series 40 in this page. Actually you can use the IDE that comes with this SDK to select and download older Series 40 SDKs according to your targeted devices. Read my intro to the SDK here
EDIT:
By now the developer resources have moved to: http://developers.apps.opera.com/
While at first it looks if it was targeted for "Nokia Asha" and "Nokia X" you can still find the "classic" contents, such as:
Series 40 SDK
Nokia SDK 1.1 for Java
Nokia SDK 2.0 for Java
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.
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
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.
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.