12
Solutions for higher performance! Fundamentals of Mobile App Development Technology

Fundamentals of Mobile App Development Technology

Embed Size (px)

DESCRIPTION

The recent explosion in the popularity of apps has seen more and more people set out to develop their own, and the technology behind them has changed as a result. The big technology companies which easily dominated the market in years past have had to become more competitive in order to keep up sales, while people with limited technical skills have sought out simple design modules to enable them to develop their ideas. Mobile application development is a term used to denote the act or process by which application software is developed for handheld devices, such as personal digital assistants, enterprise digital assistants or mobile phones. These applications can be pre-installed on phones during manufacturing platforms, or delivered as web applications using server-side or client-side processing (e.g. JavaScript) to provide an "application-like" experience within a Web browser.

Citation preview

Page 1: Fundamentals of Mobile App Development Technology

Solutions for higher performance!

Fundamentals of Mobile App Development Technology

Page 2: Fundamentals of Mobile App Development Technology

Introduction

The recent explosion in the popularity of apps has seen more and more people set out to develop their

own, and the technology behind them has changed as a result. The big technology companies which easily

dominated the market in years past have had to become more competitive in order to keep up sales, while

people with limited technical skills have sought out simple design modules to enable them to develop their ideas.

Mobile application development is a term used to denote the act or process by which application software is

developed for handheld devices, such as personal digital assistants, enterprise digital assistants or mobile

phones.

These applications can be pre-installed on phones during manufacturing platforms, or delivered as web

applications using server-side or client-side processing (e.g. JavaScript) to provide an "application-like"

experience within a Web browser.

Application software developers also have to consider a lengthy array of screen sizes, hardware specifications

and configurations because of intense competition in mobile software and changes within each of the

platforms. Mobile app development has been steadily growing, both in terms of revenues and jobs created. A

2013 analyst report estimates there are 529,000 direct App Economy jobs within the EU 28 members, 60% of

which are mobile app developers.11

Page 3: Fundamentals of Mobile App Development Technology

As part of the development process, Mobile User Interface (UI) Design is also an essential in the creation of

mobile apps. Mobile UI considers constraints & contexts, screen, input and mobility as outlines for design. The

user is often the focus of interaction with their device, and the interface entails components of both hardware

and software. User input allows for the users to manipulate a system, and device's output allows the system to

indicate the effects of the users' manipulation.

Mobile UI design constraints include limited attention and form factors, such as a mobile device's screen size

for a user's hand(s). Mobile UI contexts signal cues from user activity, such as location and scheduling that can

be shown from user interactions within a mobile application. Overall, mobile UI design's goal is primarily for an

understandable, user-friendly interface. The UI of mobile apps should: consider users' limited attention,

minimize keystrokes, and be task-oriented with a minimum set of functions. This functionality is supported by

Mobile enterprise application platforms or Integrated development environments (IDEs).

Mobile UIs, or front-ends, rely on mobile back-ends to support access to enterprise systems. The mobile

back-end facilitates data routing, security, authentication, authorization, working off-line, and service

orchestration. This functionality is supported by a mix of middleware components including mobile app servers,

Mobile Backend as a service (MBaaS), and SOA infrastructure.2

Page 4: Fundamentals of Mobile App Development Technology

Platform

Front-end development tools

The platform organizations need to develop, deploy and manage mobile apps is made from many components,

and tools allow a developers to write, test and deploy applications into the target platform environment.

Front-end development tools are focused on the user interface and user experience (UI/UX) and provide the

following capabilities

UI design tools

SDKs to access device features

Cross-platform accommodations/support

3

Page 5: Fundamentals of Mobile App Development Technology

Back-end servers

Back-end tools pick up where the front-end tools leave off, and provide a set of reusable services that are

centrally managed and controlled and provide the following capabilities

Integration with back-end systems

User authentication/authorization

Data services

Reusable business logic

4

Page 6: Fundamentals of Mobile App Development Technology

Security add-on layers

With BYOD becoming the norm within more enterprises, IT departments often need stop-gap, tactical solutions

that layer on top of existing apps, phones, and platform component. Features include

App wrapping for security

Data encryption

Client actions

Reporting and statistics

5

