March 2009




iPhone in Action:
 Web Development
     or SDK?
                   Christopher Allen
Christopher Allen
manning.com/callen
iPhone in Action:
Web Development
    or SDK?
iPhone in Action:
Web Development or SDK?
iPhone in Action:
 Web Development or SDK?
There are two ways that you can
program for the iPhone, using web
development t...
iPhone in Action:
 Web Development or SDK?
There are two ways that you can
program for the iPhone, using web
development t...
iPhone in Action:
 Web Development or SDK?
There are two ways that you can
program for the iPhone, using web
development t...
iPhone in Action:
Web Development or SDK?
iPhone in Action:
 Web Development or SDK?
The iPhone’s Mobile Safari features:
  HTML 4.01 and XHTML 1.0
  CSS 2.1 and so...
iPhone in Action:
 Web Development or SDK?
Additional Mobile Safari features:
turning it into a wackybox class:
             -webkit-transform: rotate(30deg) translate(5%,5%);

  iPhone in Action:
   ...
Discussions on this topic are scattered across the internet, alongside individuals’
                     solutions for the...
iPhone in Action:
     Web Development or SDK?                                69
                         Recognizing touc...
iPhone in Action:
 Web Development or SDK?
                                          touchStart
Additional Mobile Safari f...
iPhone in Action:
     Web Development or SDK?                                69
                         Recognizing touc...
iPhone in Action:
 Web Development or SDK?
The iPhone SDK features:
  Same Mach kernel and Core OS as
    Macintosh
iPhone in Action:
 Web Development or SDK?
The iPhone SDK features:
  Same Mach kernel and Core OS as
    Macintosh
  Most...
iPhone in Action:
 Web Development or SDK?
The iPhone SDK features:
  Same Mach kernel and Core OS as
    Macintosh
  Most...
iPhone in Action:
 Web Development or SDK?
The iPhone SDK features:
  Same Mach kernel and Core OS as
    Macintosh
  Most...
iPhone in Action:
 Web Development or SDK?
The iPhone SDK features:
  Same Mach kernel and Core OS as
    Macintosh
  Most...
iPhone in Action:
 Web Development or SDK?
The iPhone SDK features:
  Same Mach kernel and Core OS as
     Macintosh
  Mos...
iPhone in Action:
 Web Development or SDK?
The iPhone SDK features:
  Same Mach kernel and Core OS as
     Macintosh
  Mos...
iPhone in Action:
Web Development or SDK?
iPhone in Action:
Web Development or SDK?
Web Development Advantages
iPhone in
  Action:
   Web
Development
  or SDK?

              Same Advantages as in 2007
iPhone in Action:
Web Development or SDK?
Web Development Advantages
  Simplicity
iPhone in Action:
Web Development or SDK?
Web Development Advantages
  Simplicity
    Easier then using low-level C
iPhone in Action:
Web Development or SDK?
Web Development Advantages
  Simplicity
    Easier then using low-level C
    La...
iPhone in Action:
Web Development or SDK?
Web Development Advantages
  Simplicity
    Easier then using low-level C
    La...
iPhone in Action:
Web Development or SDK?
Web Development Advantages
  Simplicity
    Easier then using low-level C
    La...
iPhone in Action:
Web Development or SDK?
Web Development Advantages
  Simplicity
    Easier then using low-level C
    La...
iPhone in Action:
Web Development or SDK?
Web Development Advantages
  Simplicity
    Easier then using low-level C
    La...
iPhone in Action:
Web Development or SDK?
Web Development Advantages
  Simplicity
  Dynamism
iPhone in Action:
Web Development or SDK?
Web Development Advantages
  Simplicity
  Dynamism
    Update functionality anyt...
iPhone in Action:
Web Development or SDK?
Web Development Advantages
  Simplicity
  Dynamism
    Update functionality anyt...
iPhone in Action:
Web Development or SDK?
Web Development Advantages
  Simplicity
  Dynamism
    Update functionality anyt...
iPhone in Action:
Web Development or SDK?
Web Development Advantages
  Simplicity
  Dynamism
  Globalized
iPhone in Action:
Web Development or SDK?
Web Development Advantages
  Simplicity
  Dynamism
  Globalized
    Part of glob...
iPhone in Action:
Web Development or SDK?
Web Development Advantages
  Simplicity
  Dynamism
  Globalized
    Part of glob...
iPhone in Action:
Web Development or SDK?
Web Development Advantages
  Simplicity
  Dynamism
  Globalized
    Part of glob...
iPhone in Action:
Web Development or SDK?
Web Development Advantages
  Simplicity
  Dynamism
  Globalized
    Part of glob...
iPhone in
  Action:
   Web
Development
  or SDK?

              Multiple Platforms
iPhone in Action:
Web Development or SDK?
SDK Development Advantages
  Sophistication
iPhone in Action:
Web Development or SDK?
SDK Development Advantages
  Sophistication
    Great depth of functionality
iPhone in Action:
Web Development or SDK?
SDK Development Advantages
  Sophistication
    Great depth of functionality
   ...
iPhone in Action:
Web Development or SDK?
SDK Development Advantages
  Sophistication
    Great depth of functionality
   ...
iPhone in Action:
Web Development or SDK?
SDK Development Advantages
  Sophistication
    Great depth of functionality
   ...
iPhone in Action:
Web Development or SDK?
SDK Development Advantages
  Sophistication
    Great depth of functionality
   ...
iPhone in Action:
Web Development or SDK?
SDK Development Advantages
  Sophistication
  Accessibility
iPhone in Action:
Web Development or SDK?
SDK Development Advantages
  Sophistication
  Accessibility
    Always available
iPhone in Action:
Web Development or SDK?
SDK Development Advantages
  Sophistication
  Accessibility
    Always available...
iPhone in Action:
Web Development or SDK?
SDK Development Advantages
  Sophistication
  Accessibility
    Always available...
iPhone in Action:
Web Development or SDK?
SDK Development Advantages
  Sophistication
  Accessibility
    Always available...
iPhone in Action:
Web Development or SDK?
SDK Development Advantages
  Sophistication
  Accessibility
    Always available...
iPhone in Action:
Web Development or SDK?
SDK Development Advantages
  Sophistication
  Accessibility
  Monetization
iPhone in Action:
Web Development or SDK?
SDK Development Advantages
  Sophistication
  Accessibility
  Monetization
    E...
iPhone in Action:
Web Development or SDK?
SDK Development Advantages
  Sophistication
  Accessibility
  Monetization
    E...
iPhone in Action:
Web Development or SDK?
iPhone in Action:
 Web Development or SDK?
