0% found this document useful (0 votes)
26 views

Unit 1

Unit 1 materials for APP Development

Uploaded by

sathyarcse88
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
26 views

Unit 1

Unit 1 materials for APP Development

Uploaded by

sathyarcse88
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 42

Basics of Web and Mobile Application Development:

Web and mobile application development are two distinct but interconnected fields of
software development that focus on creating software applications that can be accessed and
used on the internet (web) or mobile devices (such as smartphones and tablets).

Web Application Development:


Web applications are software programs that run on web browsers and are accessed over the
internet. They are typically written using web technologies like HTML, CSS, and JavaScript.
Here are the basic components and steps involved in web application development:

a. Front-end Development: The front-end is the user interface that users interact with directly.
It includes the design, layout, and user experience. Front-end developers use HTML for
structuring content, CSS for styling, and JavaScript for interactive features.

b. Back-end Development: The back-end is the server-side of the application responsible for
processing data, handling user requests, and managing the application's logic. Back-end
developers use server-side languages like Python, Ruby, Java, PHP, or Node.js to build the
application's functionality.

c. Database Management: Web applications often require a database to store and manage
data. Commonly used databases include MySQL, PostgreSQL, MongoDB, and SQLite.
Back-end developers interact with the database to store and retrieve information.

d. Web Servers: Web applications need web servers to handle incoming requests from users'
browsers. Popular web servers include Apache, Nginx, and Microsoft Internet Information
Services (IIS).

e. Testing and Deployment: Testing ensures the application functions correctly, and
deployment involves making the application available on a web server so users can access it.

How Web Applications Work

 Client sends a request


 Server Process the request
 Application Logic and Data Handling
 Server sends a response
 Client receives and renders the response
 User Interacts with the web page
 Repeat the Process
 State Management
(Please give the explanation by referring the external sources for the above mentioned
sub headings)
Web Applications have a Client-Server Architecture.Their code is divided into two
components-client-side scripts and server-side scripts.

Client-Side Architecture:
Server-Side Architecture:
(Please give the explanation by referring the external sources for the above mentioned
sub headings)

Different Types of Web Applications


As the digital world continues to expand, web applications have become an essential tool for
businesses and individuals alike. Web applications are designed to meet specific needs and
requirements of the users, and choosing the right type of web application is crucial to achieve
your desired goals.

In this blog post, we’ll delve into the diverse landscape of web applications, guiding you
through the various types and helping you discover the perfect fit for your unique project.
Each possesses its characteristics, purposes, and advantages, catering to different user needs
and requirements.

By familiarizing yourself with the different types, you can make informed decisions and
develop a web application that is both captivating and functional.

So, let’s dive in and explore the exciting world of web applications!
1. Static Web Apps
Static web apps consist of restricted content and have no flexibility. Here, these apps are
considered the pages generated by the server with very little or no interactivity.In general,
there is no personalization in these apps, and changes occur on the page after it’s completely
loaded.

Static Web Application access


In short, static web apps appear to the clients the same as they are stored on the server. No
content changes are made in the application server before the page is sent to a web browser.
Languages used to create static web applications include HTML, CSS, JavaScript, etc. Even
though one can integrate animated objects, GIFs, videos, and more in static web apps;
however, it is hard to make updates.Professional portfolios, digital resumes, landing pages for
marketing, etc., are the best examples of static web applications.

Pros of Static Web Application


 Easy to host

 Quick to build

 Development cost is low

 Easy to index in the search engines

 Very fast to render on a slow internet connection.

2. Dynamic Web Apps


It is one of the best web application types as they fetch data in real-time based on the users’
requests. They have enhanced technical complexity as compared to static web apps.

How a Dynamic Web App Works


Whenever a web server gets a request for a specific page, the page request reaches the
software known as an application server.

Databases are located on the server-side; hence the user gets updated content.

The application server understands the code, fetches the page from the database & sends the
answer to the web server, which in turn sends it back to the web browser.

In short, a dynamic web app requires a database to store data, and its content is continuously
updated every time users access it. It is possible to achieve this using a content management
system like WordPress, which has a built-in administration panel.

Using CMS, admin users can change or update the information. Moreover, they can integrate
new features and functionalities.

Various languages are used for developing dynamic web apps, such as Node.js, Laravel,
Ruby on Rails, jQuery, HTML, CSS, PHP, ASP.NET, Perl, Python, etc. Besides this,
developers can also use some of the best web application frameworks to build dynamic web
apps.
Also, editing or updating the content in dynamic web applications is simple. But,
modification in the backend or coding can be challenging based on the server and other
aspects. Some well-known examples of dynamic web apps are YouTube, Netflix, Hubspot,
etc.