Page 7: Fundamentals of Mobile App Development Technology

Types of Mobile Applications

Native Mobile App

A native mobile app is a smartphone application that is coded in a specific programming language, such as

Objective C for iOS and Java for Android operating systems. Native mobile apps provide fast performance and a

high degree of reliability.

Hybrid Mobile App

A hybrid application (hybrid app) is one that combines elements of both native and Web applications. Native

applications are developed for a specific platform and installed on a computing device. Web applications are

generalized for multiple platforms and not installed locally but made available over the Internet through a

browser. Hybrid apps are often mentioned in the context of mobile computing.

They also have access to a phone's various devices, such as its camera and address book. In addition, users

can use some apps without an Internet connection. However, this type of app is expensive to develop because it

is tied to one type of operating system, forcing the company that creates the app to make duplicate versions

that work on other platforms.

6

Page 8: Fundamentals of Mobile App Development Technology

Web applications

There are actually three types of web apps: traditional, responsive and adaptive. Traditional web apps include

any website. But what are responsive and adaptive web apps? A responsive web app takes on a different

design when it’s opened on a mobile device (i.e. phone or tablet), altering its design to suit the device it is

viewed on. An adaptive web app, in contrast, doesn’t change its design. It will display the same design, but will

adjust it to fit the different screen size of a mobile device.

The biggest benefit of web apps is that they are built using the most popular programming languages—so

developer talent is readily available. However, a responsive web app has two principal drawbacks

It can’t use any hardware on a device (i.e. an iPhone’s camera).

Its “discoverability” will be reduced because it won’t be in any app stores.

7

Page 9: Fundamentals of Mobile App Development Technology

Getting to the root of Mobile App Development

App developer kits

As high end app design has grown more sophisticated, the other end of the market has become simpler and

easier for anyone to access. Although it’s still useful to be familiar with C++, Ruby or Javascript if you want to

do anything complex, developer kits provided by the likes of Apple and Android make it possible to develop

native apps with relatively little coding experience. This puts the focus on ideas and ensures consumer demand

can be more easily met.

Apps and the web

One consequence of apps being developed in this manner is that few of them function on a standalone basis;

instead, they tend to draw on other resources from the web. Now the distinction between apps and websites is

increasingly blurring, with web-app type sites providing a more practical interface. This is putting pressure on

the mobile app.

8

Page 10: Fundamentals of Mobile App Development Technology

Interconnected apps

The problem with the traditional mobile app stems from its popularity. Because they’re so useful, many of us

have dozens, if not hundreds, of favorites, and managing them all is getting difficult. Rather than trying to make

them all immediately clickable on a small screen, it’s getting easier to access search resources, at which point

there seems less point in downloading apps in the first place.

This is why top mobile app development teams are now investigating ways to get apps to talk to each other.

Using app extensions can enable them to do so without compromising on security, and there’s also the option

of using widgets to let them share resources so that, for instance, an app providing maps could let you buy

related guidebooks from another app with minimal clicking.

9

Page 11: Fundamentals of Mobile App Development Technology

What does the Future hold?

According to Business Insider: "But apps are very clearly not going to be around forever. Certainly not in their

current, bulky square form. There isn't enough mobile homepage real estate for the web's 500 million plus

active websites to each have its own app and for everyone to download them.

Mobile apps are popular right now because mobile search is terrible and they lay out content in a small

-screen-friendly way. If apps do stick around, they may transform more into bookmarks, where people only

have a few favorites on their home screens, and all other mobile content can be accessed some other

way."(With Inputs from the Web)

10

Page 12: Fundamentals of Mobile App Development Technology

About Orchestrate

Orchestrate is a US based business process management organization with Headquarters in Dallas, Texas.

Orchestrate offers services to the diverse outsourcing requirements of clients in an extensive range of

businesses including IT, finance, mortgage and contact center. We provide a comprehensive suite of technology

and services to our clients that help accelerate sales and boost their profit. Our solutions and services help

SMEs and enterprises implement technologies and processes that boost their profitability across the

organization.

Solutions for higher performance!

1330 Capital Parkway, Carrollton TX 75006

[email protected] Free: 800-232-5130

www.orchestrate.com

Orchestrate © 2015. All rights reserved.