You are on page 1of 10

UNITY UNIVERSITY

Department of computer science

CHAPTER TWO

Mobile Computing Platform and Technologies

Cross-platform application development Michael e. Page 1


CHAPTER TWO
Objectives

At the end of the chapter the students will be able to:

• Know mobile computing platform

• Distinguish mobile, hybrid and native mobile application

• Understand the concepts on develop, deploying and compiling mobile web application

Mobile Computing Platform and Application

• In 1991, Mark Weiser envisioned the next-generation computer technologies that "weave themselves
into the fabric of everyday life until they are indistinguishable from it."

• He described a ubiquitous computing environment that enhances the environment by making many
computers available throughout the physical realm, while making them effectively invisible to the user.
• The aim of ubiquitous computing is to create a new relationship between people and computers in
which the computers are kept out of the way of users as they go about their lives.

What is a mobile app?


• A mobile app is a computer program designed to run on smartphones, tablet computers and other
mobile devices • Typically operated by the owner of the mobile operating system, such as the Apple App
Store, Google Play, Windows Phone Store, and BlackBerry App World. Some apps are free, while others
must be bought

• Mobile apps were originally offered for general productivity and information retrieval, including email,
calendar, contacts, stock market and weather information. • However, public demand and the
availability of developer tools drove rapid expansion into other categories, such as those handled by
desktop application software packages.

Mobile Apps Development


• Developing apps for mobile devices requires considering the constraints and features of these devices.
• Developers also have to consider a wide array of screen sizes, hardware specifications and
configurations because of intense competition in mobile software and changes within each of the
platforms.

• Mobile user interface (UI) Design is also an essential in the creation of mobile apps. Mobile UI
considers constraints and contexts, screen, input and mobility as outlines for design. • Mobile UI design
constraints include limited attention and form factors, such as a mobile device's screen size for a user's
hand.

Cross-platform application development Michael e. Page 2


• Mobile UIs, or front-ends, rely on mobile backends to support access to enterprise systems • This
functionality is supported by a mix of middleware components including mobile app servers, Mobile
Backend as a service (MBaaS), and Service-Oriented Architecture (SOA) infrastructure.

Type of Mobile Apps: Native Apps, Web Apps, and Hybrid Apps There are three types of mobile app: 1.
Native Apps 2. Web Apps, 3. Hybrid Apps

The native app


• It must be installed on the device; they either arrive pre-installed on the phone – these might include
address book, calendar, calculator, games, maps and Web browser. • They are developed specifically for
one platform, and can take full advantage of all the device features — they can use the camera, the GPS,
the accelerometer, the compass, the list of contacts, and so on.

Web app
• The Web app resides on server and is accessed via the Internet. It performs specified tasks –
potentially all the same ones as a native application – for the mobile user, usually by downloading part
of the application to the device for local processing each time it is used. • .The software is written as
Web pages in HTML and CSS, with the interactive parts in Java.

• Web apps are not real applications; they are really websites that, in many ways, look and feel like
native applications, but are not implemented as such. They are run by a browser and typically written in
HTML5. • Today, as more and more sites use HTML5, the distinction between web apps and regular web
pages has become blurry. Its web app is, in many ways, hard to distinguish from a native app

Hybrid apps
• Hybrid apps are part native apps, part web apps • Like web apps,
they rely on HTML being rendered in a browser, with the caveat
that the browser is embedded within the app. • Hybrid apps are
also popular because they allow cross-platform development and
thus significantly reduce development costs

Architecture of Mobile Devices

• The architecture of a mobile device is similar to that of a


computer system. It has custom built hardware, firmware, and
operating systems.

Cross-platform application development Michael e. Page 3


These three items are mostly proprietary and are engineered, developed, and assembled under one
flagship organization most widely used mobile operating systems are:

• Android

• IOS • BlackBerry

• Windows

Native, Web App, or Hybrid: Which Should You Choose?

• A. Device features. Although web apps can take advantage of some features, native apps (and the
native components of the hybrid apps) have access to the full paraphernalia of device-specific features,
including GPS, camera, gestures, and notifications

Native, Web App, or Hybrid: Which Should You Choose?

• B. Discoverability. Web apps win the prize on discoverability. Content is a lot more discoverable on
the web than in an app: When people have a question or information need, they go to a search engine,
type in their query, and choose a page from the search results. They do not go to the app store, search
for an app, download it, and then try to find their answer within the app

Native, Web App, or Hybrid: Which Should You Choose?

• C. Speed. Native apps win the speed competition. In 2012 Mark Zuckerberg declared that Facebook’s
biggest mistake had been betting on the mobile web and not going native. Up to that point, the
Facebook app had been a hybrid app with an HTML core; in 2012 it was replaced with a truly native app.

Native, Web App, or Hybrid: Which Should You Choose?