Pros of Dynamic Web Apps


 Better user experience

 Easy to update & maintain

 Highly interactive

 Quick Navigation

 Professional look

3. Single-Page Applications

Single-page apps enable users to interact with the web page without any hindrance. Here,
requests and responses take place efficiently due to small amounts of data.

Briefly, SPAs are way quicker as compared to traditional web applications as they perform
logic on the web browser instead of the server.
Moreover, you can update any single-page app as per the requirements in the future. Yet, due
to universal URLs, they are not competent as per the latest SEO rules.

Single Page Application Advantages


 Battery reusability

 Easy debugging

 Less complex implementation

 Better caching

 User-friendly
Popular Single Page Apps
 Gmail

 Google Maps

 AirBNB

 Netflix

 Pinterest

 Paypal

4. Multi-Page Applications
Multi-page apps function similarly to traditional web applications. Here, the app reloads and
displays a new page from the server in the browser anytime users perform a new action.

In these types of web applications, logic is stored at the backend; hence requests from the
clients go back to the server & are reverted.
Process of generating pages on the server, sending them to the client, and presenting them on
the browser harms the user interface.

It is possible to resolve this by utilizing AJAX technology, which makes sudden changes
without a complete page reload. If MPAs are designed considering responsiveness, they can
blend well with the mobile environment.

MPAs can be built using different languages such as HTML, CSS, JavaScript, AJAX, jQuery,
etc. Web portals, Online Stores, Catalogs, Marketplaces, Enterprise Web Applications, etc.,
fall under the multi-page applications.

Pros of Multi-Page Applications


 More SEO-friendly

 Unlimited scalability

 Add unlimited pages in your existing app


Popular Multi-Page Applications
 Amazon

 Forbes

 CNN

 eBay
5. Portal Web Apps
It is one of its types of web apps in which various sections or categories are accessible on the
home page. Here, this page consists of various details such as chats, emails, forums, user
registration, etc.
Portals are best suited for businesses and enterprises that want to create customized interfaces
according to their target audience’s requirements.

Here, all the registered users can only access the portal. Whenever a user signs in, the service
provider can check the user’s activity.

According to the access allocated, specific features might be limited to particular users.

Government Portals, Student Portals, Real Estate Portals, Education University Portals,
Patient Portals, etc., fall under the portal web apps.
Pros of Portal Web Apps
 Provides enhanced interaction

 Better integration

 Omnichannel presence

 Better customer retention


Examples of Portal Web Apps
 Domino’s Pizza

 Stanford University

 Allianz
6. Animated Web Applications
Animated web applications are closely connected with FLASH technology. By creating these
types of web apps, you can represent content by using various animated effects.
Here, UI/UX designers have the freedom to become highly creative and integrate things that
are not possible in different types of web-based applications.

The best practice is only to include animations that gain the user’s attention & deliver
valuable information. Also, this allows you to improve the user experience.

The major drawback of creating animated web applications is that they are improper for web
positioning and SEO as search engines can’t fetch data from them.

HTML5, CSS3, JS, SVG, etc. are useful to create animated web applications.

7. Rich Internet Apps

Rich Internet Applications are mainly web applications having several functionalities of
desktop applications. However, they are different from desktop applications. To know more,
check out web vs desktop apps.
RIAs are introduced to resolve browser restrictions, and they depend on client-side plugins
such as Flash, Shockwave, and Silverlight.

As these applications are built using these tools, they run efficiently and are very engaging.
Moreover, they provide an eye-catching user experience and high interactivity as compared
to traditional browser applications.

The two main problems with the RIA’s are vulnerabilities and inconveniences they form. For
instance, suppose the plugin is outdated, then several parts of the app or the entire app will
not work accurately.

With time, the use of these plugins is abandoned after the release of HTML5. Hence, RIAs
are not limited to initial form but are now transformed into different types of web
applications.

Benefits of Rich Internet Apps


 Improved data visualization

 Integration across various systems

 Control item synchronization

 Quick mobile access to information


Examples of Rich Internet Apps
 Adobe Flash

 Google Gears
 Microsoft Silverlight

8. JavaScript Powered Web Apps


After the availability of leading front-end frameworks, such as Angular, React.js, Vue.js,
Node.js, the web-app logic has begun to move towards the client-side, providing higher
adaptability as compared to the AJAX.
Currently, client-wide logic can perform server-side tasks such as handling user requests and
giving the responses, etc.