Both development approaches have
their advantages.
iPhone in Action:
 Web Development or SDK?
Both development approaches have
their advantages.
You want to take advantage o...
iPhone in Action:
 Web Development or SDK?
Both development approaches have
their advantages.
You want to take advantage o...
iPhone in Action:
Web Development or SDK?
iPhone in Action:
 Web Development or SDK?
There are options to combine both
approaches and thus play to their
strengths
iPhone in Action:
 Web Development or SDK?
There are options to combine both
approaches and thus play to their
strengths
 ...
iPhone in Action:
 Web Development or SDK?
There are options to combine both
approaches and thus play to their
strengths
 ...
iPhone in Action:
 Web Development or SDK?
There are options to combine both
approaches and thus play to their
strengths
 ...
iPhone in Action:
 Web Development or SDK?
There are options to combine both
approaches and thus play to their
strengths
 ...
iPhone in Action:
Web Development or SDK?
iPhone in Action:
 Web Development or SDK?
Mirrored Development
  Write a free web version as well a
  more fully featured...
iPhone in
  Action:
   Web
Development
  or SDK?

               Mirrored Development
              apnews.com & Mobile Ne...
iPhone in Action:
Web Development or SDK?
iPhone in Action:
Web Development or SDK?
Mixed Development
  Write different parts of a program
  suite via different mea...
iPhone in
  Action:
   Web
Development
  or SDK?

                 Mixed Development
              google.com/reader & Map...
iPhone in Action:
Web Development or SDK?
iPhone in Action:
 Web Development or SDK?
Client-Server Development
  Link in to web software through
  the SDK
iPhone in
  Action:
   Web
Development
  or SDK?

              Client-Server Development
              Showtimes App & Gi...
iPhone in Action:
Web Development or SDK?
iPhone in Action:
Web Development or SDK?
Hybrid Development
  Use PhoneGap plus native-looking
  iPhone Javascript librar...
iPhone in
  Action:
   Web
Development
  or SDK?

                  Hybrid Development
              Inside Trader & It’s ...
Resources
iPhone in Action:
Web Development or SDK?
iPhone in Action:
 Web Development or SDK?
iPhone In Action:
Introduction to Web & SDK Development
   manning.com/iphonein...
iPhone in Action:
 Web Development or SDK?
iPhone In Action:
Introduction to Web & SDK Development
   manning.com/iphonein...
iPhone in Action:
 Web Development or SDK?
iPhone In Action:
Introduction to Web & SDK Development
   manning.com/iphonein...
iPhone in Action:
 Web Development or SDK?
iPhone In Action:
Introduction to Web & SDK Development
   manning.com/iphonein...
iPhone in Action:
 Web Development or SDK?
iPhone In Action:
Introduction to Web & SDK Development
   manning.com/iphonein...
iPhone in Action:
 Web Development or SDK?
iPhone In Action:
Introduction to Web & SDK Development
   manning.com/iphonein...
iPhone in Action:
 Web Development or SDK?
iPhone In Action:
Introduction to Web & SDK Development
   manning.com/iphonein...
iPhone in Action:
 Web Development or SDK?
iPhone In Action:
Introduction to Web & SDK Development
   manning.com/iphonein...
iPhone in Action:
 Web Development or SDK?
iPhone In Action:
Introduction to Web & SDK Development
   manning.com/iphonein...
iPhone in
  Action:
   Web
Development
  or SDK?

                iPhoneWebDev
              iPhoneWebDev.com
iPhone in Action:
Web Development or SDK?
iPhone in Action:
Web Development or SDK?
iUI Framework
  iui.googlecode.com
iPhone in Action:
Web Development or SDK?
iUI Framework
  iui.googlecode.com
 Navigation windows from JSON
   objects
iPhone in Action:
Web Development or SDK?
iUI Framework
  iui.googlecode.com
 Navigation windows from JSON
   objects
 Nav...
iPhone in Action:
Web Development or SDK?
iUI Framework
  iui.googlecode.com
 Navigation windows from JSON
   objects
 Nav...
iPhone in Action:
Web Development or SDK?
iUI Framework
  iui.googlecode.com
 Navigation windows from JSON
   objects
 Nav...
iPhone in Action:
Web Development or SDK?
iUI Framework
  iui.googlecode.com
 Navigation windows from JSON
   objects
 Nav...
iPhone in Action:
Web Development or SDK?
iUI Framework
  iui.googlecode.com
 Navigation windows from JSON
   objects
 Nav...
iPhone in Action:
Web Development or SDK?
iUI Framework
  iui.googlecode.com
 Navigation windows from JSON
   objects
 Nav...
iPhone in
  Action:
   Web
Development
  or SDK?


              moviesapp.com using iUI
iPhone in
  Action:
   Web
Development
  or SDK?

                    SQLite Safari
              tinyurl.com/sqlitesafari
iPhone in
  Action:
   Web
Development
  or SDK?


              DashCode
iPhone in
  Action:
   Web
Development
  or SDK?


              Dashcode Development
iPhone in
  Action:
   Web
Development
  or SDK?

               PhoneGap
              phonegap.com
iPhone in
  Action:
   Web
Development
  or SDK?

              TouchCode (json,xml,rss,...)
              touchcode.googl...
<mailto:ChristopherA@manning.com>
Upcoming SlideShare
Loading in...5
×

iPhone Development: Web or SDK? (eComm 2009)

5,511

Published on

The shorter version of my presentation on "iPhone Development: Web or SDK?" that I presented at eComm 2009. There is a video of this talk at http://fora.tv/2009/03/03/Christopher_Allen_iPhone_Web_Development_or_SDK

Published in: Technology, News & Politics
0 Comments
25 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
5,511
On Slideshare
0
From Embeds
0
Number of Embeds
4
Actions
Shares
0
Downloads
601
Comments
0
Likes
25
Embeds 0
No embeds

