Академический Документы
Профессиональный Документы
Культура Документы
(The launch of Google’s foray into the mobile world was delayed by
the launch of the iPhone which radically changed consumers’
expectations of what a smartphone should do.)
Apple’s iPhone set the standard for the new generation of
smartphones when it was first released in June 2007 with its
touchscreen and direct manipulation interface. There was no
native SDK until February of 2008 (Apple initially planned to
provide no support for third-party apps).
The iOS lineage started with NeXTSTEP, an object-oriented
multitasking OS from the late eighties developed by NeXT
Computer (acquired by Apple in 1996). The world’s first web
browser was developed on NeXTSTEP and proved hugely
influential in the formative years of HTML.
The main programming language for iOS is Objective C.
Development is done through Xcode IDE which has an in-built
iOS simulator.
The second generation of the Windows Phone operating system uses
the same Metro interface but has an updated architecture based on
the Windows NT kernel (like Windows 8) rather than Windows CE
(which was used as the basis for Windows Phone 7).
You can develop for Windows Phone 8 only on a system running
Windows 8 – using Visual Studio 2012 as an IDE. You’re allowed to
choose between XAML, Direct3D or a mixture for building UIs; you
can write C#, Visual Basic apps on top of .Net; and you can use
C++ for native code.
Publication is less flexible. Apps need to be put through a review
process before being allowed into the store similar to iOS.
The low take up of Windows Phone makes this process seem rather
onerous.
Originally named BBX, BlackBerry 10 is based on the QNX microkernel
operating system whose parent company RIM acquired in 2010.
BlackBerry 10 uses a system of gestures and touches which is supposed to
make physical buttons unnecessary for core functions (e.g. a ‘back’ or
‘home’ button).
The OS also has an Android runtime layer so that Android apps can be
packaged and distributed on the BlackBerry platform. (The latest versions
even allow the direct download of apps via Google Play.)
Native application development utilises an API library in C and a Native
API in C/C++ though you can eschew C++ coding through the WebWorks
framework (HTML5 and JS), Adobe AIR or Java itself.
Again the publishing process is rather onerous: 10 business days are
required to approve your app.
It is of course possible to sidestep the issues that come with developing
native apps by instead developing web apps for use on mobile devices.
The advantage to developing web-based apps are clear: you immediately
solve the proliferation problem; you can ‘write once, run anywhere’; and
you can use common web-based languages like HTML5, CSS and
JavaScript.
Some frameworks allow you to build ‘hybrid’ apps which are not truly
native (since their layout rendering is done via web views) or totally web-
based (since they’re packaged for distribution and have access to native
APIs).
The disadvantages of hybrid apps are that you only get limited access to
the native functionality of the phone on which the app runs and that such
apps are usually slower than ‘pure’ native apps.
Phone Gap supports most major platforms (iOS, Android,
BlackBerry, Windows Phone, Palm WebOS, Bada and
Symbian) and allows developers to make use of native
hardware features like accelerometers, compasses and
cameras.
A cloud based compilation engine – PhoneGap Build –
generates compatible apps for all supported
platforms but rejection of PhoneGap-built apps by the
Apple App Store is still a frequent issue.
It’s based on Apache Cordova which also underpins the
aforementioned WebWorks.
iOS, Android, BlackBerry and Windows Phone apps
can all now be created via Appcelerator’s Titanium
framework.