Operating Systems which are
used in mobile Application Development
Android
§ open platform
§ can compile
custom firmwares - good for hackers and other
§ good framework,
extended on each new firmware
§ supports
multitasking
§ nice IDE -
Eclipse, NetBeans
§ development SDK
is free
§ easy to debug,
can send logs to developers
§ programming
language is Java but bridges from other languages exist (C# .net - Mono, etc)
§ Java is a
high level language that appeared in 1995. Android supports Java 1.5 and
translates the byte code to its own custom Dalvik byte code optimized for
mobile devices.
§ for the hardcore
programmers, Android offers the possibility of programming in C using the
native dev kit NDK
§ can run script
languages like LUA, Perl, Python, etc
§ can install third
party applications from sdcard, random sites - not locked to a specific market
§ applications can
hook and override everything - email interface, SMS sending, custom keyboards,
etc
§ supports widgets
§ can publish
applications on the Android market instantly - initial one time registration
fee is 25E
§
user has access to the sdcard and can use it
as a USB disk.
Symbian OS
§ Designed
by Symbian Ltd. , acquired by Nokia in 2008
§ Was
made Open Source in 2010
§ Supports
pre-emptive multitasking and memory protection
§ Application
development can be done using Symbian C++
§ Supports
Java ME
§ Devices
:N8 , Nokia 5800
Palm OS
§ Developed by Palm
Inc.
§ Applications are
developed in C/C++
§ Development tool
: Code Warrior
§ Devices :
§ Treo 300
§ Samsung SPH-i550
iPhone
§ closed platform
§ no multitasking
except for some Apple applications. multitasking is probably going to be
introduced in the next vertion of the iPhone, the iPhone 4
§ development kit
costs ~90E
§ programming
language is Objective C - but bridges exist from Java, C#, etc
§ Objective
C appeared in 1986
§ next version of
iPhone is supposed to only allow Objective C code, this means the bridges are
out and you must program
in Objective C if you want to create an iPhone application
§ applications are
not allowed to duplicate the iPhone functionality - ie no custom email
interface, etc
§ does not support
widgets - unless the phone is jail broken
§ user does not
have access to the sdcard - user can only do synchronization via internet or
LAN
§ third party
applications can only be installed from the Apple store. For testing the
applications, developers can use Ad Hoc publishing
§ publishing on the
store is a very lengthy and tiresome process. Apple has many and bizarre rules.
Many applications were rejected for strange reasons.
§ no Adobe Flash
support
Nokia
§ opened Symbian
and says the future will be QT and WRT - they will cut support to any
other environment including J2ME
§ QT is a framework
that adds a layer of abstraction over gui, network, gps, etc.
§ QT is cross
platform and cross programming language - C++, C#, Java, etc. the licenses are
GPL and LGPL.
§ QT runs on Maemo,
MeeGo, BlackBerry, Symbian, Android, iPhone, Windows Mobile, desktop PC,
consumer electronics, car entertainment, etc
§ WRT - web runtime
- a cool feature that allows users to write applications in HTML, JS and CS.
You build the app like a normal web page, and you interact with the phone
platform/hardware using the WRT bridge.
No need to learn any other technology. Just HTML, JS and CS. Very important: JS can call native code, but also the other way around. It seems you can call WRT JS with native code.
No need to learn any other technology. Just HTML, JS and CS. Very important: JS can call native code, but also the other way around. It seems you can call WRT JS with native code.
§ supports widgets
§ supports Adobe
Flash Lite
BlackBerry
§ as it is now, the
programming environment is Java native and J2ME - not worth mentioning since
they will probably be extinct pretty soon
§ no Adobe Flash
support yet. Probably will be available in Q2 of this year.
Windows Mobile 6.x
§ native C, C# with
PInvoke - not worth mentioning since MS released WM7 and broke compatibility
with 6.5
Windows Mobile 7
§ closed platform
§ MS breaks compatibility
with WM 6.x - this is very bad
§ Programming
environment is Silverlight and XNA.
§ no native
programming ie no hooking and overriding keyboard, etc - they removed PInvoke
§ nice IDE - Visual
Studio 2010
§ does not support
multitasking for third party applications
§ third party
applications can only be installed from the MS marketplace
No comments:
Post a Comment