Keys-by-TEARN mobile platform
Diary of a passionate, tech Dad
from TEARN i.e. teach to learn

May 1, 2010

iPhone Using Objective C

The iPhone has a complex development system with dozens of moving parts.
  • Only a Macintosh running Snow Leopard is supported.
  • Base code is Objective C - purchased from Next Computer in the 1990's.
  • Huge library of objects support various services offered on the iPhone. The simple list would swamp all the content at this blog.
  • Xcode is the development software.
  • Interface Builder is a graphical tool to replace using HTML to specify user-interface parts.
  • Emulator for testing the finished app.
  • Keychain is the certification process to protect apps from tampering by viruses and spies. Android and Palm don't offer this option.
  • The developer portal issues certificates for use by third parties.
  • The same portal has features to support tests of apps across a larger sample of phone devices, and development by a large staff of technical personnel.
  • The iTunes Connect portal allows submission and tracking of apps.
  • The iTunes store is the user-facing browser for finding accepted apps.
  • The iPhone appstore is the device specific access to the same apps.
Working with Apple

Fortunately, Apple HQ is 5 minutes away. As one of the original Macintosh developers in 1984, I have limited access to their personnel. Further, Apple has changed to become very proactive in supporting some developers.

Is this proactive support available to all developers? I don't know. (BTW, thanks to JR, Steve, Richard, and Lisa.)

Coding aside, which is far too complex to discuss, here are some of my significant personal findings:
  • The app submission process is a six-way sync of information - where millions have failed to follow the steps necessary to set up their app storefront. Hopefully Apple can use the six-way sync model that I supplied to better understand their own product and simplify for future generations of developers.
  • Working with Apple, we did find and fix a small bug in that complex process.
  • It's very simple to create a web-clip that links an app to a web URL. This was the method used by most of the early apps. This route has been shut down. Apple won't accept web-clips moving forward.
  • Apple promotes an Object, View, Controller, Model pattern. I'm not sure anyone can explain in laymen words what this means - however, it is a basis for innovation that goes far beyond iPhone coding - perhaps to encapsulate all learning.
  • Objective C is a highly structured language requiring full declares and exact match among objects - similar to PL1 on mainframes. If you are used to a loose language like Javascript or Fortran, beware that the learning curve is massive.
  • The development tools includes a huge vocabulary that includes thousands of terms - far more complex than learning the 4,000 terms of our forthcoming, 4-book bio-series.
  • The Interface Builder is a mature tool for managing the user visible parts. However, the process to synchronize the parts with the code is anything but intuitive. Even most of the examples produced by the Apple staff uses internal code to generate interface components, minimizing the use of the graphical tool. Once learned, this tool accelerates app development.
Once the iPhone platform is mastered, magic occurs. The finished app just works.

Hopefully, the marketing magic of Apple rubs off on its app developers as well.

No comments:

about (10) Amazon (2) Android App (13) animals (4) Apple iPhone (14) arts-series (2) bio-series (4) Blackberry (4) chem-series (5) Chrome OS (1) coffee-table apps (7) developer (4) Explorer (1) Facebook (3) faq (2) financial (1) Firefox (1) free (17) GRE (2) learning (8) LG (2) media (3) MoAppo (5) Motorola (2) news (11) Nokia (2) Palm App (7) research (3) SAT (7) seasonal (6) sports (16) stats (25) tablets (4) Toshiba (2) travel (4) usage (9) versions (13)

Sponsored Links

moAPPo: Mobile Commerce

Gallery | Blog | Contact