JS - Mobile - CL1 Flashcards

1
Q

Mobile apps types

A

Native Apps
Native apps live on the device and are accessed through icons on the device home screen. Native apps are installed through an application store (such as Google Play or Apple’s App Store). 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. They can also incorporate gestures (either standard operating-system gestures or new, app-defined gestures). And native apps can use the device’s notification system and can work offline.

Mobile Web Apps
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. Users first access them as they would access any web page: they navigate to a special URL and then have the option of “installing” them on their home screen by creating a bookmark to that page. There are all features that are available in HTML5. Also available are the GPS, the tap-to-call feature, and, there is talk about a camera API, although I haven’t seen any web app (or web page) that takes advantage of it so far. There are, however, native features that remain inaccessible (at least from now) in the browser: the notifications, running in the background, accelerometer information (other than detecting landscape or portrait orientations), complex gestures.

Hybrid apps
Hybrid apps are part native apps, part web apps. (Because of that, many people incorrectly call them “web apps”). Like native apps, they live in an app store and can take advantage of the many device features available. Like web apps, they rely on HTML being rendered in a browser, with the caveat that the browser is embedded within the app. Often, companies build hybrid apps as wrappers for an existing web page; in that way, they hope to get a presence in the app store, without spending significant effort for developing a different app. Hybrid apps are also popular because they allow crossplatform development and thus significantly reduce development costs: that is, the same HTML code components can be reused on different mobile operating systems. Tools such as PhoneGap and Sencha Touch allow people to design and code across platforms, using the power of HTML.

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

WebView concept

A

A “webview” is a browser bundled inside of a mobile application producing what is called a hybrid app. Using a webview allows mobile apps to be built using Web technologies (HTML, JavaScript, CSS, etc.) but still package it as a native app and put it in the app store. In addition to allowing devs to work with familiar technologies, other advantages of building a hybrid app include greater code reuse across the app and the website, and easier support for multiple mobile platforms.

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

Main concept of hybrid applications

A

Hybrid Apps
Hybrid apps essentially aim to combine the pros of Responsive and Native apps.
A Hybrid app is built using standard technologies (HTML, CSS and JavaScript) like a responsive app but is delivered inside of a native app web view. This makes it accessible to various native platforms while making it feel like it’s native to the device, all while allowing for a single codebase and no need for additional proficiency.

Minimum technology needed (note the similarity to responsive apps)
HTML 5
CSS 3
JavaScript
Optional framework (predefined HTML, CSS and JavaScript geared towards responsive/native-like behavior)

Pros
Built on standard technologies most developers are familiar with
No proficiency in native platforms/SDKs required
No proficiency in specific languages required
Allows cross-platform applications to use a single code base (for hybrid frameworks that support cross-platform)
Feels like a true native app, specific to the device it’s running on
UI patterns are standard to the device meaning users are familiar with the interactions
Available as a stand-alone app in a platform’s app store
Accessible in a web browser (if desired)

Cons
Some hybrid app approaches are intended for and best experienced on mobile devices only and not currently designed for desktop at all

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

Mobile app development tools

A
Hybrid Apps:
Cordova
Ionic
Phonegap
Sencha Touch

Compiled Apps:
React-Native
NativeScript
Flutter

Native Apps:
ios - Objective-C, Swift
Android - Java, Kotlin

Progressive Web Apps

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