Thursday, January 27, 2011

More Apple iOS App Development

Heard about another template based SDK for development Apple iOS apps. It is called PhoneGap. It is an open source SDK. It can be used to develop mobile applications on multiple platforms (iOS, Android, Blackberry, webOS, and Symbian WRT).

Both NimbleKit and PhoneGap lack good documentation, especially how-to tutorials. The getting started document does get you started (standard "Hello World" application) but it leaves you hanging as to what to do next.

A few Apple iOS applications were developed to test out these SDKs. Ones that would use of navigation bar and tab bar. The main objective was to see how easy / difficult it is to develop an application to utilize some of these standard Apple iOS device elements.


As well, spend a bit of time to see how to include a launch screen image as well as including a multiple application icon files for different devices. Have to say, this is probably the easiest experiment.





Issues Encountered

One of the biggest learning so far with NimbleKit was proper selection of Product (NimbleKit's terminology of device family: iPhone or iPad or iPhone/iPad) is very important when creating a NimbleKit project. Found that if iPhone was selected, the application does not work properly on an iPad even if the Project Settings' "Targeted Device Family" is for iPad or iPhone/iPad is selected. For examples:
  1. Content rotation is choppy / blocky when the device is rotated. That is, a series black blocks (looks like the size of an iPhone) appears as the device rotates..
  2. Click events do not appear to fire or the application is not detecting events bewhen the application is ran on an iPad.

Another issue encountered with NimbleKit was with auto orientation detection / support or rotating content as the device is rotated. It turns out every page has to have the follow piece of JavaScript code in order for content to automatically rotating between portrait and landscape.
function NKIsPageSupportsAutoOrientation()
{
return "yes";
}


The above issues were not encountered when using PhoneGap. Though, PhoneGap appears to have the highest learning curve. Please note that this is by no mean an official evaluation or comparison between NimbleKit and Phone.