10-16-2013 03:26 AM
I have a small non-technical question to ask everyone about your experience in developing BlackBerry applications (Sorry if the question seems wasting your time).
Can anyone provide an overview about the development time required, complexity of development, handling the issues etc, for a BlackBerry Java application, when compared to development of an Android or an iPhone application for a 2 yrs experienced person, who is solely depending on BB docs, support forums and search options for reference.
Your views would be very much helpful and greatly appreciated. Thank you.
10-16-2013 03:32 AM
10-16-2013 03:54 AM
Thank you so much simon_hain. I was also spending more time on UI itself and face issues also in UI, just wanted to know views from other developers as well. So that was very helpful answer
10-16-2013 05:43 AM
I don't have any direct experience on other mobile platforms with the exception of BB10. But I have ported some non BB apps to BBOS, so have seen other people develop in other platforms.
For me, the issue with BB programming are the gotchas, things which are potentially simpler on other platforms (including BB10), but can bite hard on BBOS. In my experience these are (sort of in order of importance/difficulty):
a) UI - other platforms provide external UI definitions, like XML classes
b) Networking - other platforms just have one method to send/receive data
c) Event Thread - other platforms hide this better
d) Location FInding - like networking, other platforms have just one method to get a location
e) Permissions - other platforms do this prior to installation
f) Problem reporting - especially in the Field - other platforms have things like Bugsense
g) Third party libraries - these seem to be more available on other platforms, for example Android where they can get at the hardware.
But my experience suggests of these, by far the most time will be spent on the Ui, because of the different interactions that need to be supported (trackpad and touch screen) and the different form factors (screen size, shape and resolution) that need to be supported.
So when developing for BB, I suggest that you focus on:
a) Flexible Ui Design - make sure your Ui is developed with BB in mind, look at the different screen sizes and resoltuions and make sure that the Ui is designed to look OK on all these. Simple expample, expect to scroll on landscape format screens.
a) Application design - try to separate the UI from the business logic. I personally find it difficult to implement, but I always keep the data out of Ui classes.
Still haven't answered your question have I! Well in fact I think that if you have a good understanding of BlackBerry and have developed on it for 2 years, then you will know how to cope with the issues (b) - (g) above. Then I susggest that you can create an application just as fast as on any other platform. It just won't look as good. So Simon's +20% is the time spent fine tuning the UI.
People will argue with this, complaining about how complex the APIs are etc. but to be honest, in my experience when developing you spend more time doing other things like developing test cases, testing, documentation and so on, and these apply to other platforms too. What proportion of the time in a project do you actually spend coding?
Just my opinion.
10-16-2013 06:18 AM
Hello peter_strange, most of my time is spent on UI design and coding. Since I develop apps for different customers, they usually compare BB apps with other platforms regarding network speed, features supported, UI design and overall development time required as well. UI designs are not mere simple basic components, with minimal customization, they are most probably complete customization, which require handling of different interactions. Most important problem is not a problem as though, I have no in-person assistance(guidance) but now having 2 yrs of experience I don't depend on that. But sometimes due to deadlines/pressure I would be badly in need of advice and discussions. Sometimes for issues which I face, I won't get answers even after searching, which again consumes time and some turn out to be bugs in the platform, which customers don't accept.
So I just wanted to know how to handle these sort of issues on my own, so that I can show some improvement in my development skills. I thought may be people @forums can help me out.
Thank you for giving a detailed view on BB development, it would be very helpful for me.