logo background
   
home about products development tools news downloads sitemap contact us  

 

RebGUI
RebDB
SQLite Driver
faq
iphone

 

iPhone Development Resources

Why the big fuss about the iPhone?

The Apple iPhone is more than just a phone, it's a complete platform for the future delivery of digital content. With this device (and the iPod Touch) Apple has turned software into a commodity much as it has already done with music (and is set to do with video). The days of consumers walking into a shop or navigating to a particular site and handing over their credit card (or less frequently cash) to purchase your software are all but dead.

AppStore

The future is Apple's App Store where consumers can purchase software at the tap of a finger, and developers can concentrate on producing great software without having to worry about sales and distribution. Apple has created a new ecosystem for producers and consumers of software, and the pioneers of this revolution (much like the Internet pioneers) will be well rewarded. Consider these facts:

  • The iPhone was only released mid-2007
  • It now accounts for over 50% of all mobile-based web traffic
  • It's adoption rate is exponential
  • The App Store has only been around since mid-2008
  • In barely 100 days it recorded over 200,000,000 downloads

I don't know about you, but this is something I want to be a part of!

Where does REBOL fit into this?

Short answer - it doesn't. The long answer is that REBOL will be used to generate some of the underlying code required to get iPhone apps to market. These REBOL tools don't exist at present but I and others are working on them.

What's this page for then?

Whilst REBOL reignited my interest in Software Design/Development as an art, it's the iPhone that has reignited my passion for beautiful hardware. I'm not particularly happy about having to use a vast array of old world technologies (HTML, CSS, Javascript and C) to create apps for this device, but Apple have done the best they can to hide this mess from developers, and as I often say:

  • It's here now
  • It works well
  • It's free

Sure, it's not REBOL, but it's the best we have at present.

So, the remainder of this page will seek to distill my limited iPhone development knowledge and point folks to useful resources, some of which I hope will be REBOL-based in the future.

Dashcode & WebKit

DashcodeDashcode is Apple's IDE for developing AJAX-based Web apps. The development model conforms to MVC as follows:

  • Model: Javascript Objects
  • View: CSS/HTML
  • Controller: Javascript

WebkitWebKit is Apple's web technologies framework and now includes support for:

  • HTML5
  • CSS3
  • SVG 2.1
  • SQLite 3

Using these technologies it is now possible to develop a web-based application bundle that appears exactly like a native app on the iPhone, including:

  • It's own application icon
  • Option to run in full-screen mode
  • Ability to cache all required resources locally

The SDK includes a fully functional iPhone emulator to develop, test and debug apps locally.

Interface Builder, Xcode & the iPhone SDK

I have not delved into native application development too deeply at this stage, so my comments will be brief.

Interface BuilderInterface Builder is used to design the UI for native iPhone apps, with XcodeXcode providing the C-family compilers.

Native apps give you direct access to the iPhone's underlying hardware, in particular it's:

Using these features intelligently has enabled developers to create applications undreamed of a few short years ago. Applications such as:

  • An app that lets you record a snippet of a song (playing on the radio for example) and then finds the song and album for you, and even presents you with an iTunes link to purchase it.
  • An app that uses the inbuilt Camera to perform OCR type operations.
  • An app that turns your iPhone into a guitar, with moving strings and all.

And these are just the tip of the iceberg! Some very creative folks are starting their own small iPhone development businesses now.



WebKit Documentation
Dashcode
WebKit
Web Apps
CSS Effects proposed specifications

SDK Documentation
iPhone SDK
Interface Builder
Xcode
Human Interface Guidelines

Discussion
iPhone Forum


 
© 2009 Dobeash Software Pty Ltd. Site designed and created by Jeni-C and Iming Chan.