Mobile App Development 1 Flashcards

1
Q

the process of creating software applications that run on a mobile device, and a typical mobile application utilizes a network connection to work with remote computing resources

A

Mobile application

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

Device Platforms

A

iOS – Apple Inc.
Android - Google

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

four major development approaches

A
  1. Native Mobile Applications
  2. Cross-Platform Mobile Applications
  3. Hybrid Mobile Applications
  4. Progressive Web Applications
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

When choosing the right development approach for their projects, developers consider

A
  1. desired user experience
  2. the computing resources and native features required by the app
  3. the development budget
  4. time targets
  5. resources available to maintain the app.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

written in programming language and frameworks provided by the platform owner and running directly on the operating system of the device

A

native applications

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

native applications pros

A
  • best runtime performance
  • direct access to api
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

native applications cons

A
  • higher costs when building and maintaining app
  • multiple code-bases for each platform
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

can be written in variety of different programming languages and frameworks but they are compiled into a native application running directly on the operating system

A

cross-platform applications

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

cross-platform applications pros

A
  • single code base for multiple platforms
  • easy to build and maintain the app
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

cross-platform applications cons

A
  • dependents on bridges and libraries for native deivce features
  • performance limitations due to bridging
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q
  • built with standard web technologies such as JS, CSS, HTML5 and they are bundled as app installation packages.
  • work on a web container which provides a browser runtime and a bridge for native device APIs via Apache
A

hybrid web application

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

hybrid web application pros

A
  • shared code base between web and mobile apps
  • using web development skillset for building mobile apps
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

hybrid web application cons

A
  • lower perfomance comapred to native apps
  • limited support for native device features
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q
  • offer an alternative approach by skipping app store delivery and app installations
  • utilize a set of browser capabilities such as working offline, running background process, and adding link to the device home screen to provide an app like user experience
A

progressive web development

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

progressive web development pros

A
  • same app is available both for web and mobile
  • no installation required, accessible through url
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

progressive web development cons

A
  • limited support for native device features
  • app capabilities depend on the browser in use
17
Q

how does native apps differ to hybrid apps

A
  1. platform specific
  2. compiled language
  3. access to device hardware
  4. platform frameworks
18
Q

how does hybrid apps differ to native apps

A
  1. cross platform
  2. scripting/compiled
  3. plugins/native modules
  4. web frameworks
19
Q

Why Choose the Hybrid/Cross-platform Approach?

A

One problem with native mobile application development is that it requires a highly specialized skill set. Although there are large and vibrant developer communities for C and Java – the language families that are mostly used for native development –, there are fewer developers who are knowledgeable in platform-specific versions of those languages and their respective IDEs.

20
Q

How Hybrid and Cross-platform Frameworks Work?

A
  • Hybrid apps leverage web technologies like HTML5/CSS/JavaScript, encapsulating them in a container for native-like functionality on devices. This approach enables quick mobile app development, utilizing existing web code. With improving mobile browser performance, hybrid development is a viable choice for web developers.
  • Progressive Web Apps (PWAs) use traditional web technologies and are accessed through browsers. They provide a responsive and app-like experience, merging the benefits of web and mobile app development.
  • Cross-platform frameworks like React Native and NativeScript offer native components for cross-platform code, while Flutter and Xamarin compile code to native, optimizing performance. Each framework caters to different development preferences and goals.
21
Q

There are two interlinked core components of a mobile application

A
  1. the mobile application “Front-End” that resides on the mobile device
  2. “Back-End” that supports the mobile front-end.
22
Q

mobile application cycle

A

develop
test
release
monitor
analyze

23
Q

cloud backend cycle

A

deploy
test
develop
analyze
monitor

24
Q

How Front-end ‘Talks’ to the Back-end?

A

The mobile front-end obtains the data from the back-end via a variety of service calls such as APIs.

25
Q

Why Developers Use a Cloud-backend?

A

Most mobile app developers may not be experts in setting up and managing the backend (the server-side) of their apps. To simplify their work, they often use backend-as-a-service providers. These services take care of the technical backend details like scalability and security, letting developers concentrate on building the actual features of their app without worrying about the complicated backend stuff. It’s like having someone else handle the tough behind-the-scenes work so developers can focus on making their app work well.

26
Q

How Mobile Aps Integrate with the Backend?

A

These back-end services are typically accessed through a variety of application programming interfaces, most commonly known as APIs

27
Q

Key Mobile Application Services

A
  1. Essential services
  2. data services
  3. machine learning
28
Q

essential services

A
  1. user sign-in/sign-up and management
  2. social login
  3. analytics and user engagement
  4. push notifications
  5. real device testing
29
Q

machine learning services

A
  1. conversational bots
  2. image and video recognition
  3. speech recognition
30
Q

data service

A
  • cloud storage
  • reatime and offline data
  • cloud function