BlackBerry vs iPhone (iOS): the fundamental UI “view”

Here’s some info for developers… Not so useful for a regular app user.  This will be an updated document/post!

There are usually counterparts in competitive things. Blackberry’s OS and iOS and Android, they all have common things that are simply changed a bit, most frequently by name, but maintaining a common set of traits, as I’m going to begin describing. There is much too much documentation on various things to do a comprehensive common comparison, unless I were getting paid to do such an article by someone who wanted it (which I’m open to doing for the right price!). The purpose of constructing this is to give a platform to launch a person into their own research and discovery.

The basic foundational user-interface concepts are what you see, and what you do with it.
The foundational “what you see” element is generally called the “view”. In iOS, this is called UIView and in BlackBerry, it is called Field. For the record, in Google Android, it is called View.
Temporary note: this is comparing BB and iOS, not including Android right now.
What foundational “what you do with it” element is generally a user action. In iOS, the most basic is a UITouch (and derivatives, like UIGestureRecognizer), and in BlackBerry, I think it’s called a trackballClick. Then there are more actions a user can do, like dragging… Sorry if this is too basic, just being well-rounded.

The specific web address for the documentation of each of the view elements are:
http://www.blackberry.com/developers/docs/3.6api/net/rim/device/api/ui/Field.html
http://developer.apple.com/library/ios/#documentation/uikit/reference/UIView_Class/UIView/UIView.html

BB iOS
Quick description (from official docs):
A field represents a rectangular region contained by a manager. The field sizes itself according to its needs in layout. The manager, rather than the contained fields, completely handles scrolling.
Quick description (from official docs):
The UIView class defines a rectangular area on the screen and the interfaces for managing the content in that area. At runtime, a view object handles the rendering of any content in its area and also handles any interactions with that content.
.isFocusable (UIResponder)canBecomeFirstResponder
.onFocus (UIResponderDelegate) becomeFirstResponder
.onUnFocus (UIResponderDelegate) resignFirstResponder
.layout(req) layoutSubviews
.paint(req) drawView
.invalidate setNeedsDisplay
.updateLayout setNeedsLayout
.trackwheelClick (UIResponder)touchesBegan:withEvent:
.trackwheelUnclick (UIResponder)touchesEnded:withEvent:
(UIResponder)touchesCancelled:withEvent:

Manager vs UIViewController
http://www.blackberry.com/developers/docs/3.6api/net/rim/device/api/ui/Manager.html
http://developer.apple.com/library/ios/#documentation/UIKit/Reference/UIViewController_Class/Reference/Reference.html

BB iOS
Quick description (from official docs):
The system uses manager objects to contain fields. The various manager subclasses handle specific kinds of field layout. This Manager class itself deals with scrolling internally.
Quick description (from official docs):
The UIViewController class provides the fundamental view-management model for iPhone applications. The basic view controller class supports the presentation of an associated view, support for managing modal views, and support for rotating views in response to device orientation changes
Relationship to Field: extended from Field class
Contains a bit of UIScrollView code for handling scrolling…
Relationship to Field: contains a UIView property ( .view)
This entry was posted in Technology, Thoughts. Bookmark the permalink.

Leave a Reply

Your email address will not be published. Required fields are marked *