Web Applications built using the above JS frameworks offer enhanced performance, various
levels of user interaction and are usually SEO optimized. Client-Portals, Business-Centric
Web Applications, etc., fall under the JavaScript-powered web apps.

Pros of JavaScript Powered Web Apps


 Highly-Interactive

 Fast & Responsive

 Offline support

 Quick integration
Examples of JavaScript Powered Web Apps
 Yahoo

 Uber

 Linkedin

 Netflix

 Mozilla

9. Progressive Web Apps


PWAs are websites that look similar to mobile applications. Users can access the complete
information and all the features of the web app using mobile browsers.

Various experts say PWA is a modified version of SPA. Even though it’s not valid based on
the theory; however, the point is authentic in real life.
The primary purpose of PWAs is not to apply new rules in architecture but enhance the speed
and mobile adaptability of web apps. Here, improvements are made in caching, data transfer,
and home screen installation.

Moreover, PWAs enable you to enhance the mobile web experience and provide your
services to users despite slow/bad internet connections. Starbucks, Forbes, OLX,
MakeMyTrip, etc., are some of the best examples of PWA.
Benefits of Progressive Web Apps
 Independent of app stores

 Offline support

 Enhanced performance

 No Installation & updates Required

 Access platform specific features


Examples of Progressive Web Apps
 Pinterest

 Twitter Lite

 Spotify

 MakeMyTrip
10. eCommerce Web Apps
This type of web application can be considered as an online store, same as eCommerce Apps
or eCommerce Sites.

Developing such web apps becomes complex as one has to handle transactions and integrate
different payment methods such as PayPal, Debit/Credit Card, etc.
Several primary features of an eCommerce web app include adding new products, removing
old products, handling payments, user-friendly interface, etc. To look after all these tasks,
admin requires an effective management panel.

To develop a feature-rich, reliable, and scalable eCommerce web app, you should hire
dedicated eCommerce developers. These developers have developed numerous eCommerce
web apps; hence, they are familiar with all the ins and outs of the eCommerce industry.
Pros of eCommerce Web Apps
 Enhanced brand recognition

 Boost conversation

 Increased engagement

 Cost-Effective

 Smaller size than mobile apps


Examples of eCommerce Web Apps
 Jumia

 Lancôme

 Pure Formulas

 Flipkart

Mobile Application Development

Mobile application development is the process of creating software applications that run on a
mobile device, and typically mobile application utilizes a network connection to work with
remote computing resources. Hence, the mobile development process involves creating
installable software bundles (Code, binaries, assets, etc), implementing backend services such
as data access with an API, and, testing the application on target devices.
Here are the basics of mobile application development:

a. Native App Development: Native apps are built specifically for a single platform, like iOS
(using Swift or Objective-C) or Android (using Java or Kotlin). They offer the best
performance and access to the device's hardware features but require separate codebases for
each platform.

b. Hybrid App Development: Hybrid apps use web technologies (HTML, CSS, JavaScript)
wrapped in a native container. This approach allows developers to write one codebase that
can run on multiple platforms. Popular frameworks for hybrid apps include React Native and
Flutter.

c. Progressive Web Apps (PWAs): PWAs are web applications that provide a mobile app-like
experience. They are accessed through web browsers but can be installed on a user's home
screen. PWAs use modern web technologies to offer offline capabilities, push notifications,
and better performance.

d. App Stores and Distribution: Mobile apps are distributed through official app stores like
Apple's App Store and Google Play Store. For web apps and PWAs, there's no need for
distribution through app stores; users can access them directly through web browsers.

e. User Interface and Experience: Mobile app development focuses on creating responsive
and user-friendly interfaces suitable for smaller screens and touch interactions.

Both web and mobile application development involve continuous updates, improvements,
and bug fixes to ensure optimal performance and user satisfaction. Developers often
collaborate with designers, testers, and project managers to deliver successful applications
that meet user needs and preferences.

Native App:

A native app is a software application specifically developed for a particular mobile operating
system (OS), such as iOS or Android. Unlike web apps, which are accessed through web
browsers, native apps are installed directly onto the user's device and can be downloaded
from official app stores like the Apple App Store (for iOS) or Google Play Store (for
Android).

Here are the key characteristics and advantages of native apps:

1. Platform-Specific Development: Native apps are built using programming languages and
development tools that are specific to the target platform. For example, iOS apps are typically
written in Swift or Objective-C, while Android apps are written in Java or Kotlin. This
platform-specific approach allows developers to fully leverage the capabilities and features of
each operating system.

