PROGRAMMING FOR
MOBILE DEVICES
MOBILE COMPUTING
• What is mobile computing?
• Mobile computing is the ability to compute remotely while on the move. It is possible to
access information from anywhere and at anytime.
• The Mobile Computing Structure:
Mobile communication
Mobile hardware
Mobile Software
MOBILE COMMUNICATION
• Mobile communication in this case, refers to the infrastructure put in place to ensure that
seamless and reliable communication goes on.
• These would include devices such as protocols, services, bandwidth, and portals
necessary to facilitate and support the stated services.
• Since the media is unguided / unbounded, the overlaying infrastructure is basically radio
wave-oriented. That is, the signals are carried over the air to intended devices that are
capable of receiving and sending similar kinds of signals.
MOBILE HARDWARE
• Mobile hardware includes mobile devices or device components that receive or access the
service of mobility. They would range from portable laptops, smartphones, tablet Pc's,
Personal Digital Assistants.
• These devices will have a receptor medium that is capable of sensing and receiving
signals. These devices are configured to operate in full- duplex, whereby they are capable
of sending and receiving signals at the same time.
• They don't have to wait until one device has finished communicating for the other device
to initiate communications.
MOBILE SOFTWARE
• Mobile software is the actual program that runs on the mobile hardware. It deals with the
characteristics and requirements of mobile applications. This is the engine of the mobile
device.
• In other terms, it is the operating system of the appliance. It's the essential component that
operates the mobile device.
MOBILE COMPUTING OS
• A mobile operating system, also known as a mobile OS, a mobile platform, or a handheld operating system, is the operating system that
controls a mobile device or information appliance—similar in principle to an operating system such as Windows OS.
• However, they are currently somewhat simpler, and deal more with the wireless versions of broadband and local connectivity, mobile
multimedia formats, and different input methods.
• Mobile OS includes:
• Android OS: is a mobile operating system (OS) based on the Linux kernel and currently developed by Google.
• iOS (originally iPhone OS) is a mobile operating system created and developed by Apple Inc. and distributed exclusively for Apple
hardware.
• Windows Mobile: Developed and managed by Microsoft.
• Symbian OS: is a discontinued mobile OS. It was originally developed in 1998 by Symbian Ltd.
• Palm OS or Personal Digital Assistant (PDA)
• Mobile Linux:
MOBILE APPLICATION DEVELOPMENT
• A mobile app (or mobile application) is a software application developed specifically for use
on small, wireless computing devices, such as smartphones and tablets, rather than desktop or
laptop computers.
• Mobile application development is the process by which application software is developed for
small low-power handheld devices such as smartphones, personal digital assistants (PDAs),
enterprise digital assistants, or mobile phones.
• These applications are either pre-installed on phones during manufacture or downloaded by
customers from various mobile software distribution platforms.
• Mobile software is developed by using different platforms and programming languages based on
the target mobile device (e.g. Java, Kotlin, Objective-C, Swift, etc.)
TYPES OF MOBILE APPLICATIONS
1. Native Apps.
• Native apps are created for one specific platform or operating system.
• A native app developed for the iOS operating system won’t work on Android devices and vice-versa. If an app is
developed for iOS, it will remain exclusive to that operating system.
• Software used to develop native apps generally would be Objective-C, Swift, Java, Kotlin, Python, C++, and
React.
• Pros: Faster and more reliable in terms of performance. Can access device features. Native apps utilize the native
device UI, giving users a more optimized customer experience.
• Cons: The code you create for one platform cannot be reused on another. The effort needed to maintain and
update the codebase for each version.
TYPES OF MOBILE APPLICATIONS…
2. Mobile web apps
• Web apps behave similarly to native apps but are accessed via a web browser on your mobile device.
• They’re not standalone apps in the sense of having to download and install code into your device. They’re
actually responsive websites that adapt its user interface to the device the user is on. In fact, when you
come across the option to “install” a web app, it often simply bookmarks the website URL on your device.
• Web apps are designed using HTML5, CSS, JavaScript, Ruby, and similar programming languages used
for web work.
• Pros: Can perform on all devices, Easy to maintain, and users don’t run out of storage.
• Cons: Dependent on a browser, Needs an internet connection, may not always integrate with device
hardware.
TYPES OF MOBILE APPLICATIONS…
3. Hybrid Apps
• Hybrid apps are a mixture of both native and mobile web apps. This type of application has cross-platform
compatibility but can still access various features of the device they’re installed on.
• These are web apps that look and feel like native apps. They might have a home screen app icon,
responsive design, fast performance, and even be able to function offline, but they’re really web apps made
to look native.
• Hybrid apps use a mixture of web technologies and native APIs. They’re developed using: Ionic, Objective
C, Swift, HTML5, CSS, JavaScript, jQuery, Mobile JavaScript frameworks, etc.
• Pros: Building a hybrid app is much quicker and more economical than a native app. Load quickly, and
Less code to maintain.
• Cons: Hybrid apps might lack in power and speed, which are hallmarks of native apps.