No notes for slide

  • Welcome. My name is Christopher Allen, and I am a long time blogger on Life With Alacrity, I am host of the larger iPhone Web Developer community iPhoneWebDev, and co-founder and master of ceremonies of the iPhoneDevCamp hackathon.
  • I am also the co-author of iPhone in Action: Introduction to Web and SDK Development, being released by Manning Publications at manning.com/callen

  • Today many of you are asking the question, &#x201C;Do I develop for the iPhone using the Web, or create a native application using the SDK&#x201D;?
  • Developing on the web leverages all the internet technologies...
  • ...but using the SDK leverages the full power of the iPhone and years of Apple&#x2019;s development experience.
  • I&#x2019;m sure that you are already familiar with the list of features in iPhone&#x2019;s Mobile Safari: All the things you need to create a sophisticated desktop class AJAX web application.
  • However, you may not be aware of some of these additional Mobile Safari features:

  • Webkit specific CSS transforms, with additional border types, rounded boxes, scaling, rotation, and other transformations...
  • Canvas, a scalable vector graphics toolkit that allow for simple SVG-style graphics and animations...
  • Support of HTML 5&#x2019;s client-side database that allows for local SQLite storage...
  • iPhone specific JavaScript events, such as touchStart, gestureChange, current orientation, etc.
  • Finally, you have the ability to hide Mobile Safari&#x2019;s chrome, allowing you utilize the full size of the iPhone screen.
  • The iPhone SDK offers a number of features: the same Mach kernel and Core operating system that has been used by Apple since OS X was released in 2001...

  • ...most of the same Core Services as the Macintosh....

  • Much of the functionality offered by Apple&#x2019;s own iPhone apps
  • including the object oriented CocoaTouch and UIKit

  • the ability to create applications using Objective C or C++
  • ...and great tools like Interface Builder...
  • ...and all the debugging and profiling tools that have been available to Macintosh application developers for years.
  • So what are the advantages of developing for the iPhone on the Web?
  • All the same advantages that Steve Jobs spoke of in 2007 on the release of the iPhone.
  • First off, Simplicity.
  • Frankly, web development is simpler than using a low-level programming language like C.
  • The programming languages of the web are dynamic, which offer a lot of advantages.
  • You don&#x2019;t usually have to worry about things like memory management or even (for the most part) object modeling.
  • If you&#x2019;re just outputting plain data, the ease factor in web development goes up by a factor of at least 10x when compared to doing the same thing using the SDK&#x2019;s tables and other data outputs.
  • Beyond that, when you&#x2019;re done developing a web program, all you need to do is upload your pages to your server. There are no hoops to jump through (other than those that your individual company might impose).
  • It&#x2019;s also a lot simpler for users who are used to working with the web. They&#x2019;re much more likely to view your web page than to pay to purchase your SDK program from the iTunes store, and thus it&#x2019;s a great way to attract many more users.
  • The next advantage is Dynamism.
  • You can literally update your program at any time. You don&#x2019;t have to worry about when or how your users will get a new program.
  • You just change your server&#x2019;s source code, and the next time your users access the page, they&#x2019;ll see all your bug fixes and other changes. Similarly, you can constantly give users access to your newest data. Whereas data stored within an SDK program is static, for a web program a user&#x2019;s view of data changes whenever you update it. This starts to shade into the next strength &#x2026;

  • Similarly, you can constantly give users access to your newest data. Whereas data stored within an SDK program is static, for a web program a user&#x2019;s view of data changes whenever you update it. This starts to shade into the next strength &#x2026;

  • The third advantage is that web-based apps are Globalized.
  • When you create a web-based iPhone program, you become part of a global network that starts at your own server. This has a bunch of advantages.
  • First, it means you can just create one program for use by both iPhone and desktop users. This will improve usability for your users if there&#x2019;s data that they want to access (or even update) from both their desktop and their iPhone.
  • Third, it gives you rapid access to the rest of the Web through XML, URLs, RSS feeds, and other data links. Granted, these advantages could be mimicked using web access from the SDK.
  • It&#x2019;s also a lot easier for your users to interact with other users, which might be particularly important for chats or multiplayer games.
  • Finally, there are now a number of additional platforms for web-based mobile apps: All the Google Android phones including the T-Mobile G1, the Nokia S60 and S90 series phones, and announced last week, the Palm Pre. All of these use Webkit, the same mobile browser used by the iPhone.
  • So what are the advantages of using the SDK? Sophistication.
  • Just as web programs are a lot easier to develop and deploy, the flipside is that SDK programs allow for improved depth of functionality.

  • The SDK development environment is a wonder of error reporting, complemented by well-integrated documentation and a built-in profiling package.
  • In addition, this depth shows up in the frameworks that you&#x2019;ll have access to when you use the SDK. They&#x2019;ll give you much deeper access to the iPhone&#x2019;s internals than any web page could.
  • Though Apple has made some unique events, like orientation change, and some gestures available to web developments through the WebKit, if you want to use the address book or GPS or want to take a deeper look at the accelerometers, you have to use the SDK.
  • You can also access better graphics with the SDK &#x2014; particularly if you want to work with animation or games.
  • Another SDK advantage is Accessibility.
  • Once a user buys a program, it is always available on his iPhone. Though a similar function is available for saving web applications into Safari bookmarks, it&#x2019;s likely only a percentage of users will take advantage of it.
  • An SDK program is usable wherever a user is, whether that be inside a subway tunnel or in a cell-phone dead zone. Though the iPhone has an always-on internet, there are inevitably times and places when it&#x2019;s not available&#x2014;but a native program will be.
  • Even an occasionally-connected application might benefit from being native to the iPhone, as they can provide constant access to older cached data.
  • This goes hand-in-hand with the fact that the applications will always be running at iPhone speed, not constrained by the internet.
  • Because the program is sitting on his iPhone, your user might feel more comfortable about using it to save his personal records than he would be if he knew the data was going out to the internet, and thus potentially vulnerable.
  • For many of you, a big advantage of the SDK is Monetization.
  • Though I don&#x2019;t want to be entirely mercenary, I think it&#x2019;s important to note that Apple is making it very easy to sell your iPhone SDK programs through their iPhone store.
  • Certainly you could depend upon advertisements or even subscriptions for a web developed program, but you don&#x2019;t have to worry about any of that if you write a program using the SDK.
  • Both development approaches have their advantages. &#x2022;You want to take advantage of each programming methods strengths and use it when appropriate. &#x2022;Don&#x2019;t blindly just use the SDK or the Web because you're more comfortable with it.
  • Both development approaches have their advantages. &#x2022;You want to take advantage of each programming methods strengths and use it when appropriate. &#x2022;Don&#x2019;t blindly just use the SDK or the Web because you're more comfortable with it.
  • Both development approaches have their advantages. &#x2022;You want to take advantage of each programming methods strengths and use it when appropriate. &#x2022;Don&#x2019;t blindly just use the SDK or the Web because you're more comfortable with it.
  • I&#x2019;d also like to talk with you about options you have to combine both approaches and thus play to their strengths. They are &#x2022; Mirrored Development, &#x2022;Mixed Development and &#x2022;Client-Server Development.
  • I&#x2019;d also like to talk with you about options you have to combine both approaches and thus play to their strengths. They are &#x2022; Mirrored Development, &#x2022;Mixed Development and &#x2022;Client-Server Development.
  • I&#x2019;d also like to talk with you about options you have to combine both approaches and thus play to their strengths. They are &#x2022; Mirrored Development, &#x2022;Mixed Development and &#x2022;Client-Server Development.
  • I&#x2019;d also like to talk with you about options you have to combine both approaches and thus play to their strengths. They are &#x2022; Mirrored Development, &#x2022;Mixed Development and &#x2022;Client-Server Development.
  • I&#x2019;d also like to talk with you about options you have to combine both approaches and thus play to their strengths. They are &#x2022; Mirrored Development, &#x2022;Mixed Development and &#x2022;Client-Server Development.
  • It&#x2019;s obviously easier to get a user to try out a free but limited version of your software than it is to get them to purchase a more complete version. The business model of upgrading users from free to premium versions of software has been used extensively, with &#x201C;freemium&#x201D; being the latest buzzword. There are two ways you could create a freemium model for your software.
    First, you could do what a lot of developers are already doing and offer a free trial version of your software on the iPhone store. This has the advantage of putting the software in the place that people are looking for software, but has the disadvantage that your application could get lost amidst the hurly burly of the store. Second, you could create a version of your software for the web, using Web App technologies. I think this model is particularly useful for those of you that have existing web pages that might already be drawing users to them in more highly targeted ways than the Apps Store could. Thus after releasing a limited version of your application over the web using techniques like the WebKit, iUI, and Canvas, you also release a feature-complete version of your application through the Apps Store using the SDK. Though we&#x2019;ve highlighted the economic reasons for this sort of mirrored development, it&#x2019;s possible that web sites might decide to extend existing Web Apps to include features not available in their web-based application. If so then you&#x2019;ll have a clear delineation between what the programs include: the SDK will uniquely include those features that weren&#x2019;t available through the web, like location-aware and orientation-aware data.

  • It&#x2019;s obviously easier to get a user to try out a free but limited version of your software than it is to get them to purchase a more complete version. The business model of upgrading users from free to premium versions of software has been used extensively, with &#x201C;freemium&#x201D; being the latest buzzword. There are two ways you could create a freemium model for your software.
    First, you could do what a lot of developers are already doing and offer a free trial version of your software on the iPhone store. This has the advantage of putting the software in the place that people are looking for software, but has the disadvantage that your application could get lost amidst the hurly burly of the store. Second, you could create a version of your software for the web, using Web App technologies. I think this model is particularly useful for those of you that have existing web pages that might already be drawing users to them in more highly targeted ways than the Apps Store could. Thus after releasing a limited version of your application over the web using techniques like the WebKit, iUI, and Canvas, you also release a feature-complete version of your application through the Apps Store using the SDK. Though we&#x2019;ve highlighted the economic reasons for this sort of mirrored development, it&#x2019;s possible that web sites might decide to extend existing Web Apps to include features not available in their web-based application. If so then you&#x2019;ll have a clear delineation between what the programs include: the SDK will uniquely include those features that weren&#x2019;t available through the web, like location-aware and orientation-aware data.


  • In a mixed development environment, instead of making the web a subset of your SDK work, you&#x2019;re looking at an overall project and deciding to program some of it using the web and some of it using the SDK. This can be a chaotic methodology if not managed carefully, but it gives you the best opportunity to really use the strengths of each sort of development. I find it most likely to work when you have two classes of users or two classes of programmers. On the user side, a good example might be a situation where you have administrative users and end users. Assume you&#x2019;re managing some data project. The data input methods used by your administrators don&#x2019;t necessarily have to look great. You can develop them very quickly using the web and then your administrators can choose whether to input data from their iPhones or from their desktops. Conversely, you want to provide a great user experience for your end-users, so you take advantage of the iPhone&#x2019;s native graphical and animation features to output your data in interesting ways. On the programmer side, you might simply have developers who are more comfortable in either the web or Objective-C arena. A mixed development project allows you to not only use the strengths of the individual programming methods but also the strengths of your individual programmers as well. The exact way in which you do mixed development will very much depend upon the specifics of your project, but there should be real opportunities to take advantage of each programming style&#x2019;s strengths without much redundancy.
  • In a mixed development environment, instead of making the web a subset of your SDK work, you&#x2019;re looking at an overall project and deciding to program some of it using the web and some of it using the SDK. This can be a chaotic methodology if not managed carefully, but it gives you the best opportunity to really use the strengths of each sort of development. I find it most likely to work when you have two classes of users or two classes of programmers. On the user side, a good example might be a situation where you have administrative users and end users. Assume you&#x2019;re managing some data project. The data input methods used by your administrators don&#x2019;t necessarily have to look great. You can develop them very quickly using the web and then your administrators can choose whether to input data from their iPhones or from their desktops. Conversely, you want to provide a great user experience for your end-users, so you take advantage of the iPhone&#x2019;s native graphical and animation features to output your data in interesting ways. On the programmer side, you might simply have developers who are more comfortable in either the web or Objective-C arena. A mixed development project allows you to not only use the strengths of the individual programming methods but also the strengths of your individual programmers as well. The exact way in which you do mixed development will very much depend upon the specifics of your project, but there should be real opportunities to take advantage of each programming style&#x2019;s strengths without much redundancy.

  • The final type of integrated iPhone development is the most powerful&#x2014;and also one that&#x2019;s already in use on your iPhone, whether you know it or not. Client-server development combines back-end web development and front-end SDK development in a fairly typical client-server model. This is effectively what is done by existing iPhone programs such as Maps, Stocks, and YouTube, all of which pull data from the internet and display it in attractive ways while also taking advantage of the iPhone&#x2019;s unique capabilities. On the one hand, you don&#x2019;t need a lot of the details of web development as presented in this book to create a data back-end. Instead you can depend on your existing Perl, PHP, or Ruby on Rails code and use it to kick out RSS or some other data feed which your SDK software can easily pick up. On the other hand, if you&#x2019;re already doing that much development on the web side of things, creating a second web-based interface for iPhone users should be trivial. Thus, a client-server development environment can give you the excuse to use either of the other integrated development strategies that I suggested.
  • The final type of integrated iPhone development is the most powerful&#x2014;and also one that&#x2019;s already in use on your iPhone, whether you know it or not. Client-server development combines back-end web development and front-end SDK development in a fairly typical client-server model. This is effectively what is done by existing iPhone programs such as Maps, Stocks, and YouTube, all of which pull data from the internet and display it in attractive ways while also taking advantage of the iPhone&#x2019;s unique capabilities. On the one hand, you don&#x2019;t need a lot of the details of web development as presented in this book to create a data back-end. Instead you can depend on your existing Perl, PHP, or Ruby on Rails code and use it to kick out RSS or some other data feed which your SDK software can easily pick up. On the other hand, if you&#x2019;re already doing that much development on the web side of things, creating a second web-based interface for iPhone users should be trivial. Thus, a client-server development environment can give you the excuse to use either of the other integrated development strategies that I suggested.









  • An of course, I encourage you to take a look at my book, iPhone in Action, at manning.com/callen -- it was written specifically for web developers who wish to better understand both web development for the iPhone as well as how to create simple iPhone SDK applications. An advance edition PDF is available now from the website, and the printed book should be out by early January.
  • An of course, I encourage you to take a look at my book, iPhone in Action, at manning.com/callen -- it was written specifically for web developers who wish to better understand both web development for the iPhone as well as how to create simple iPhone SDK applications. An advance edition PDF is available now from the website, and the printed book should be out by early January.
  • An of course, I encourage you to take a look at my book, iPhone in Action, at manning.com/callen -- it was written specifically for web developers who wish to better understand both web development for the iPhone as well as how to create simple iPhone SDK applications. An advance edition PDF is available now from the website, and the printed book should be out by early January.
  • An of course, I encourage you to take a look at my book, iPhone in Action, at manning.com/callen -- it was written specifically for web developers who wish to better understand both web development for the iPhone as well as how to create simple iPhone SDK applications. An advance edition PDF is available now from the website, and the printed book should be out by early January.
  • An of course, I encourage you to take a look at my book, iPhone in Action, at manning.com/callen -- it was written specifically for web developers who wish to better understand both web development for the iPhone as well as how to create simple iPhone SDK applications. An advance edition PDF is available now from the website, and the printed book should be out by early January.
  • An of course, I encourage you to take a look at my book, iPhone in Action, at manning.com/callen -- it was written specifically for web developers who wish to better understand both web development for the iPhone as well as how to create simple iPhone SDK applications. An advance edition PDF is available now from the website, and the printed book should be out by early January.
  • An of course, I encourage you to take a look at my book, iPhone in Action, at manning.com/callen -- it was written specifically for web developers who wish to better understand both web development for the iPhone as well as how to create simple iPhone SDK applications. An advance edition PDF is available now from the website, and the printed book should be out by early January.
  • An of course, I encourage you to take a look at my book, iPhone in Action, at manning.com/callen -- it was written specifically for web developers who wish to better understand both web development for the iPhone as well as how to create simple iPhone SDK applications. An advance edition PDF is available now from the website, and the printed book should be out by early January.
  • An of course, I encourage you to take a look at my book, iPhone in Action, at manning.com/callen -- it was written specifically for web developers who wish to better understand both web development for the iPhone as well as how to create simple iPhone SDK applications. An advance edition PDF is available now from the website, and the printed book should be out by early January.
  • An of course, I encourage you to take a look at my book, iPhone in Action, at manning.com/callen -- it was written specifically for web developers who wish to better understand both web development for the iPhone as well as how to create simple iPhone SDK applications. An advance edition PDF is available now from the website, and the printed book should be out by early January.
  • An of course, I encourage you to take a look at my book, iPhone in Action, at manning.com/callen -- it was written specifically for web developers who wish to better understand both web development for the iPhone as well as how to create simple iPhone SDK applications. An advance edition PDF is available now from the website, and the printed book should be out by early January.
  • If you are developing iPhone web apps or iPhone optimized websites, the iPhoneWebDev developer community is the largest community of web developers helping other web developers. It is great place for solving problems.
  • A great place to start in creating an iPhone webapp is by using the iUI javascript library, at iui.googlecode.com. It allows you to quickly create a powerful iPhone web app experience for your users. The author of Moviesapp.com said that he was able to release his iPhone movie website in less then 5 hours to win an award at last years iPhoneDevCamp.
  • A great place to start in creating an iPhone webapp is by using the iUI javascript library, at iui.googlecode.com. It allows you to quickly create a powerful iPhone web app experience for your users. The author of Moviesapp.com said that he was able to release his iPhone movie website in less then 5 hours to win an award at last years iPhoneDevCamp.
  • A great place to start in creating an iPhone webapp is by using the iUI javascript library, at iui.googlecode.com. It allows you to quickly create a powerful iPhone web app experience for your users. The author of Moviesapp.com said that he was able to release his iPhone movie website in less then 5 hours to win an award at last years iPhoneDevCamp.
  • A great place to start in creating an iPhone webapp is by using the iUI javascript library, at iui.googlecode.com. It allows you to quickly create a powerful iPhone web app experience for your users. The author of Moviesapp.com said that he was able to release his iPhone movie website in less then 5 hours to win an award at last years iPhoneDevCamp.
  • A great place to start in creating an iPhone webapp is by using the iUI javascript library, at iui.googlecode.com. It allows you to quickly create a powerful iPhone web app experience for your users. The author of Moviesapp.com said that he was able to release his iPhone movie website in less then 5 hours to win an award at last years iPhoneDevCamp.
  • A great place to start in creating an iPhone webapp is by using the iUI javascript library, at iui.googlecode.com. It allows you to quickly create a powerful iPhone web app experience for your users. The author of Moviesapp.com said that he was able to release his iPhone movie website in less then 5 hours to win an award at last years iPhoneDevCamp.
  • A great place to start in creating an iPhone webapp is by using the iUI javascript library, at iui.googlecode.com. It allows you to quickly create a powerful iPhone web app experience for your users. The author of Moviesapp.com said that he was able to release his iPhone movie website in less then 5 hours to win an award at last years iPhoneDevCamp.
  • A great place to start in creating an iPhone webapp is by using the iUI javascript library, at iui.googlecode.com. It allows you to quickly create a powerful iPhone web app experience for your users. The author of Moviesapp.com said that he was able to release his iPhone movie website in less then 5 hours to win an award at last years iPhoneDevCamp.
  • A great place to start in creating an iPhone webapp is by using the iUI javascript library, at iui.googlecode.com. It allows you to quickly create a powerful iPhone web app experience for your users. The author of Moviesapp.com said that he was able to release his iPhone movie website in less then 5 hours to win an award at last years iPhoneDevCamp.

  • This website detail&#x2019;s the new HTML 5 client-side storage features of Mobile Safari.
  • One under promoted web development resource is Apple&#x2019;s Dashcode, which is included with the iPhone SDK.
  • It allows you to create websites using templates similar to the SDK&#x2019;s Interface Builder.

  • TouchCode is a resource for SDK developers wishing to have more compatibility with web protocols. The TouchCode open source project at touchcode.googlecode.com offers Objective-C libraries for reading and writing json, xml, rss, etc.

  • iPhone Development: Web or SDK? (eComm 2009)

    1. 1. March 2009 iPhone in Action: Web Development or SDK? Christopher Allen
    2. 2. Christopher Allen
    3. 3. manning.com/callen
    4. 4. iPhone in Action: Web Development or SDK?
    5. 5. iPhone in Action: Web Development or SDK?
    6. 6. iPhone in Action: Web Development or SDK? There are two ways that you can program for the iPhone, using web development tools and using the SDK
    7. 7. iPhone in Action: Web Development or SDK? There are two ways that you can program for the iPhone, using web development tools and using the SDK Web development leverages internet technologies
    8. 8. iPhone in Action: Web Development or SDK? There are two ways that you can program for the iPhone, using web development tools and using the SDK Web development leverages internet technologies The iPhone SDK leverage the full power of the iPhone and years of Apple’s development experience
    9. 9. iPhone in Action: Web Development or SDK?
    10. 10. iPhone in Action: Web Development or SDK? The iPhone’s Mobile Safari features: HTML 4.01 and XHTML 1.0 CSS 2.1 and some CSS 3 Full DOM Javascript 1.4 XMLHttpRequest thus support for AJAX Canvas PDF & Quicktime Up to 8 “tabs” Many custom WebKit functions
    11. 11. iPhone in Action: Web Development or SDK? Additional Mobile Safari features:
    12. 12. turning it into a wackybox class: -webkit-transform: rotate(30deg) translate(5%,5%); iPhone in Action: The result is that your news article appears at an angle, moved somewhat off the Figure 4.2 shows this change, which you can compare to the nontransformed new Web Development or SDK? that appears a few pages back as figure 4.1. This particular transform isn’t that you want people to read it, but it could be a nice background for a news site or something similar. There are many other Additional Mobile Safarido with transforms, things that you can features: Webkit CSS Transforms such as setting up banners, printing text at a variety of sizes, and making similar changes on static web pages. Some will be gimmicks, but others can have func- tional benefits. Before we leave transforms behind, we’ll note that they support one other property, –webkit-transform-origin, which can be used to move the origin for scales and skews away from the center of the object. Although you can do quite a bit with transforms all on their own, their real power appears when you start working
    13. 13. Discussions on this topic are scattered across the internet, alongside individuals’ solutions for them. At the time of writing, none of the library solutions were compre- hensive enough for us to recommend them here, but take a look around if you need text in your Canvas object and you don’t want to write the routines yourself. iPhone in Action: With that disappointment behind us, we’re going to finish our look at Canvas by seeing how to put it all together. 6.8 Putting it together Web Development or SDK? Having shown lots of stand-alone Canvas methods, we’ll now show how a variety of shapes can be painted onto a single Canvas object. Figure 6.9 includes a pair of screenshots that show off most of the Canvas functionality that we’ve discussed. Additional Mobile Safari features: Webkit CSS Transforms Canvas - Scalable Vector Graphics Figure 6.9 Canvas allows for a wide variety of shapes to be created from a small set of primitives, as
    14. 14. iPhone in Action: Web Development or SDK? 69 Recognizing touches and gestures The results are shown in figure 4.4, which as you can Additional Mobile Safari the WebKit CSS ele- see make good use of some of features: ments that we highlighted earlier, showing off the great Webkit CSS Transforms functionality that the WebKit provides you with. The JavaScript Scalable Vector Graphics Canvas - database is the last WebKit element that you can make use of on SQLite Storagecan also Database - Local the iPhone, but it be used more broadly. The last couple of items that we’ll discuss are instead iPhone specific. Adjusting the chrome In the previous chapter we showed you some simple methods for dealing with the iPhone chrome. We explained how to scroll the URL bar and noted that the status bar and the bottom bar could not be changed. Using the WebKit, you have slightly more control over things, provided that your user is using iPhone OS 2.1 or higher. All you need to do is enter a new metatag on
    15. 15. iPhone in Action: Web Development or SDK? touchStart Additional Mobile Safari features: touchMove Webkit CSS Transforms touchEnd Canvas - Scalable Vector Graphics touchCancel Database - Local SQLite Storage gestureStart Touch Events gestureChange gestureEnd changedTouches targetTouches touches orientation rotation scale
    16. 16. iPhone in Action: Web Development or SDK? 69 Recognizing touches and gestures The results are shown in figure 4.4, which as you can Additional Mobile Safari the WebKit CSS ele- see make good use of some of features: ments that we highlighted earlier, showing off the great Webkit CSS Transforms functionality that the WebKit provides you with. The JavaScript Scalable Vector Graphics Canvas - database is the last WebKit element that you can make use of on SQLite Storagecan also Database - Local the iPhone, but it be used more broadly. The last couple of items that Touch Events we’ll discuss are instead iPhone specific. Hide Mobile Safari’s Chrome Adjusting the chrome In the previous chapter we showed you some simple methods for dealing with the iPhone chrome. We explained how to scroll the URL bar and noted that the status bar and the bottom bar could not be changed. Using the WebKit, you have slightly more control over things, provided that your user is using iPhone OS 2.1 or higher. All you need to do is enter a new metatag on
    17. 17. iPhone in Action: Web Development or SDK? The iPhone SDK features: Same Mach kernel and Core OS as Macintosh
    18. 18. iPhone in Action: Web Development or SDK? The iPhone SDK features: Same Mach kernel and Core OS as Macintosh Most of the same Core Services as Macintosh
    19. 19. iPhone in Action: Web Development or SDK? The iPhone SDK features: Same Mach kernel and Core OS as Macintosh Most of the same Core Services as Macintosh Most of functionality available to Apple’s iPhone apps
    20. 20. iPhone in Action: Web Development or SDK? The iPhone SDK features: Same Mach kernel and Core OS as Macintosh Most of the same Core Services as Macintosh Most of functionality available to Apple’s iPhone apps Cocoa Touch with UIKit
    21. 21. iPhone in Action: Web Development or SDK? The iPhone SDK features: Same Mach kernel and Core OS as Macintosh Most of the same Core Services as Macintosh Most of functionality available to Apple’s iPhone apps Cocoa Touch with UIKit Objective C and C++ compiler
    22. 22. iPhone in Action: Web Development or SDK? The iPhone SDK features: Same Mach kernel and Core OS as Macintosh Most of the same Core Services as Macintosh Most of functionality available to Apple’s iPhone apps Cocoa Touch with UIKit Objective C and C++ compiler Interface Builder with UIKit templates
    23. 23. iPhone in Action: Web Development or SDK? The iPhone SDK features: Same Mach kernel and Core OS as Macintosh Most of the same Core Services as Macintosh Most of functionality available to Apple’s iPhone apps Cocoa Touch with UIKit Objective C and C++ compiler Interface Builder with UIKit templates Great debugging and profiling
    24. 24. iPhone in Action: Web Development or SDK?
    25. 25. iPhone in Action: Web Development or SDK? Web Development Advantages
    26. 26. iPhone in Action: Web Development or SDK? Same Advantages as in 2007
    27. 27. iPhone in Action: Web Development or SDK? Web Development Advantages Simplicity
    28. 28. iPhone in Action: Web Development or SDK? Web Development Advantages Simplicity Easier then using low-level C
    29. 29. iPhone in Action: Web Development or SDK? Web Development Advantages Simplicity Easier then using low-level C Languages are dynamic
    30. 30. iPhone in Action: Web Development or SDK? Web Development Advantages Simplicity Easier then using low-level C Languages are dynamic No memory management
    31. 31. iPhone in Action: Web Development or SDK? Web Development Advantages Simplicity Easier then using low-level C Languages are dynamic No memory management Display of data is easy
    32. 32. iPhone in Action: Web Development or SDK? Web Development Advantages Simplicity Easier then using low-level C Languages are dynamic No memory management Display of data is easy Deployment is an upload
    33. 33. iPhone in Action: Web Development or SDK? Web Development Advantages Simplicity Easier then using low-level C Languages are dynamic No memory management Display of data is easy Deployment is an upload Easy to use
    34. 34. iPhone in Action: Web Development or SDK? Web Development Advantages Simplicity Dynamism
    35. 35. iPhone in Action: Web Development or SDK? Web Development Advantages Simplicity Dynamism Update functionality anytime
    36. 36. iPhone in Action: Web Development or SDK? Web Development Advantages Simplicity Dynamism Update functionality anytime Easy to fix bugs
    37. 37. iPhone in Action: Web Development or SDK? Web Development Advantages Simplicity Dynamism Update functionality anytime Easy to fix bugs Give users the latest data
    38. 38. iPhone in Action: Web Development or SDK? Web Development Advantages Simplicity Dynamism Globalized
    39. 39. iPhone in Action: Web Development or SDK? Web Development Advantages Simplicity Dynamism Globalized Part of global network
    40. 40. iPhone in Action: Web Development or SDK? Web Development Advantages Simplicity Dynamism Globalized Part of global network One program for iPhone and desktop
    41. 41. iPhone in Action: Web Development or SDK? Web Development Advantages Simplicity Dynamism Globalized Part of global network One program for iPhone and desktop Access to rest of web
    42. 42. iPhone in Action: Web Development or SDK? Web Development Advantages Simplicity Dynamism Globalized Part of global network One program for iPhone and desktop Access to rest of web Connected to everyone
    43. 43. iPhone in Action: Web Development or SDK? Multiple Platforms
    44. 44. iPhone in Action: Web Development or SDK? SDK Development Advantages Sophistication
    45. 45. iPhone in Action: Web Development or SDK? SDK Development Advantages Sophistication Great depth of functionality
    46. 46. iPhone in Action: Web Development or SDK? SDK Development Advantages Sophistication Great depth of functionality Superior development environment
    47. 47. iPhone in Action: Web Development or SDK? SDK Development Advantages Sophistication Great depth of functionality Superior development environment Deeper access to internals
    48. 48. iPhone in Action: Web Development or SDK? SDK Development Advantages Sophistication Great depth of functionality Superior development environment Deeper access to internals Camera, accelerometers, GPS, gestures, contacts, photos
    49. 49. iPhone in Action: Web Development or SDK? SDK Development Advantages Sophistication Great depth of functionality Superior development environment Deeper access to internals Camera, accelerometers, GPS, gestures, contacts, photos Better graphics and 3D
    50. 50. iPhone in Action: Web Development or SDK? SDK Development Advantages Sophistication Accessibility
    51. 51. iPhone in Action: Web Development or SDK? SDK Development Advantages Sophistication Accessibility Always available
    52. 52. iPhone in Action: Web Development or SDK? SDK Development Advantages Sophistication Accessibility Always available Functions without net
    53. 53. iPhone in Action: Web Development or SDK? SDK Development Advantages Sophistication Accessibility Always available Functions without net Cache data
    54. 54. iPhone in Action: Web Development or SDK? SDK Development Advantages Sophistication Accessibility Always available Functions without net Cache data Native speed
    55. 55. iPhone in Action: Web Development or SDK? SDK Development Advantages Sophistication Accessibility Always available Functions without net Cache data Native speed Private
    56. 56. iPhone in Action: Web Development or SDK? SDK Development Advantages Sophistication Accessibility Monetization
    57. 57. iPhone in Action: Web Development or SDK? SDK Development Advantages Sophistication Accessibility Monetization Easy to sell through App Store
    58. 58. iPhone in Action: Web Development or SDK? SDK Development Advantages Sophistication Accessibility Monetization Easy to sell through App Store Does not depend on advertisements or subscriptions
    59. 59. iPhone in Action: Web Development or SDK?
    60. 60. iPhone in Action: Web Development or SDK? Both development approaches have their advantages.
    61. 61. iPhone in Action: Web Development or SDK? Both development approaches have their advantages. You want to take advantage of each programming methods strengths and use it when appropriate.
    62. 62. iPhone in Action: Web Development or SDK? Both development approaches have their advantages. You want to take advantage of each programming methods strengths and use it when appropriate. Don’t blindly just use the SDK or the Web because you're more comfortable with it.
    63. 63. iPhone in Action: Web Development or SDK?
    64. 64. iPhone in Action: Web Development or SDK? There are options to combine both approaches and thus play to their strengths
    65. 65. iPhone in Action: Web Development or SDK? There are options to combine both approaches and thus play to their strengths Mirrored Development
    66. 66. iPhone in Action: Web Development or SDK? There are options to combine both approaches and thus play to their strengths Mirrored Development Mixed Development
    67. 67. iPhone in Action: Web Development or SDK? There are options to combine both approaches and thus play to their strengths Mirrored Development Mixed Development Client-Server Development
    68. 68. iPhone in Action: Web Development or SDK? There are options to combine both approaches and thus play to their strengths Mirrored Development Mixed Development Client-Server Development Hybrid Development
    69. 69. iPhone in Action: Web Development or SDK?
    70. 70. iPhone in Action: Web Development or SDK? Mirrored Development Write a free web version as well a more fully featured SDK version
    71. 71. iPhone in Action: Web Development or SDK? Mirrored Development apnews.com & Mobile News App
    72. 72. iPhone in Action: Web Development or SDK?
    73. 73. iPhone in Action: Web Development or SDK? Mixed Development Write different parts of a program suite via different means
    74. 74. iPhone in Action: Web Development or SDK? Mixed Development google.com/reader & Maps App
    75. 75. iPhone in Action: Web Development or SDK?
    76. 76. iPhone in Action: Web Development or SDK? Client-Server Development Link in to web software through the SDK
    77. 77. iPhone in Action: Web Development or SDK? Client-Server Development Showtimes App & Gifts App
    78. 78. iPhone in Action: Web Development or SDK?
    79. 79. iPhone in Action: Web Development or SDK? Hybrid Development Use PhoneGap plus native-looking iPhone Javascript libraries Result is app that can be submitted to iPhone AppStore You can now charge for your webapp Cross-Platform for Android, Blackberry, more to come http://phonegap.com/
    80. 80. iPhone in Action: Web Development or SDK? Hybrid Development Inside Trader & It’s On My iPhone
    81. 81. Resources
    82. 82. iPhone in Action: Web Development or SDK?
    83. 83. iPhone in Action: Web Development or SDK? iPhone In Action: Introduction to Web & SDK Development manning.com/iphoneinaction
    84. 84. iPhone in Action: Web Development or SDK? iPhone In Action: Introduction to Web & SDK Development manning.com/iphoneinaction Oriented for web developers
    85. 85. iPhone in Action: Web Development or SDK? iPhone In Action: Introduction to Web & SDK Development manning.com/iphoneinaction Oriented for web developers Topics: Creating web apps optimized for the iPhone with Canvas, WebKit, and iUI
    86. 86. iPhone in Action: Web Development or SDK? iPhone In Action: Introduction to Web & SDK Development manning.com/iphoneinaction Oriented for web developers Topics: Creating web apps optimized for the iPhone with Canvas, WebKit, and iUI Learning about the iPhone native SDK
    87. 87. iPhone in Action: Web Development or SDK? iPhone In Action: Introduction to Web & SDK Development manning.com/iphoneinaction Oriented for web developers Topics: Creating web apps optimized for the iPhone with Canvas, WebKit, and iUI Learning about the iPhone native SDK Programming with Cocoa Touch's UIKit
    88. 88. iPhone in Action: Web Development or SDK? iPhone In Action: Introduction to Web & SDK Development manning.com/iphoneinaction Oriented for web developers Topics: Creating web apps optimized for the iPhone with Canvas, WebKit, and iUI Learning about the iPhone native SDK Programming with Cocoa Touch's UIKit Building apps that delve into the iPhone's toolbox
    89. 89. iPhone in Action: Web Development or SDK? iPhone In Action: Introduction to Web & SDK Development manning.com/iphoneinaction Oriented for web developers Topics: Creating web apps optimized for the iPhone with Canvas, WebKit, and iUI Learning about the iPhone native SDK Programming with Cocoa Touch's UIKit Building apps that delve into the iPhone's toolbox Blending web & iPhone SDK development
    90. 90. iPhone in Action: Web Development or SDK? iPhone In Action: Introduction to Web & SDK Development manning.com/iphoneinaction Oriented for web developers Topics: Creating web apps optimized for the iPhone with Canvas, WebKit, and iUI Learning about the iPhone native SDK Programming with Cocoa Touch's UIKit Building apps that delve into the iPhone's toolbox Blending web & iPhone SDK development Available Now in Print & PDF
    91. 91. iPhone in Action: Web Development or SDK? iPhone In Action: Introduction to Web & SDK Development manning.com/iphoneinaction Oriented for web developers Topics: Creating web apps optimized for the iPhone with Canvas, WebKit, and iUI Learning about the iPhone native SDK Programming with Cocoa Touch's UIKit Building apps that delve into the iPhone's toolbox Blending web & iPhone SDK development Available Now in Print & PDF Updates and Blog at iphoneinaction.manning.com
    92. 92. iPhone in Action: Web Development or SDK? iPhoneWebDev iPhoneWebDev.com
    93. 93. iPhone in Action: Web Development or SDK?
    94. 94. iPhone in Action: Web Development or SDK? iUI Framework iui.googlecode.com
    95. 95. iPhone in Action: Web Development or SDK? iUI Framework iui.googlecode.com Navigation windows from JSON objects
    96. 96. iPhone in Action: Web Development or SDK? iUI Framework iui.googlecode.com Navigation windows from JSON objects Navigational objects using canvas UI tags for speed
    97. 97. iPhone in Action: Web Development or SDK? iUI Framework iui.googlecode.com Navigation windows from JSON objects Navigational objects using canvas UI tags for speed Handles phone rotation events
    98. 98. iPhone in Action: Web Development or SDK? iUI Framework iui.googlecode.com Navigation windows from JSON objects Navigational objects using canvas UI tags for speed Handles phone rotation events Supports XmlHttpRequest
    99. 99. iPhone in Action: Web Development or SDK? iUI Framework iui.googlecode.com Navigation windows from JSON objects Navigational objects using canvas UI tags for speed Handles phone rotation events Supports XmlHttpRequest A great iPhone user experience
    100. 100. iPhone in Action: Web Development or SDK? iUI Framework iui.googlecode.com Navigation windows from JSON objects Navigational objects using canvas UI tags for speed Handles phone rotation events Supports XmlHttpRequest A great iPhone user experience 1.8KB with gzip and Dojo shrinksafe
    101. 101. iPhone in Action: Web Development or SDK? iUI Framework iui.googlecode.com Navigation windows from JSON objects Navigational objects using canvas UI tags for speed Handles phone rotation events Supports XmlHttpRequest A great iPhone user experience 1.8KB with gzip and Dojo shrinksafe Moviesapp.com written in 5 hours...
    102. 102. iPhone in Action: Web Development or SDK? moviesapp.com using iUI
    103. 103. iPhone in Action: Web Development or SDK? SQLite Safari tinyurl.com/sqlitesafari
    104. 104. iPhone in Action: Web Development or SDK? DashCode
    105. 105. iPhone in Action: Web Development or SDK? Dashcode Development
    106. 106. iPhone in Action: Web Development or SDK? PhoneGap phonegap.com
    107. 107. iPhone in Action: Web Development or SDK? TouchCode (json,xml,rss,...) touchcode.googlecode.com
    108. 108. <mailto:ChristopherA@manning.com>
    1. A particular slide catching your eye?

      Clipping is a handy way to collect important slides you want to go back to later.

    ×