2. Performance: Native apps offer excellent performance because they are optimized to run
directly on the device's hardware and operating system. This direct integration with the
platform's APIs (Application Programming Interfaces) ensures faster execution, smoother
animations, and better overall responsiveness compared to other types of apps.

3. Access to Device Features: Native apps have access to a wide range of device features,
such as the camera, GPS, accelerometer, microphone, and more. This allows developers to
create sophisticated apps that can utilize hardware capabilities and provide a richer user
experience.

4. Offline Functionality: Native apps can work offline to some extent by storing data locally
on the device. This is particularly useful in scenarios where the internet connection is
unreliable or unavailable. When the device is connected again, the app can synchronize data
with the server.

5. User Interface (UI) Customization: Native apps can be fully customized to adhere to the
platform's design guidelines and provide a consistent and familiar user interface. This
integration with the platform's UI components ensures that the app looks and feels native,
making it easier for users to navigate and use.

6. App Store Distribution: Native apps are distributed through official app stores, which
provide a centralized platform for users to discover, download, and update applications. The
app store model helps with app discovery, security, and trust, as users are more likely to trust
apps from official sources.

7. Better Security: Native apps have enhanced security features due to the app store's review
process and the inherent security measures of the operating system. This helps protect users
from potentially harmful or malicious applications.

However, native app development has some challenges:

1. Development Time and Cost: Creating separate codebases for different platforms (iOS and
Android) can increase development time and costs compared to other app development
approaches.

2. Updates and Maintenance: Since there are multiple codebases for each platform, updates
and bug fixes need to be implemented separately for each version of the app.

3. Limited Cross-Platform Support: A native app developed for one platform cannot run on
another platform without significant modifications.

To address these challenges, developers can also consider hybrid app development or
progressive web apps, which offer a more cross-platform approach while still leveraging
some native features and capabilities.

Real-time examples of native app development:

Native app development is widely used for creating mobile applications that provide high
performance, access to device features, and a seamless user experience on specific platforms.
Here are some real-time examples of native app development:

1. Instagram: Instagram is a popular social media app that allows users to share photos and
videos with their followers. It was initially developed as a native app for iOS, written in
Objective-C, and later migrated to Swift. The Android version of Instagram is also a native
app developed using Java or Kotlin.
2. WhatsApp: WhatsApp is a widely used messaging app that enables users to send text
messages, voice messages, images, and videos over the internet. It started as a native iOS app
using Objective-C and then switched to Swift. On Android, WhatsApp is a native app built
using Java.

3. Snapchat: Snapchat is a multimedia messaging app known for its disappearing messages
and photo filters. It began as a native app for iOS, developed using Objective-C, and later
moved to Swift. The Android version of Snapchat is a native app built using Java or Kotlin.

4. Google Maps: Google Maps is a navigation app that provides maps, directions, and real-
time traffic information. The app is a native application for both iOS (Swift or Objective-C)
and Android (Java or Kotlin) platforms. It leverages the device's GPS and other sensors for
accurate location services.

5. Uber: Uber is a ride-sharing and food delivery app. The native app for iOS is developed
using Swift or Objective-C, while the Android version is developed using Java or Kotlin.
Uber takes advantage of the device's location services, mapping, and payment capabilities.

6. Facebook: Facebook, the social media giant, has separate native apps for iOS and Android.
The iOS app is developed using Swift or Objective-C, while the Android app is built using
Java or Kotlin. These apps provide a rich user experience, integrating with the platform's
features like camera access and notifications.

7. Shazam: Shazam is a music recognition app that can identify songs by analyzing audio
snippets. It is a native app for both iOS (Swift or Objective-C) and Android (Java or Kotlin)
platforms.

8. Candy Crush Saga: Candy Crush Saga is a popular mobile game developed as a native app
for both iOS and Android platforms. The game takes advantage of the native APIs for
animations and touch interactions.

9. Netflix: Netflix is a video streaming app that offers a vast library of movies and TV shows.
The iOS app is a native application written in Swift or Objective-C, while the Android app is
developed using Java or Kotlin.

10. Spotify: Spotify is a music streaming app that allows users to listen to songs, podcasts,
and playlists. It is a native app for both iOS (Swift or Objective-C) and Android (Java or
Kotlin) platforms.

These examples demonstrate how native app development is utilized to create some of the
most popular and feature-rich applications available on mobile devices. By leveraging the
unique capabilities of each platform, these apps provide users with a seamless and optimized
experience.
Native applications developed in India

