AD-Unit 01
AD-Unit 01
App development involves building software applications for mobile devices . Mobile apps are downloaded
and installed on devices, and they often provide a more personalized experience compared to web apps.
Mobile apps can be developed natively using platform-specific languages like Swift or Kotlin, or cross-
platform using frameworks like React Native or Flutter. Both web and app development require design
considerations for intuitive interfaces and undergo testing before deployment to app stores or software
distribution platforms.
Native apps are built specifically for a particular platform, such as iOS or Android. For iOS, developers
typically use Swift or Objective-C with Xcode, while for Android, Java or Kotlin with Android Studio are
common choices.
b. Cross-Platform App Development: These apps are developed using a single codebase that can run on
multiple platforms. Technologies like React Native (JavaScript), Flutter (Dart), and Xamarin (C#) enable
developers to write code once and deploy it across iOS and Android.
c.Hybrid apps: Built using web technologies such as HTML, CSS, and JavaScript, and packaged as native
apps
d. UI/UX Design: Designing intuitive and engaging user interfaces is crucial for mobile apps. Knowledge of
design principles, prototyping tools like Adobe XD or Sketch, and user testing methodologies are essential.
e. API Integration: Mobile apps often need to communicate with web servers to fetch data or perform
actions. Knowledge of RESTful APIs, JSON (JavaScript Object Notation), and networking concepts is
important.
e. App Deployment: Once the app is developed, it needs to be deployed to the respective app stores, such as
the Apple App Store or Google Play Store, following their submission guidelines and requirements.
Web
Application Development
Web development focuses on creating websites and web applications accessed through web browsers. It
encompasses frontend development for user interface design using HTML, CSS, and JavaScript, along with
backend development for server-side logic using languages like Python or JavaScript and databases like
MySQL or MongoDB. Deployment typically involves hosting on servers or cloud platforms.
a. Frontend Development: This involves creating the user interface and experience that users interact with
directly in a web browser. Key technologies include HTML (Hypertext Markup Language), CSS (Cascading
Style Sheets), and JavaScript.
b. Backend Development:
This involves building the server-side logic and database interactions that power the web application.
Common backend technologies include programming languages like Python, Ruby, Java, or JavaScript
(Node.js), along with frameworks like Django, Ruby on Rails, Spring Boot, or Express.js.
c. Database Management: Storing and managing data is crucial for web applications. Common databases
include MySQL, PostgreSQL, MongoDB, and SQLite. Knowledge of database querying languages like SQL
(Structured Query Language) is also essential.
d. Version Control: Version control systems like Git are used to track changes to code and collaborate with
other developers effectively.
e. Deployment: Once the web application is built, it needs to be deployed to a server or a cloud platform
like Amazon Web Services (AWS), Microsoft Azure, or Google Cloud Platform (GCP).
Some of the key differences between mobile app development and web development include:
Mobile apps are built for specific devices and operating systems, while web apps are built for the
web
Mobile apps require a download and installation process, while web apps can be accessed directly
through a browser
Mobile apps often provide a more personalized experience, while web apps are more focused on
providing information and functionality
When choosing between mobile app development and web development, consider the following factors:
Budget: Mobile app development can be more expensive than web development
Target audience: If your target audience is primarily mobile users, mobile app development may
be a better choice
Functionality: If you need to provide a more personalized experience or access to device-specific
features, mobile app development may be a better choice
Time-to-market: Web development can be faster and more cost-effective than mobile app
development
In conclusion, the basics of web and mobile application development involve understanding the differences
between the two and choosing the right approach for your specific needs. By considering factors such as
budget, target audience, functionality, and time-to-market, you can make an informed decision about which
type of application development is best for your project.
2.What is a native app?
A native application is a software program developers build for use on a particular platform or device.
Because developers build a native app for use on a particular device and its OS, it has the ability to use
device-specific hardware and software. Native apps can provide optimized performance and take advantage
of the latest technology, such as a GPS, compared to web apps or mobile cloud apps developed to be generic
across multiple systems.
The term native app refers to platforms such as Mac and PC, with examples such as the Photos, Mail or
Contacts applications that are preinstalled and configured on every Apple computer. However, in the context
of mobile web apps, the term native app means any application written to work on a specific device
platform.
The two main mobile OS platforms are Apple's iOS and Google's Android. Developers write native apps in
the code used for the device and its OS. For example, developers write iOS applications in Objective-C or
Swift, while they create Android-native apps in Java.
Native apps work with the device's OS in ways that enable them to perform faster and more flexibly than
alternative application types. If users of various device types use the app, developers create a separate app
version for each device.
For example, the Facebook application was once written in HTML5 to use the same code for iOS, Android
and mobile web. However, the app was slower for iOS users, so Facebook's app developers created separate
code for iOS. Developers can rebalance complex tasks, such as networking done in the background of the
main thread or program, which drives the UI.
With the ability to tap into specific resources, native apps can quickly access multiple services on a device,
such as the microphone, accelerometer or push notifications. Examples of native applications range from
navigation programs, such as Waze, to social apps, such as Twitter, or games, such as Pokémon GO.
Pokémon Go efficiently accesses system functionalities -- GPS for mapping locations, the camera for
augmented reality, and the accelerometer to measure acceleration -- for the best possible user experience.
Pokémon Go can also take advantage of push notifications, which are designed to bring users back to the
game over time.
A native app installs directly on a mobile device and stores associated data on the device or remotely -- such
as in cloud-based storage.
multiple code bases because each device has its own version of the app;
the cost for additional developers to build and manage a code base for each platform; and
time spent on multiple builds for separate platforms in each feature update.
Swift and Java are open source, and they are the main programming languages used by Apple and Google.
Xamarin is a cross-platform software development tool used for native app development on iOS and
Android and other platforms that rely on C# as a programming language.
3.hybrid application
A hybrid application is a software app that combines elements of both native and web applications. Hybrid
apps are essentially web apps that have a native app shell. Once users download the app from an app store
and install it locally, the shell connects to whatever capabilities the mobile platform provides through a
browser that's embedded in the app. The browser and its plug-ins run on the back end and are invisible to the
end user.
Hybrid apps are popular because they allow developers to write code for a mobile app once and still
accommodate multiple platforms. Because hybrid apps add an extra layer between the source code and the
target platform, they may perform slightly slower than native or web versions of the same app.
Hybrid apps work in the same manner as web apps, but are downloaded to the device like native apps.
Similar to web apps, developers typically write hybrid apps in HTML5, CSS and JavaScript. Hybrid apps
run code inside a container. The device's browser engine renders HTML, JavaScript and native APIs to
access device-specific hardware.
Although a hybrid app will typically share similar navigation elements as a web app, whether the application
can work offline depends on its functionalities. If an application does not need support from a database,
developers can make it function offline.
Variations due to leaning development on one platform may occur -- for example, if a development team
leans their work on one platform, another supported platform may lack in quality or suffer from bugs.
The appearance of an application may vary from platform to platform.
Developers need to test the application on a range of devices to ensure proper operation.
User experience (UX) may fail if the user interface (UI) isn't similar to and well enough designed to
what browsers the user is used to.
1. Ionic Framework
2. Apache Cordova (PhoneGap)
3. React Native
4. Flutter
5. Framework7
6. Onsen UI
Cross-platform mobile development frameworks are tools that allow developers to build mobile applications
that can run on multiple platforms, such as Android and iOS, using a single codebase. These frameworks
enable developers to write code once and deploy it across different operating systems, saving time and effort
compared to developing separate native apps for each platform.
By utilizing cross-platform frameworks, developers can create native-like applications with consistent user
experiences across multiple platforms. These frameworks often leverage popular programming languages
like JavaScript, HTML, and CSS, along with platform-specific wrappers or libraries to access native features
and APIs.
Cross-platform development frameworks have gained significant popularity due to their ability to streamline
development processes, reduce costs, and reach a wider audience. They offer a balance between code
reusability and platform-specific optimizations, enabling developers to create high-quality mobile
applications efficiently.
Importance of cross-platform development in the mobile app industry
Cross-platform development plays a significant role in the mobile app industry for several reasons:
Cost-effectiveness: Developing separate native apps for each platform (Android and iOS) can be costly
and time-consuming. Cross-platform development allows businesses to save resources by writing code
once and deploying it on multiple platforms. This approach reduces development costs, as fewer
developers are needed, and it streamlines the maintenance process.
Faster time to market: With cross-platform development, companies can release their apps on
multiple platforms simultaneously, resulting in a faster time to market. This is particularly crucial in
today’s competitive app market, where speed is essential to gain a competitive edge.
Code reusability: Cross-platform frameworks enable code reuse across different platforms, allowing
developers to leverage their existing knowledge and skills. This reusability reduces duplicate efforts and
increases development efficiency.
Wider audience reach: Android and iOS dominate the mobile operating system market, with over 98%
of mobile users worldwide using one of these platforms. By utilizing cross-platform development,
businesses can target a larger audience, as their apps can run on both Android and iOS devices without
the need for separate development efforts.
Consistent user experience: Cross-platform frameworks offer tools and libraries that allow developers
to create apps with a native-like user experience. Users expect a seamless and consistent experience
across different platforms, and cross-platform development helps achieve this by providing access to
platform-specific features and APIs.
Easier maintenance: Maintaining and updating separate native apps can be challenging and time-
consuming. Cross-platform development simplifies the maintenance process, as developers only need to
update a single codebase. It ensures that bug fixes, feature updates, and security patches are applied
uniformly across all platforms.
Larger talent pool: Cross-platform development frameworks often use popular programming
languages like JavaScript, HTML, and CSS, which are widely known and understood by developers. It
expands the talent pool for companies looking to hire cross-platform developers, as they can tap into a
broader range of expertise.
Performance and speed: Assessing the performance and speed of a cross-platform framework is
crucial to ensure that the resulting app meets the required performance standards. Look for benchmarks
and studies that compare the performance of different frameworks. Evaluate how well the framework
handles tasks such as rendering, animations, and data processing.
Native-like user experience: One of the primary goals of cross-platform development is to provide a
native-like user experience across platforms. Consider how well the framework supports platform-
specific UI components, interactions, and design guidelines. Look for frameworks that allow developers
to create apps that blend seamlessly with the native look and feel of each platform.
Code reusability and maintenance: The ability to reuse code across multiple platforms is a significant
advantage of cross-platform development. Evaluate how easily the framework allows code sharing and
reuse. Consider factors such as the percentage of shared code, the ease of maintaining a single
codebase, and the ability to apply updates uniformly across platforms.
Community support and documentation: A robust community surrounding a cross-platform
framework can provide valuable support, resources, and updates. Evaluate the size and activity of the
framework’s community. Look for online forums, documentation, tutorials, and sample projects that
can aid in learning and troubleshooting. A strong community ensures that the framework is actively
maintained and regularly updated.
Integration with native features and APIs: Assess how well the framework integrates with native
features and APIs of the target platforms. Check if the framework provides direct access to platform-
specific APIs and functionality. It is important to leverage the full potential of each platform and ensure
seamless integration with device capabilities such as cameras, GPS, sensors, and push notifications.
It’s important to note that the relative importance of these criteria may vary depending on the specific
requirements and priorities of the project. It’s advisable to conduct thorough research, evaluate multiple
frameworks, and consider real-world use cases and user feedback before making a decision.
Remember, these criteria are not exhaustive, and additional factors such as development ease, cost,
licensing, and platform support should also be considered based on the project’s unique needs.
React Native
Xamarin
PhoneGap
Flutter
Ionic
A Progressive Web App (PWA) is a type of web application that leverages modern web technologies to
provide users with a fast, engaging, and reliable experience, similar to that of native mobile applications.
PWAs combine the best features of the web and mobile apps to offer users an immersive experience across
various devices and platforms.
Features:
7. Responsive Design: PWAs are built with responsive design principles, ensuring that they look and
function well on various devices and screen sizes, including desktops, tablets, and smartphones.
8. App-like Experience: PWAs offer an app-like experience to users, with features like push
notifications, offline access, and full-screen mode, making them feel more like native mobile apps.
9. Offline Functionality: PWAs use service workers, a type of web technology, to cache app assets
and data, allowing users to access the app even when they're offline or have a slow internet
connection.
10. Installable: PWAs can be installed directly from the browser onto the user's device's home screen,
eliminating the need to go through an app store. This makes them easily accessible and discoverable
by users.
11. Engagement Features: PWAs can utilize features like push notifications and background sync to re-
engage users and keep them informed about new content or updates.
Pros:
12. Cross-Platform Compatibility: PWAs work across different platforms and devices, including
desktops, tablets, and smartphones, without the need to develop separate versions for each platform.
13. Improved Performance: PWAs load quickly and offer a smooth user experience, thanks to
technologies like service workers and responsive design, resulting in higher user engagement and
satisfaction.
14. Cost-Effectiveness: Developing a PWA can be more cost-effective than building separate native
apps for different platforms, as it requires less development time and resources.
15. Accessibility: PWAs are easily accessible via a web browser, eliminating the need for users to
download and install apps from an app store, which can lead to higher adoption rates.
16. Offline Functionality: PWAs can work offline or with limited connectivity, allowing users to
continue using the app and accessing content even in areas with poor internet coverage.
Cons:
17. Limited Native Features: While PWAs offer many features found in native apps, they may not have
access to all native device features and capabilities, limiting their functionality in certain scenarios.
18. Browser Support: Some advanced PWA features may not be fully supported across all web
browsers, potentially limiting the app's capabilities on certain platforms or devices.
19. App Store Distribution: Unlike native apps, PWAs cannot be distributed through traditional app
stores, which may affect their discoverability and reach among users.
20. Hardware Integration: PWAs may have limited access to hardware features like Bluetooth, NFC,
or sensors compared to native apps, restricting their use in certain types of applications.
21. Security Concerns: PWAs rely on web technologies and APIs, which may introduce security
vulnerabilities if not implemented and maintained properly, potentially compromising user data and
privacy.
Application Tools:
22. Google's Workbox: A set of JavaScript libraries and build tools for adding offline functionality and
caching strategies to PWAs.
23. Lighthouse: An open-source tool for auditing and improving the quality of web pages, including
PWAs, by analyzing performance, accessibility, and other aspects.
24. PWABuilder: A web-based tool for converting existing websites into PWAs by generating service
worker scripts, manifest files, and other necessary resources.
25. Ionic Framework: Although primarily used for hybrid app development, Ionic offers features and
tools for building PWAs with a native-like user experience.
26. AngularJS: A popular JavaScript framework that provides tools and features for building robust and
scalable PWAs with features like dependency injection, two-way data binding, and modular design.
27. Twitter Lite: Twitter's PWA offers a fast and lightweight experience for users, with features like
offline tweeting, push notifications, and a data-saving mode.
28. Flipkart Lite: Flipkart's PWA provides users with a fast and engaging shopping experience, with
features like add-to-home screen, push notifications, and offline browsing.
29. Starbucks: Starbucks' PWA allows users to browse their menu, customize drinks, and place orders
for pickup or delivery, even when offline.
30. Pinterest: Pinterest's PWA offers users a seamless experience for discovering and saving ideas, with
features like offline browsing and push notifications for new pins.
31. Forbes: Forbes' PWA provides users with a fast and immersive reading experience, with features
like offline reading and push notifications for breaking news updates.
Overall, Progressive Web Apps offer a compelling alternative to traditional web and native mobile apps,
providing users with a fast, engaging, and reliable experience across various devices and platforms. They
combine the best features of the web and mobile apps to deliver a seamless experience that meets the needs
of modern users.
Responsive web design is a method or an approach where a designer creates a web page which resizes itself
according to the type of device it is seen through. In this method, development and design respond based on
the user’s behavior and environment. The practice consists of a mix of images, flexible grids, and layouts
and a smart use of CSS media queries. As the user moves from their laptop to iPhone, the website should
immediately switch to accommodate for image size, resolution and scripting abilities. Basically, the website
should have the technology to respond, automatically to the user’s preferences. This removes the need to
design and develop differently for each new gadget on the market.
The point of responsive design is to have one site, but with different elements which when viewed on
devices of different sizes, respond differently. Let’s take a traditionally fixed website, which when
viewed on a smaller tablet, might compel you to scroll horizontally, or certain elements might be
hidden from view or they may look distorted, in other words, things users don’t like. The impact is
further complicated since many tablets can be viewed either in landscape mode or portrait
orientation. Websites can be even more of a challenge to navigate on a tiny smartphone screen. Sites
could be slow to load, and large images may break the layout on smartphones if they are heavy on
graphics.
Now, the tablet version might automatically adjust to display just two columns, if a site uses
responsive design. This way, the content is readable and easy to navigate. On a smartphone, the
content, perhaps stacked vertically, might appear as a single column. Or maybe the user is given the
ability to swipe over to view other columns. Rather than getting cut off or distorting the layout,
images resize. Simply put, with responsive design, the website automatically adjusts based on the
device the viewer sees it in.
Responsive sites use fluid grids. Rather than pixels, all page elements are sized by proportion. So if you
have three columns, you would define how wide they should be in relation to the other columns, rather than
how wide each should be. Media, as in, images are resized relatively too, this way an image can stay within
its column or relative design element.
In an ideal situation, all developers would come with extra hands and the extra time necessary to build a
separate site, completely optimized for mobile devices. For those of us who aren’t Google or Facebook, we
need to find the best way, one without piling on huge amounts of labor, to give users an optimized
experience.
The biggest advantage of using responsive design for developers comes down to how much time and
effort you save.
Responsive design means, for back-end developers, there’s only one version of the site to be updated.
All the content could go in the same place, and the entire project becomes a lot simpler.
For front end developers, the process is almost certainly a better choice than creating multiple
stylesheets, although there can be a lot of work involved to make a slick, responsive design. Imagine all
of your CSS code in a single place and no need for multiple edits for a single tweak.
Disadvantages of using responsive web design
It’s debatable whether this is a good reason to avoid responsive design, but as a general point, it is valid.
You won’t find any load-time benefit for the user. Even if a user, because they’re using a smartphone,
doesn’t see all the site’s elements, it doesn’t mean those elements were not loaded in the background.
Fluid images, images which scale to fit the screen size probably pose the biggest issue for load-time.
The process of resizing the image files for display on tablet or smartphone, once you download the
image files sized for desktops can put pressure on the limited power of mobile devices.
Some mobile browsers don’t support media queries. This is mostly a temporary problem, regular
mobile OS updates and the growing popularity of responsive design is fixing this issue. For the
moment, though, it may be something worth considering.
Check your traffic, most of your visitors must be getting to your website through mobile devices.
Responsive web design isn’t meant to be the ultimate savior, protecting you from the ever-changing mobile
world. Responsive web design is a concept, which when implemented the right way can improve the user
experience, but not completely solve all the problems faced by your users. For that, we’ll need to constantly
work with new resolutions, devices, and technologies to continuously improve the user experience as
technology keeps evolving.
Besides saving us from a lot of frustration, responsive web design also works for the user. We can build
custom solutions for a wider range of users, on a broader range of devices using responsive web design, and
every custom solution makes for a better user experience. A website can be tailored for someone on an old
laptop or device, as well as it can be tailored for the vast majority of people using the gadgets currently
trending, and likewise as much for the handful of users who own the most advanced gadgets today and in the
years to come. In this way, responsive web design allows a great custom experience for everyone. As web
designers, this is something we always strive to achieve.