Datasheet

6
CHAPTER 1 INTRODUCTION TO IPHONE DEVELOPMENT WITH MONOTOUCH FOR C# DEVELOPERS
e-mail, and multimedia capabilities. The fi rst-generation iPhone connected to a wireless network
and applications were delivered to the user over the mobile version of Safari.
Writing a web-based application for the iPhone is fairly simple. The Safari web browser is a great
tool — it does an excellent job of scaling web-based applications to run an iPhone-sized screen. It
also does well running applications that are highly dependent on JavaScript. Upgrading an iPhone
web-based application is also a simple matter of deploying a new version of the application to a web
server. Many applications have taken this approach.
Unfortunately, web applications are not suitable for all applications — applica-
tions that require some background processing, access to local resources, must
work when a network connection is unavailable, and some other application
types don’t work well in this model.
So, the question becomes how does one write an application that fi ts into the iPhone?
The fi rst-generation iPhone did not have support for users to load applications on the device. For a
few users, this was not acceptable, and they began jailbreaking their iPhones, which is the process
where users run software on their devices that Apple has not approved.
Jailbreaking has several problems:
Technical Issues:
Jailbreaking requires the iPhone’s owner to perform the operation, and
many iPhone users are not technically profi cient enough to do this.
Legality:
The legality of jailbreaking is unclear at the time of this writing. It is not clear
where jailbreaking falls within the Digital Millennium Copyright Act. The Electronic Frontier
Foundation has asked the United States Copyright Offi ce to recognize an exception to the
DMCA that allows iPhone owners to jailbreak their devices. Apple has argued in response
that jailbreaking an iPhone is a copyright violation.
Unknowns:
It comes with a series of unknowns. How well can a jailbroken iPhone be
upgraded to new versions of the iPhone operating system (OS)? Will jailbreaking an iPhone
open it up to security issues?
In 2008, Apple introduced the second generation of the iPhone, referred to as the iPhone 3G. With this
generation and the new version of the iPhone OS, Apple released a number of enhancements, including
the ability to run applications natively on the device. In addition to this, Apple has put together an eco-
system whereby users can fi nd and install applications on their iPhone device called the App Store.
These native applications are a great improvement over web-based applications, which are limited in
what they can do on a device. Fundamentally, they have to be loaded over the Web and are not able
to access all device features. Native applications tend to have more support for device features like
the accelerometer, fi le system, camera, cross-domain web services, and other features that are out-
side of features available in HTML and JavaScript. In addition, native applications do not depend
on the wireless network to be loaded, whereas a web application is dependent on the wireless net-
work for loading.
637821c01.indd 6637821c01.indd 6 5/27/10 5:29:36 PM5/27/10 5:29:36 PM