India is home to a vibrant and rapidly growing tech industry, and there are several native
applications developed by Indian companies that have gained popularity both in India and
globally. Here are some notable examples of native applications developed in India:

1. Ola: Ola is a ride-hailing platform and one of India's most popular transportation apps.
Developed by ANI Technologies Pvt. Ltd., Ola offers cab and auto rickshaw bookings, bike
sharing, and food delivery services. It is available on both iOS and Android platforms.

2. Paytm: Paytm is a leading digital payment platform that started as a mobile wallet app and
later expanded to offer various financial services, including bill payments, mobile recharges,
online shopping, and more. Developed by One97 Communications Ltd., Paytm is available
on iOS and Android.

3. Zomato: Zomato is a restaurant search and food delivery app that provides information
about various dining establishments, user reviews, and online food ordering. It was developed
by Zomato Media Pvt. Ltd. and is available on both iOS and Android platforms.

4. BYJU'S: BYJU'S is an e-learning platform that offers interactive educational content for
students from kindergarten to higher education. The app, developed by Think and Learn Pvt.
Ltd., provides video lessons and personalized learning experiences. It is available on iOS and
Android.

5. PhonePe: PhonePe is a digital payments and financial services app developed by PhonePe
Pvt. Ltd. It enables users to send money, pay bills, recharge mobile phones, book flights, and
more, using Unified Payments Interface (UPI) and other payment methods. The app is
available on iOS and Android.

6. Gaana: Gaana is a popular music streaming app developed by Gamma Gaana Ltd. It offers
a vast collection of songs in multiple languages, playlists, and radio stations. Gaana is
available on both iOS and Android.

7. ShareChat: ShareChat is a social networking platform developed by Mohalla Tech Pvt.


Ltd. It allows users to create and share content in regional languages, connect with others,
and discover viral content. The app is available on both iOS and Android.

8. Cure.fit: Cure.fit is a health and fitness app developed by CureFit Healthcare Pvt. Ltd. It
offers a range of services, including guided workout sessions, healthy meal delivery, mental
wellness programs, and more. The app is available on iOS and Android.

9. Wynk Music: Wynk Music is a music streaming app developed by Bharti Airtel Ltd. It
provides a vast library of songs and playlists across various genres and languages. The app is
available on iOS and Android.
10. Lenskart: Lenskart is an eyewear and eyecare app developed by Lenskart Solutions Pvt.
Ltd. It offers a wide selection of eyeglasses, sunglasses, and contact lenses, along with virtual
try-on features. The app is available on both iOS and Android platforms.

These are just a few examples of the many native applications developed in India,
showcasing the country's diverse and innovative tech ecosystem. Indian developers and
companies continue to contribute to the global app market with their creative and user-
friendly solutions.
Hybrid App Development:

Hybrid app development is an approach that combines elements of both web and native app
development to create applications that can run on multiple platforms (e.g., iOS and Android)
using a single codebase. Hybrid apps are essentially web applications wrapped in a native
container, allowing them to be distributed through app stores and installed on users' devices
like native apps. Here's how hybrid app development works and its key components:

1. Web Technologies: Hybrid apps are primarily built using standard web technologies like
HTML (Hypertext Markup Language), CSS (Cascading Style Sheets), and JavaScript. These
technologies are commonly used in web development and are well-known among developers.

2. Native Container: A hybrid app's core functionality and user interface are presented
through a native container, which is a lightweight application shell. This container allows the
app to access device features like the camera, GPS, and notifications, which are typically not
accessible to web applications running in a regular mobile browser.

3. Webview: Within the native container, a component called a webview is used to render the
web content of the application. The webview is essentially a web browser component
integrated into the app, displaying the HTML, CSS, and JavaScript-based user interface and
content.

4. Hybrid App Frameworks: To streamline hybrid app development, developers use hybrid
app frameworks that provide tools, libraries, and APIs for interacting with native device
features. Popular hybrid app frameworks include React Native, Flutter, Ionic, and Xamarin.

Here's a brief overview of the hybrid app development process:

1. Codebase Creation: Developers write the application code using web technologies (HTML,
CSS, and JavaScript) to define the app's user interface, logic, and functionality. This single
codebase will serve as the foundation for both the iOS and Android versions of the app.

2. Hybrid App Framework Integration: Developers integrate the single codebase into a hybrid
app framework like React Native or Flutter. The framework provides a bridge between the
web technologies and native APIs, allowing access to device features and native
functionalities.
3. Platform-Specific Adaptations: While the majority of the code remains the same for both
platforms, certain parts may need slight adjustments to account for platform-specific
differences in user interfaces or features.

