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.
Why Developers Use a Cloud-backend?
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.
How Mobile Aps Integrate with the Backend?
These back-end services are typically accessed through a variety of application programming interfaces, most commonly known as APIs
Key Mobile Application Services
- Essential services
- data services
- machine learning
essential services
- user sign-in/sign-up and management
- social login
- analytics and user engagement
- push notifications
- real device testing
machine learning services
- conversational bots
- image and video recognition
- speech recognition
data service
- cloud storage
- reatime and offline data
- cloud function