Mobile App Development 1 Flashcards
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
Mobile application
Device Platforms
iOS – Apple Inc.
Android - Google
four major development approaches
- Native Mobile Applications
- Cross-Platform Mobile Applications
- Hybrid Mobile Applications
- Progressive Web Applications
When choosing the right development approach for their projects, developers consider
- desired user experience
- the computing resources and native features required by the app
- the development budget
- time targets
- resources available to maintain the app.
written in programming language and frameworks provided by the platform owner and running directly on the operating system of the device
native applications
native applications pros
- best runtime performance
- direct access to api
native applications cons
- higher costs when building and maintaining app
- multiple code-bases for each platform
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
cross-platform applications
cross-platform applications pros
- single code base for multiple platforms
- easy to build and maintain the app
cross-platform applications cons
- dependents on bridges and libraries for native deivce features
- performance limitations due to bridging
- 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
hybrid web application
hybrid web application pros
- shared code base between web and mobile apps
- using web development skillset for building mobile apps
hybrid web application cons
- lower perfomance comapred to native apps
- limited support for native device features
- 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
progressive web development
progressive web development pros
- same app is available both for web and mobile
- no installation required, accessible through url
progressive web development cons
- limited support for native device features
- app capabilities depend on the browser in use
how does native apps differ to hybrid apps
- platform specific
- compiled language
- access to device hardware
- platform frameworks
how does hybrid apps differ to native apps
- cross platform
- scripting/compiled
- plugins/native modules
- web frameworks
Why Choose the Hybrid/Cross-platform Approach?
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.
How Hybrid and Cross-platform Frameworks Work?
- 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.
There are two interlinked core components of a mobile application
- the mobile application “Front-End” that resides on the mobile device
- “Back-End” that supports the mobile front-end.
mobile application cycle
develop
test
release
monitor
analyze
cloud backend cycle
deploy
test
develop
analyze
monitor
How Front-end ‘Talks’ to the Back-end?
The mobile front-end obtains the data from the back-end via a variety of service calls such as APIs.