4. Testing and Deployment: After development, the hybrid app undergoes testing to ensure it
functions correctly on different devices and operating systems. Once thoroughly tested, the
app is submitted to app stores for distribution and installation.

Advantages of Hybrid App Development:

1. Cross-Platform Compatibility: With a single codebase, developers can deploy the app on
multiple platforms, reducing development time and costs compared to creating separate
native apps.

2. Faster Development: Hybrid app development leverages web technologies, which are
familiar to many developers, leading to faster development cycles.

3. Code Reusability: Since the same codebase is used for both platforms, updates and bug
fixes need to be applied only once, saving development effort.

4. Access to Device Features: Hybrid apps can access native device features like camera,
GPS, and sensors, providing a richer user experience compared to regular web apps.

5. App Store Distribution: Hybrid apps can be distributed through app stores, making them
easily discoverable and accessible to a broader audience.

However, hybrid app development also has some limitations:

1. Performance: While hybrid apps have improved performance compared to regular web
apps, they may not match the native app's performance, especially for computationally
intensive tasks or graphics-intensive applications.

2. Platform Limitations: Hybrid apps rely on the capabilities and limitations of webviews,
which might not fully support all native features.

3. User Experience: Hybrid apps may not provide the exact same native look and feel as pure
native apps, which could affect the overall user experience.

Despite these limitations, hybrid app development is a popular choice for many developers
and companies seeking to deliver apps on multiple platforms without significant investments
in separate native development teams. The choice between hybrid, native, or web app
development depends on the specific requirements of the project, budget, and target audience.
Hybrid app development architecture typically consists of three main components: the Web
App Codebase, the Hybrid App Framework, and the Native Container. Here's a textual
representation of the architecture:

1. Web App Codebase: This is the core of the hybrid app, written using standard web
technologies like HTML, CSS, and JavaScript. The web app codebase defines the user
interface (UI), application logic, and functionality of the app. It is the same for both iOS and
Android versions, allowing developers to use a single codebase for both platforms.

2. Hybrid App Framework: The hybrid app framework acts as a bridge between the Web App
Codebase and the native device features. It provides tools, libraries, and APIs that allow the
web app code to interact with native APIs. The framework abstracts the native functionalities,
making them accessible to the web app codebase.

3. Native Container: The Native Container is a lightweight application shell that wraps the
Web App Codebase and provides access to native features like the camera, GPS, and
notifications. The Native Container typically includes a Webview component that renders the
web app code, displaying the app's user interface and content.

Here's a step-by-step explanation of how the architecture works:


1. The developer writes the Web App Codebase using web technologies like HTML, CSS,
and JavaScript. This codebase contains the UI elements, app logic, and business
functionalities.

2. The developer integrates the Web App Codebase into a Hybrid App Framework, such as
React Native, Flutter, Ionic, or Xamarin. The framework provides APIs and libraries that
allow the web app code to communicate with native device features.

3. The Hybrid App Framework abstracts the platform-specific code and provides a layer of
communication between the web app code and the native APIs.

4. The Native Container, which is a lightweight app shell, wraps the Web App Codebase and
acts as the host for the hybrid app. It provides the necessary environment for the app to run
on the device.

5. The Native Container includes a Webview component that loads and renders the Web App
Codebase. This Webview is essentially a web browser component integrated into the native
app, allowing the app's UI and content to be displayed.

6. When the hybrid app is launched on the device, the Native Container loads the Web App
Codebase in the Webview, making the app's user interface and functionalities available to the
user.

7. The Hybrid App Framework handles communication between the Web App Codebase and
the Native Container, allowing the app to access native device features such as camera, GPS,
and sensors.

By combining the benefits of web technologies and native features, hybrid app development
allows developers to build cross-platform apps efficiently, reducing development time and
costs while providing access to native device capabilities.

Examples of Hybrid App

Some examples of well-known hybrid apps included:

1. Instagram Lite: A lightweight version of Instagram developed as a hybrid app using the
React Native framework.

2. SoundCloud Pulse: A companion app for SoundCloud creators, developed as a hybrid app
using the React Native framework.

3. Gymaholic: A fitness and workout tracking app developed as a hybrid app using the Flutter
framework.
4. Walmart Grocery: Walmart's grocery shopping app is a hybrid app developed using the
React Native framework.

5. Tesla: Tesla's mobile app for controlling and monitoring Tesla vehicles was developed as a
hybrid app using React Native.