• D. Installation. Installing a native or hybrid app is a hassle for users: They need to be really motivated
to justify the effort. “Installing” a web app involves creating a bookmark on the home screen; this
process, while arguably simpler than downloading a new app from an app store, is less familiar to users,
as people don’t use bookmarks that much on mobile.

Native, Web App, or Hybrid: Which Should You Choose?

• E. Maintenance. Maintaining a native app can be complicated not only for users, but also for
developers (especially if they have to deal with multiple versions of the same information on different
platforms): Changes have to be packaged in a new version and placed in the app store. • On the other

Cross-platform application development Michael e. Page 4


hand, maintaining a web app or a hybrid app is as simple as maintaining a web page, and it can be done
as often or as frequently as needed.

Native, Web App, or Hybrid: Which Should You Choose?

• F. Platform independence. While different browsers may support different versions of HTML5, if
platform independence is important, you definitely have a better chance of achie ving it with web apps
and hybrid apps than with native apps. As discussed before, at least parts of the code can be reused
when creating hybrid or web apps.

Native, Web App, or Hybrid: Which Should You Choose?

• G. Content restrictions, approval process, and fees. Dealing with a third party that imposes rules on
your content and design can be taxing both in terms of time and money. Native and hybrid apps must
pass approval processes and content restrictions imposed by app stores, whereas the web is free fo r all.

Native, Web App, or Hybrid: Which Should You Choose?

• H. Development cost. It’s arguably cheaper to develop hybrid and web apps, as these require skills
that build up on previous experience with the web. NN/g clients often find that going fully native is a lot
more expensive, as it requires more specialized talent. But, on the other hand, HTML5 is fairly new, and
good knowledge of it, as well as a good understanding of developing for the mobile web and hybrid apps
are also fairly advanced skills.

Native, Web App, or Hybrid: Which Should You Choose?

• I. User Interface. Last but not least, if one of your priorities is providing a user experience that is
consistent with the operating system and with the majority of the other apps available on that platform,
then native apps are the way to go. That doesn’t mean that you cannot provide a good user experience
with a web app or a hybrid app–it just means that the graphics and the visuals will not be exactly the
same as those with which users may be already accustomed.

Cross-Platform Mobile Web Development Tools

• Below are some tools and technologies for developing cross-platform mobile web application (native,
web and hybrid)

1. HTML5, CSS, java script and Jquery Mobile

• If you’re no stranger to HTML5, CSS3 and JavaScript, then Sencha Touch 2 and Adobe Dreamweaer
may be a great choice for creating mobile apps on iPhone, Android and Blackberry. • Now, with the
PhoneGap plugin and basic knowledge of HTML, CSS, and JavaScript, you can create apps for iOS and
Android devices. Both Platform support: iOS, Android, Windows Phone

2. Cloud Based: Appery.io

Cross-platform application development Michael e. Page 5


• The platfrom is described as a “cloud-based HTML5, jQuery Mobile and Hybrid Mobile App Builder.”
It’s very easy to use and builds real cross platform HTML5 applications using jQuery Mobile. You can add
standard buttons, menus, video, maps and other elements to your mobile app and then bind events and
corresponding actions to them. It is a DIY app-creation platform for building robust, native apps for iOS
and Android — no coding required.

3. PhoneGap

• It is a free, open source software that serves as a bridge between individual mobile OS SDKs, which
have their own programming languages and standard development practices.Using PhoneGap, you can
support multiple mobile device operating systems easier. You can create a mobile app using HTML5,
CSS3 and JavaScript, and then use PhoneGap to package your work for specific mobile operating
systems.

4. Java

• Java is a popular programming for embedded devices, web systems and mobile apps. It is the primary
programming languages for android mobile apps development. Common IDE are Eclipse and Android
Studio in conjunction with android SDK.

5. Objective-C (XCODE)

• –This is primary programming language in developing an ios mobile apps. It only runs and implements
on apple computer and mac os x.

Cross-platform application development Michael e. Page 6


What is cloud computing?
Simply put, cloud computing is the delivery of computing services —including servers, storage,
databases, networking, software, analytics, and intelligence—over the Internet (“the cloud”) to
offer faster innovation, flexible resources, and economies of scale. You typically pay only for
cloud services you use, helping you lower your operating costs, run your infrastructure more
efficiently, and scale as your business needs change.

Top benefits of cloud computing


Cloud computing is a big shift from the traditional way businesses think about IT resources.
Here are seven common reasons organizations are turning to cloud computing services:

Cost

Cloud computing eliminates the capital expense of buying hardware and software and setting
up and running on-site datacenters—the racks of servers, the round-the-clock electricity for
power and cooling, and the IT experts for managing the infrastructure. It adds up fast.

Speed

Most cloud computing services are provided self service and on demand, so even vast amounts
of computing resources can be provisioned in minutes, typically with just a few mouse clicks,
giving businesses a lot of flexibility and taking the pressure off capacity planning.

