HIT238
MOBILE PARADIGM
Week 1
Unit Overview
&
Select Mobile Application Project
Unit Overview
• Primary Discussion – Native, Hybrid and Cross Platform Mobile
Applications along with Websites and Web Applications
• End Goal – Develop 1 Native Application (Android)
• Tools We Need – Android Studio
• Programming Language – Java
• Expected Knowledge – Basics of programming, the relevant Java
constructs will be discussed as we go along
Options
•Swift: The Apple framework
•Kotlin: Android Development
•Flutter/Dart: Unifying UI for Cross-Platform
•React Native: Facebook's Framework
•Java: For Android Development
•C++: Android and IOS – large complex apps
•Python: Move into Mobile
https://forbytes.com/blog/best-language-for-app-development/
Unit Overview - Assessments
• Assessment 1 (10%) – Presentation of project brief
implementing your learning from Week 1 & Week 2 and
written submission must be submitted by the start of Week 3.
Individual. Groups will be formed during this period
• Assessment 2 (30%) – Individual coding for Group project due
week 6
• Assessment 3 (40%) – Group of 2-3 Students.
Part A. Requirement Analysis Report – 10% - Week 9
Part B. One Application (Android) – 30% - Week 11
Unit Overview - Assessments
The choice of topic is from list provided online.
The app preferably should have features that we discuss
from Week 3 – 9.
The detailed marking rubrics for the report and app will
be released with the Assessment.
• Oral Exam – 20% – Theoretical Oral Exam.
Important Information & Expected
Etiquette
* Learnline Announcement\Message section is critically
important throughout.
* At all times CDU student email account should be checked
for updates.
* If you have any issues\complaints, discuss with me first
and fully understand what’s going on before deciding to take the
matter elsewhere.
* Please ask all questions on MSTeams. I will take up to a
week to reply to emails, so will direct you to Teams
* For persona questions, put in extension request or
generalize and put on MSTeams
Unit Overview – Java Development
Environment
Recommended Specification for Android Studio
• OS – Windows 10/11, 64-bits. Mac
• RAM – 12 GB, 8 GB will work but things may be a bit slow. You
should stop all other unused applications if that’s the case
• Hard Disk – 15 GB of free HD space
• Screen Resolution – 1280 x 800 minimum
Android Studio contains the required JDK, IDE and Emulators
Unit Overview – Development Environment
Android Studio IDE with
Emulator
Defining Mobile Applications
A software program created expressly for use with a mobile
device, such as a smartphone or tablet, is known as a mobile
application or App for short.
The idea and necessity of such apps date back in
the 80’s –
Introduction of the Psion Organiser in 1984 is
considered the "First Practical Pocket Computer in
the World". There were numerous familiar apps on
it, including a clock, a calculator and a contact
Defining Mobile Applications
Simon was a product of IBM's in 1994. Emails and faxes could
be sent and received by this personal digital assistant with
‘call’ feature. Additionally, it included applications like a
calendar, address book, and meeting scheduler.
Blackberry introduced its smartphone with email feature in 2002. It was an
immediate success with the businessperson.
Apple launched its iPhone in 2007. App Store was introduced in the following
year with 500 initial Apps.
The first Android Smartphone, the HTC Dream, was launched in September
2008.
Relevant Statistics
The number of smartphone users on the globe is nearly 4 billion (2022)
In 2020, the average smartphone user had 40 apps installed on their phone
According to app sales statistics, mobile apps could generate more than $935
billion in revenue by 2023
87% of smartphone users spend their mobile time on apps
Google Play Store has nearly 3 million Apps while Apple App Store has 4.8
million (2022)
On average, about 70,000 new Android apps are released in the Google Play
Store every month (2022)
Number of mobile app downloads
worldwide from 2018 to 2023 (in billions)
Relevant Statistics
Ref: statista.com
Why Mobile Apps are so Useful
Generate Additional Sales:
Note: Apps are not always of
Useful for customers on the move
value for all types of
In-app ad revenue businesses or entities. If you
Push notification have a reasonable number of
visitors (monthly/daily) to your
Improved Customer Experience:
website, an App may be useful
Better UI experience
Ability to serve location specific information
Receiving Feedback:
User comments on the functionality and feel of the app
Easy Accessibility:
Apps icon can be placed in the mobile’s home screen, giving the user a
1-tap access, whereas web solutions in general require multiple steps.
Websites and Web Applications
A Website is a collection of interconnected, globally accessible web pages. The
primary objective of Websites is to provide relevant information. Websites are
easier to create and maintain, and less costly. Example: Wikipedia, Blogs etc.
Web Applications are also websites but with functionality and interactive
elements. These sites are built for user engagement and dynamic in nature.
Example: Facebook, Amazon, Commbank Online Banking etc.
A website of a restaurant can just be a Website with images of the menu and
other ordering information. However, it can be turned into a Web Application if
interactive menu selection, account opening/authentication, order confirmation,
and digital payments can all be made through the site itself.
Types of Mobile Apps
Ref: externlabs.com
Types of Mobile Applications – Native Apps
A Native App, often known as a Native application, is a software
program created in a particular programming language for a
particular mobile platform, for instance iOS or Android.
Java is used to create native Android apps, while Swift or Objective-C
is used for iOS apps. Example: Twitter, Spotify etc.
Which language is common for
development
Types of Mobile
Applications – Native Apps
The Coding constructs, for the
most parts, are not much
different, however, the design
principals are different
Ref: brandwidth.com
Types of Mobile Applications – Hybrid Apps
Hybrid Apps are essentially web apps that have been put in a native
app shell. Once they are downloaded from an app store and
installed locally, the shell is able to connect to whatever capabilities
the mobile platform provides through a browser that's embedded in
the app. The browser, that acts as a container, and its plug-ins run
on the back end and are invisible to the end user.
Hybrid apps work similar to Web apps but like native apps, are
downloaded to the device. Similar to Web apps, hybrid apps are
typically written in HTML5, CSS and JavaScript. A large portion of
platform independent code/functionality can be stored in Servers.
Ref: techtarget.com
Types of Mobile Applications – Hybrid Apps
Development Tools
Apache Cordova
Visual Studio
Ionic
Some Example :
Gmail
Evernote
Justwatch
Ref: wavemaker.com
Types of Mobile Applications – Cross-platform Apps
Cross-platforms Apps are similar to Hybrid apps only in terms of
‘Code-shareability’ across developmental platform.
The apps are mostly written in pure Javascript or Dart, and then
connected to a Bridging component that is able to directly access
the native UI components to render the User Interface. There is no
need to use a hidden browser like WebViews.
The overall framework boosts the performance, rendering an UI that
is almost native.
Ref: techtarget.com
Types of Mobile Applications – Cross-platform Apps
Development Tools
Basic React Native Architecture
React Native
Xamarin
Flutter
Some Example :
Skype
Facebook
Bloomberg
Ref: formidable.com
Plan for Next Week
Pros and Cons of different types of Apps
Choosing the right app for your use case
Choosing right software for your use case
Design considerations for mobile devices
Discussion on the installation of Android Studio (optional)
A simple “Hello World” Program to confirm the installation
Projects
Data Collection and Display - Language App
Domain specific Chat Bot- Menzies Well Being app
Information App (PWA) – Website/app