Please note that the landscape of app development is continuously evolving, and new
developments may have occurred since the last update. The distinction between native and
hybrid apps is essential, and developers often carefully choose the development approach
based on the specific requirements of the app and the target platform.

Cross Platform App

A cross-platform app is a type of software application that is designed and developed to run
on multiple operating systems and platforms with a single codebase. Unlike native apps,
which are built separately for each platform (e.g., iOS and Android), cross-platform apps
allow developers to write the application's code once and then deploy it across various
platforms, such as iOS, Android, Windows, and more.

There are two main approaches to developing cross-platform apps:

1. Hybrid App Development: Hybrid apps are created using web technologies like HTML,
CSS, and JavaScript and are then wrapped in a native container to run on different platforms.
The native container provides access to device features and allows the app to be distributed
through app stores. Popular frameworks for hybrid app development include React Native,
Flutter, Ionic, and Xamarin.

2. Progressive Web Apps (PWAs): PWAs are web applications that leverage modern web
technologies to provide a mobile app-like experience. They can be accessed through web
browsers and do not require installation from an app store. PWAs can work offline, send push
notifications, and offer a responsive design for various devices.

Advantages of Cross-Platform Apps:

1. Code Reusability: Cross-platform apps share a single codebase across different platforms,
reducing development time and effort. Developers can write code once and deploy it to
multiple platforms, saving resources and maintenance efforts.

2. Cost-Effective: Building a single cross-platform app can be more cost-effective than


developing separate native apps for each platform.

3. Faster Development: The use of a single codebase and the availability of cross-platform
development frameworks can speed up the app development process.

4. Wider Audience Reach: Cross-platform apps can reach a broader audience as they are
accessible on multiple platforms, not limited to a specific operating system.
5. Uniform User Experience: Cross-platform apps offer a consistent user experience across
various platforms, ensuring that users get a similar interface and features regardless of the
device they are using.

Disadvantages of Cross-Platform Apps:

1. Performance: Cross-platform apps may not achieve the same level of performance as
native apps, especially for graphics-intensive or computationally intensive tasks.

2. Platform Limitations: Access to certain native features and APIs may be limited in cross-
platform development compared to native app development.

3. Dependency on Frameworks: Cross-platform apps depend on specific frameworks, which


may have their own limitations or learning curves for developers.

4. Compatibility Challenges: Cross-platform development requires careful consideration of


platform-specific variations and ensuring compatibility across different devices and OS
versions.

Choosing between cross-platform, native, or hybrid app development depends on factors like
project requirements, budget, timeline, and target audience. Each approach has its strengths
and weaknesses, and developers often make decisions based on the specific needs and goals
of the app.

Progressive Web App:

A Progressive Web App (PWA) is a type of web application that combines the best features
of both web and native mobile applications. PWAs are designed to provide a fast, reliable,
and engaging user experience, regardless of the user's device or network conditions. They
leverage modern web technologies and standards to deliver a native-like experience to users,
making them feel like traditional native apps.

Key characteristics and features of Progressive Web Apps include:

1. Responsive Design: PWAs are designed to work seamlessly on any device, including
desktops, smartphones, and tablets. They automatically adjust their layout and user interface
to fit different screen sizes and orientations.

2. App-like Experience: PWAs offer a user experience similar to native mobile apps,
including smooth animations, gestures, and full-screen mode. This creates a familiar and
immersive feel for users.
3. Offline Functionality: One of the significant advantages of PWAs is their ability to work
offline or with limited connectivity. PWAs can cache essential resources, allowing users to
access content even when they are not connected to the internet.

4. Fast Loading: PWAs are designed to load quickly, even on slow or unreliable networks.
They use modern caching strategies to ensure that previously visited pages and resources load
instantly.

5. Secure: PWAs are served over HTTPS, ensuring data privacy and security. This is
particularly important when dealing with user information or sensitive data.

6. Discoverable: PWAs can be discovered through search engines, making them easily
accessible to users without requiring installation from an app store.

7. Installable: PWAs can be installed directly from the browser, creating a shortcut on the
user's home screen. This allows users to access the app quickly, similar to traditional native
apps.

8. Push Notifications: PWAs can send push notifications to users, keeping them engaged and
informed, even when the app is not open.

9. Automatic Updates: PWAs are updated automatically in the background, ensuring that
users always have the latest version of the app without needing to manually update through
an app store.

10. Cross-Browser Compatibility: PWAs are compatible with modern web browsers, making
them accessible to a broad range of users across different platforms.

