Iloilo Science and
Technology
University
An introduction to the Tools and
Platforms on Android
By: Guy V. Arellano, MSCS
Faculty ISATU
What is Android?
Android is an operating system for cellular
telephones and tablet computers.
Android began in 2003 as a project of the
American technology company Android Inc.,
to develop an operating system for digital cameras.
What is Android?
In 2004 the project changed to become an operating system for
smartphones.
Android Inc., was bought by the American search
engine company Google Inc., in 2005.
At Google, the Android team decided to base their project
on Linux, an open source operating system for personal
computers.
Why Android?
Analysis
Apple’s iOS and Google’s Android are by far
the biggest and most popular mobile platforms
in the world.
The US, for instance, has a bigger iOS market
share i.e. 56 per cent compared to 43.5 per
cent of Android.
Analysis
This means if you choose your app simply in the
global data, you might lose an important target
region.
That is why you need to choose your app platform
wisely.
You need to know where your audience is and build
your app’s presence on each of those platforms.
Analysis
Now there are two ways to do that - you either
build a native app for each platform or create a
single cross-platform app supported by multiple
platforms.
The Basic Difference between Native and Cross-Platform
App
Native apps are developed exclusively for a
specific platform.
These apps are developed in a language
compatible with the platform.
Apple, for instance, prefers Objective C and Swift
for iOS while Google favors Java and Kotlin for
Android.
The Basic Difference between Native and Cross-Platform
App
Using these acceptable languages, developers can
make better use of the innate features of these
platforms.
A native app developed for Android will not
function on iOS and vice versa.
The Basic Difference between Native and Cross-Platform
App
Cross-platform apps are compatible with multiple
platforms.
Due to the market share of Android and iOS, most
cross-platform apps are limited to these two
operating systems.
The Basic Difference between Native and Cross-Platform
App
These apps are developed in HTML and CSS since
these standard web technologies are platform
independent.
There are several cross-platform application
development tools that allow developers to create
these apps with little trouble.
Advantages of Native Apps
Functionality
Native apps have access to a range of
functionalities, specific to the OS it's designed
for.
When developing a native app, you'll have
access to all the different tools and APIs
offered by the host's platform.
Advantages of Native Apps
Functionality
Native app development allows for the
creation of complex applications while
ensuring stability, security and good
performance.
Advantages of Native Apps
Speed and Performance
Nativeapps tend to deliver superior performance
than cross-platform apps.
Why?
because of the seamless integration between the
app itself and the host's operating system.
Advantages of Native Apps
User Interface
Native apps deliver a great user experience as they
are tailored towards a specific operating system.
Advantages of Native Apps
Ranks Highly on App Stores
Apps with better user experience rank higher on
the app stores.
Disadvantages of Native Apps
Costly to Develop
Buildinga native app for both Android and IOS is
costly and time-consuming.
Disadvantages of Native Apps
Needs More Support
Nativeapp development involves building and
maintaining multiple codebases.
Android Studio, the Full-blown IDE for Android
Development from Google
Android Studio contains tools such as the Android
Virtual Device Manager and the Android Device
Monitor.
It also contains Gradle, which helps you configure
your Android application seamlessly.
Android Studio, the Full-blown IDE for Android Development
from Google
Support for a fast emulator
Support for Gradle
Support for plenty of code
templates and GitHub integration
Support for Google Cloud
Platform
Android Studio, the Full-blown IDE for Android Development
from Google
Support for template-based wizards
for creating Android designs and
components
Support for rich layout editor
Support for deep code analysis
Support for extensive set of tools and
frameworks
Android Studio, the Full-blown IDE for Android Development
from Google
Android Studio, the Full-blown IDE for Android Development
from Google
Android Studio, the Full-blown IDE for Android Development
from Google
Android Studio, the Full-blown IDE for Android Development
from Google
Android Studio, the Full-blown IDE for Android Development
from Google
Android Studio, the Full-blown IDE for Android Development
from Google
What Is Cross-Platform App Development?
Cross-platform app development is the process of
building a single app that runs on multiple
platforms.
Cross-platformapp development is an 'all-in-one'
approach which saves time and money.
Top Cross-platform Mobile App
Development Tools
According to the 2019 Stack Overflow Developer Survey, Xamarin, React
Native, Flutter, and Cordova were the most popular cross-platform
frameworks used by professional developers.
Top Cross-platform Mobile App Development Tools
2020 STACK OVERFLOW DEVELOPER SURVEY
Flutter 68.8
ReactNative 57.9
Xamarin 45.4
Cordova 28.7
Apache Cordova
Apache Cordova was previously known as Adobe PhoneGap.
It is owned as well as sourced by Adobe.
It is a simple cross-platform app development framework that
uses HTML5, CSS, and JavaScript.
Apache Cordova
Apache Cordova plugins enable the developers to access device
hardware capabilities such as GPS, camera, and accelerometer to
deliver a native-like app experience.
Apache Cordova’s notable features include a faster development
process with a single codebase and third-party app management tools.
Apache Cordova
Pros
It allows you to share the application
with the team to garner their feedback.
It also offers a cloud solution in case
you want to create your app directly.
Apache Cordova
Features
like access to third-party tools, a large
community (the one behind the free and open-
source Apache Cordova), and a large number of
plugins, make it better than its competitors.
It uses an intuitive desktop as for mobile app
development and then serves the app created on
the desktop to mobile devices connected to it.
Apache Cordova
Cons
Apache Cordova is not recommended for high-performance
applications and hardware intensive apps like gaming
apps due to its poor performance and lack of UI Widgets.
Apache Cordova is dependent on iOS SDKs to build an
app and downloading these SDKs requires a Mac.
Apache Cordova
Cons
Apps built with Apache Cordova tend
to go a little low on performance as
compared to native apps
Apache Cordova
Apps Made with Apache Cordova
• Wikipedia
• TripCase
• FanReact
Apache Cordova
IDE
Visual Studio
Cordova Tools Visual Studio Extension
App Builder
NSB/AppStudio
VSCode
Xamarin was launched in 2011 as an independent
cross-app development framework but was later
acquired by Microsoft in 2016.
The framework empowers businesses to provide
native performance and unique user experiences to
end-users.
InXamarin, an abstraction layer controls the
communication between the underlying platform
code and shared code.
The framework allows the developers to build an
ecosystem with APIs, back-end, components, etc.,
using tools, libraries, and programming languages
supported by an active community.
IDE
Visual Studio
Pros
Xamarin app development uses C# for coding,
meaning that it works seamlessly on an array of
platforms (including Android and iOS).
Xamarin has a strong community of over 60,000
contributors from more than 3,700 companies.
Pros
Share more than 75% of your code across platforms, for
“write once, run anywhere” ease.
A single tech stack for faster development.
Cons
Itis expensive for enterprises. Xamarin is a
framework that comes free for individuals and
startups.
However, enterprises are required to buy a license
for Microsoft’s Visual Studio.
Cons
Xamarin is not recommended for apps that demand
heavy graphics because each platform has a
different method for visually laying out screens.
A UX/UI-richapplication is advised to be
implemented natively.
Cons
It also offers limited access to certain important
libraries that the app developers need for mobile
app development.
Also,since the core of its user-interface creation is
not mobile, creating the UI is time-consuming.
Apps Made with Xamarin
• Fox Sports
• Alaska Airlines
• HCL
• American Cancer Society
• BBC Good Food
React Native
ReactNative is an endeavor that Facebook
launched in 2015, and it did cause a wave in the
market for hybrid frameworks.
Withina few years of its introduction in the
market, it is already one of the most popular ones.
React Native
ReactNative helps develop Android and iOS
mobile apps seamlessly.
Fasterdevelopment and deployment are the
primary reasons behind the universal popularity of
React Native.
React Native
Other notable features of React Native include:
o reusable components,
o integration with third-party plugins,
o component-based GUI development for front-end
applications.
React Native
React Native
Pros
Up to 80% of a codebase can be shared across
platforms, depending on the app’s complexity.
Apartfrom code reusability, it allows you to
preview results right away, besides offering ready-
to-apply elements, thus shortening the developing
time considerably.
React Native
HotReloading feature enables developers to see
changes made in code within seconds, not minutes
when using native technologies.
ReactNative focuses on UI to a great extent
rendering a highly responsive interface.
React Native
Italso gives you access to certain great native
functionalities like accelerometer and camera.
The result it renders is a high-quality native-like
user interface.
React Native
Cons
React Native is not fully a cross-platform app
framework.
To use some functions like camera or
accelerometer you have to use native
components, so there will be a separate code
for Android and iOS.
React Native
Cons
Since the framework is not built in conjunction
with iOS or Android, it lags behind the native
platforms at times.
This is one of the reasons that led Udacity to
stop investing in React Native for new
features.
React Native
React Native lacks consistency when it comes
to releasing the updates.
React Native improves the speed of
development, but also increases the duration of
the debugging process, especially on Android.
React Native
Apps Made with React Native
• Instagram
• Bloomberg
• Pinterest
• Skype
• Tesla
Flutter
Flutter is
another open source and free cross-
platform framework for creating native interfaces
for Android as well as iOS.
Flutter
Flutter is Google’s open-source framework for
developing native Android and iOS apps using a
single codebase.
It is a revolutionary SDK for cross-platform app
development that stands out as it uses a unique
approach for delivering apps with a native-like
look and feel.
Flutter
Itis an unmatched and highly reliable mobile UI
framework for creating stunning apps quickly by
speeding up the development process.
Flutteris a complete framework that includes
widgets, a rendering engine, testing and integrating
APIs and tools to help developers build and deploy
aesthetically pleasing mobile apps.
Flutter
IDE
Android Studio
IntelliJ IDEA
Visual Studio Code
Emacs
Atom
Flutter
Pros
“Hot reloading” feature enables developers to see changes made in
code within seconds not minutes as when using native technologies.
It is an ideal framework for MVP development. Instead of spending
extra money and time on two separate apps, you can quickly build a
Flutter mobile application that looks native on both Android and
iOS.
.
Flutter
Pros
Flutter is based on Dart, an object-oriented
programming language that developers have
found rather easy to acquire the skill for.
Flutter has a full set of widgets in Google’s
Material Design and in Apple’s style with the
Cupertino pack.
.
Flutter
Cons
There is limited TV support with apps built on Flutter
framework, i.e., Flutter offers no support for Android TV
and Apple TV.
Though by virtue of being developed by Google, there are
several libraries with ready-to-implement functionalities,
Flutter still lacks when compared to native development.
.
Flutter
Cons
Since Flutter-enabled apps use built-in widgets and
not platform widgets, the app’s size is usually
bigger.
Currently, the smallest possible app made with
Flutter can weigh no less than 4MB.
.
Flutter
Apps Made with Flutter Cross-Platform App
Framework
• Alibaba
• Google
• Google Ads
• Tencent
.
Analysis
Native apps seem far superior in terms of performance and
user experience.
However, let’s not forget that the choice truly depends on
your application.
Simple applications like games and content distribution apps
are usually developed as a cross-platform app while apps
with specific features are native.
Analysis
Cross-platformis also preferred for B2B apps where
deployment time is of utmost importance.
Many small businesses also opt for cross-platform due to
their limited budget.
Analysis
However, compromising performance and user experience
for the sake of savings is often counterproductive.
Itis important for you to choose a platform that meets your
needs, requirements, as well as your target audience, needs
to create your winning app.
Future of Android App Development in 2021
Android AR and VR Technology
Instant Apps
AI On-demand Apps
and Machine Learning
IoT M-Commerce
Blockchain Technology Multiplatform Development
Accelerated (Flutter)
Mobile Pages
Kotlin MultiPlatform
(AMP)
That’s all for today!
Thank You Very Much!
References
Most Popular Operating Systems - Mobile Operating System Market Share World
wide 2009-2021 – YouTube
A Brief History of Google's Android, 12 Years Since Its Inception | Digital Trends
Android | Definition, History, & Facts | Britannica
Native VS Cross-Platform Apps | Differences Between Native and Cross-Platform
Apps (zeolearn.com)
Top Mobile App Frameworks in 2021 | Full Scale
Cross-Platform App Frameworks in 2021 (netsolutions.com)
Top Android App Development Trends in 2021 (scand.com)