Global scale

The benefits of cloud computing services include the ability to scale elastically. In cloud speak,
that means delivering the right amount of IT resources —for example, more or less computing
power, storage, bandwidth—right when they’re needed, and from the right geographic
location.

Productivity

On-site datacenters typically require a lot of “racking and stacking”—hardware setup, software
patching, and other time-consuming IT management chores. Cloud computing removes the
need for many of these tasks, so IT teams can spend time on achieving more important
business goals.

Cross-platform application development Michael e. Page 7


Performance

The biggest cloud computing services run on a worldwide network of secure datacenters, which
are regularly upgraded to the latest generation of fast and efficient computing hardware. This
offers several benefits over a single corporate datacenter, including reduced network latency
for applications and greater economies of scale.

Reliability

Cloud computing makes data backup, disaster recovery, and business continuity easier and less
expensive because data can be mirrored at multiple redundant sites on the cloud provider’s
network.

Security

Many cloud providers offer a broad set of policies, technologies, and controls that strengthen
your security posture overall, helping protect your data, apps, and infrastructure from potential
threats.

Types of cloud computing


Not all clouds are the same and not one type of cloud computing is right for everyone. Several
different models, types, and services have evolved to help offer the right solution for your
needs.

First, you need to determine the type of cloud deployment, or cloud computing architecture,
that your cloud services will be implemented on. There are three different ways to deploy cloud
services: on a public cloud, private cloud, or hybrid cloud. Learn more about public, private, and
hybrid clouds.

Public cloud

Public clouds are owned and operated by a third-party cloud service providers, which deliver
their computing resources, like servers and storage, over the Internet. Microsoft Azure is an
example of a public cloud. With a public cloud, all hardware, software, and other supporting
infrastructure is owned and managed by the cloud provider. You access these services and
manage your account using a web browser. Learn more about the public cloud.

Private cloud

A private cloud refers to cloud computing resources used exclusively by a single business or
organization. A private cloud can be physically located on the company’s on-site datacenter.
Some companies also pay third-party service providers to host their private cloud. A private

Cross-platform application development Michael e. Page 8


cloud is one in which the services and infrastructure are maintained on a private network. Learn
more about the private cloud.

Hybrid cloud

Hybrid clouds combine public and private clouds, bound together by technology that allows
data and applications to be shared between them. By allowing data and applications to move
between private and public clouds, a hybrid cloud gives your business greater flexibility, more
deployment options, and helps optimize your existing infrastructure, security, and compliance.
Learn more about the hybrid cloud.

Types of cloud services: IaaS, PaaS, serverless, and SaaS

Most cloud computing services fall into four broad categories: infrastructure as a service (IaaS),
platform as a service (PaaS), serverless, and software as a service (SaaS). These are sometimes
called the cloud computing "stack" because they build on top of one another. Knowing what
they are and how they’re different makes it easier to accomplish your business goals.

Infrastructure as a service (IaaS)

The most basic category of cloud computing services. With IaaS, you rent IT infrastructure—
servers and virtual machines (VMs), storage, networks, operating systems —from a cloud
provider on a pay-as-you-go basis.

Platform as a service (PaaS)

Platform as a service refers to cloud computing services that supply an on-demand


environment for developing, testing, delivering, and managing software applications. PaaS is
designed to make it easier for developers to quickly create web or mobile apps, without
worrying about setting up or managing the underlying infrastructure of servers, storage,
network, and databases needed for development.

Serverless computing

Overlapping with PaaS, serverless computing focuses on building app functionality without
spending time continually managing the servers and infrastructure required to do so. The cloud
provider handles the setup, capacity planning, and server management for you. Serverless
architectures are highly scalable and event-driven, only using resources when a specific
function or trigger occurs.

Cross-platform application development Michael e. Page 9


Software as a service (SaaS)

Software as a service is a method for delivering software applications over the Internet, on
demand and typically on a subscription basis. With SaaS, cloud providers host and manage the
software application and underlying infrastructure, and handle any maintenance, like software
upgrades and security patching. Users connect to the application over the Internet, usua lly with
a web browser on their phone, tablet, or PC.

References:

• *1+ Valentino Lee, Heather Schneider, and Robbie Schell, Mobile Applications: Architecture, Design,
and Development, Prentice Hall, 2004.

• *2+ Bill Phillips, Chris Stewart, Brian Hardy, and Kristin Marsicano, Android Programming: The Big Nerd
Ranch Guide, Big Nerd Ranch LLC, 3rd edition, 2017.

• *3+ Murphy, Mark (2013). Android Programming Tutorials. Commonware Books

• *4+ Ghatol R. and Patel Y. (2012). Beginning PhoneGap: Mobile Web Framework for JavaScript and
HTML5. Apress

Cross-platform application development Michael e. Page 10

You might also like