So I Found Ways to Develop for iPhone
To develop for the iPhone, you have a few choices:
Web applications
Advantages:
- choose your tools, choose your development platform
- can make it available to non-iPhone users
- requires connectivity
Disadvantages:
- requires a hosting provider
- limited to safari interface (i.e., tap, rotate, two-finger scroll, pinch zooming, no accelerometer, little iphone glitz)
Toolkits available:
- WebApp.net Possibly the most complete toolkit, offers CSS, Javascript, AJAX functionality. New BSD license.
- iPhone User Interface Solid CSS/Javascript toolkit, active development, getting documented in existing and upcoming books. (New BSD License)
- UiUI - Universal iPhone User Interface AGPL toolkit for iphone-ui for webapps - just CSS
Additional tools/techniques:
- Web clip bookmark icon create an icon for use in the home screen (hit + in Safari, then “Add to home screen”)
- Data links allow you to encapsulate webapp and state in the URL. Provides a mechanism to save a “bookmarklet” (”webclip”) that encapsulates the application. If we can also sync back to the online application, that would complete the round-trip.
- iPhone in Action book has discussion of tradeoffs of web vs native applications
Native applications via the Apple SDK
Advantages:
- best tools available, including the simulator
- access to all documented iPhone SDK features
- publish your application in the AppStore
- lots of books published or being written
Disadvantages:
- iPhone only
- Limitations on application functionality from iPhone SDK agreement (no interpreters, no plugins, …)
- Requires Apple approval of application for listing in AppStore
Requires signing a non-disclosure agreement (NDA)NDA lifted!- requires Mac OS X as development platform
Toolkits available:
Native applications via the open source tools
Advantages:
- no NDA to sign
- develop on your platform of choice
- full access to anything the community has discovered
- (possibly more than the documented SDK)
- you can even develop ON the iPhone
Disadvantages
- lack of documentation - iPhone Open Application Development book
- only be deployable to Jailbroken phones?
- no AppStore - but Cydia
- any path to come in from the cold?
Toolkits available:
So, there you have it. Three options.
What will you do?