Progressive Web Apps are an excellent solution for businesses and developers looking to
provide a mobile app-like experience without the need for separate native app development.
They offer several advantages, such as increased user engagement, wider reach, reduced
development costs, and simplified maintenance. As web technologies continue to evolve,
PWAs are becoming an increasingly popular choice for creating feature-rich and user-
friendly applications.

Responsive Web Design:

Responsive web design is an approach to web design and development aimed at creating
websites that automatically adjust and adapt their layout and appearance based on the user's
device and screen size. The goal of responsive web design is to ensure that the website looks
and functions optimally across various devices, including desktop computers, laptops, tablets,
and smartphones.

Key principles of responsive web design include:


1. Fluid Grids: Responsive websites use fluid grids that proportionally scale their content
based on the user's screen size. Elements on the page are sized using relative units (like
percentages) rather than fixed units (like pixels).

2. Flexible Images: Images in a responsive design are made flexible, so they resize and adapt
to fit different screen sizes without losing their aspect ratio or becoming distorted.

3. Media Queries: Media queries are CSS rules that allow developers to apply specific styles
based on the characteristics of the user's device, such as screen width, height, orientation, and
resolution.

4. Viewport Meta Tag: The viewport meta tag tells the browser how to scale and display the
web page on various devices. It ensures that the page fits the screen correctly and eliminates
the need for users to zoom in or out to read content.

5. Mobile-First Approach: A mobile-first approach means designing and building the website
primarily for mobile devices and then progressively enhancing it for larger screens. This
ensures that the website is optimized for the smaller screens first and then adapted for larger
displays.

Benefits of Responsive Web Design:

1. Improved User Experience: Responsive websites provide a consistent and user-friendly


experience across various devices, leading to higher user satisfaction.

2. Increased Mobile Traffic: With the growing number of mobile users, responsive design
ensures that websites are accessible to a broader audience, regardless of the device they use.

3. SEO-Friendly: Responsive websites tend to perform better in search engine rankings as


Google and other search engines prefer mobile-friendly sites.

4. Cost-Effective: Maintaining a single responsive website is more cost-effective than


building separate versions for different devices.

5. Easy Maintenance: With a single codebase, updates and changes can be applied uniformly
across all devices.

6. Future-Proof: Responsive design allows websites to adapt to new devices and screen sizes
that may emerge in the future.

Responsive web design has become a standard practice for web development due to the
increasing diversity of devices and screen sizes used by users. By embracing responsive
design principles, websites can provide an optimal user experience regardless of the device or
platform used to access them.
Native Vs Cross-Platform Vs Hybrid Vs Progressive Web Applications

Comparing Native Vs Hybrid Applications


Why choose the hybrid/Cross-Platform Approach?
(Please give the explanation by referring the external sources for the above mentioned
sub headings)
How Hybrid and Cross-Platform Frameworks Work?
Hybrid apps allow developers to use web technologies of HTML5/CSS/Javascript and
then encapsulate those web applications in a container that allows the web application to act
like a native application on the device.Since hybrid mobile apps are just web apps running on
an embedded browser environment,most of the code from a web app can be used to build a
mobile app.As rendering and running performance of mobile browsers are ever-
increasing,hybrid development is a viable alternative for web developers who want to build
mobile apps quickly.
Similarly,PWAs are written using traditional web application programming
technologies usually including some variant of Javascript,HTML5 and CSS and are accessed
initially through a browser on the device or computer.
Most cross-platform frameworks such as-React Native and Native Script-provides
native components to work with the cross platform code,while some others such as Flutter
and Xamarin compiles cross-platform code to the native code for better performance.

Mobile Application Development Cycle


Data services(Continuation with mobile application development life cycle)
 Cloud Storage
 Real-Time and offline Data
 Application Logic/Cloud Functions

Machine Learning
 Conversational Bots
 Image and Video Recognition
 Speech Recognition
What is a Progressive Web App

Refer the above notes

What Makes a Progressive Web App?


 Responsive:
 Connectivity independent:
 App-like interactions:
 Fresh:
 Safe:
 Discoverable:
 Re-engageable
 Installable:
 Linkable:
(Please give the explanation by referring the external sources for the above mentioned
sub headings)

Benefits of Progressive Web Apps


 It’s Faster
 It’s better for SEO
 It reduces data needs
 There’s no need for app stores
 It reduces development costs
 It leads to better user experiences
 It leads to better user experiences
 It leads to better engagement
 It can increase conversions
(Please give the explanation by referring the external sources for the above mentioned
sub headings)
Responsive Web Design

You might also like