0% found this document useful (0 votes)
23 views25 pages

Lecture 1 - Introduction To Mobile Applications Development

Ffff

Uploaded by

younesalshammaa
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
23 views25 pages

Lecture 1 - Introduction To Mobile Applications Development

Ffff

Uploaded by

younesalshammaa
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
You are on page 1/ 25

Lecture 1: Introduction to

Mobile Applications
Development
T. Fatima Al-azazi
Agenda

● What is mobile application?


● Mobile application vs web application
● Mobile application development models
● Native and cross platform solutions
● What is Flutter
● Why Flutter?
● What is Dart?
● Why Dart?

2
What is Mobile Application?

● A mobile application, most commonly referred to as an app,


is a type of application software designed to run on a mobile
device, such as a smartphone or tablet computer.
● Mobile applications frequently serve to provide users with
similar services to those accessed on PCs.

3
Mobile Applications vs Web Applications
Mobile Applications Web Applications
Pros: Pros:
1. faster than web apps 1. No installation
2. Provides more 2. Maintenance is easy
functionality 3. Self-upgradation
3. No need of internet 4. Quick implementation
connectivity 5. Does not require approval
4. Provides security from app store.
5. Easy to implement.
Cons:
Cons:
6. Need internet connectivity
6. Increased development 7. Slow
costs 8. Less availability
7. No compatibility between 9. Less guaranteed security. 4
different platforms
Mobile Application Development Models

There are five different mobile application development models


which exist.

1. Native application development


2. Hybrid application development
3. Cross-platform application development
4. PWA development
5. Desktop application development.

5
Native application development model
● Used to create mobile app which supports single
platform/operating system.
● It uses programming language which is the operating system
dependent.
● For example, Java or Kotlin for android OS and swift or objective
C for IOS.
● Native application development model will have access to all
features in a feature set of device, so that it gives a good
performance.
● Tools that can be used in native application development model
are android studio, android IDE and ATOM
Advantages:
1. Gives best performance
2. Provides more security 6
Hybrid application development model
● Combines elements of web applications with mobile application.
● Codebase needs to be developed using web technologies like HTML
and CSS.
● Then, the codebase will be wrapped inside the container.
● The container is web view which will act as a browser to load the
application.
● Native plugins specific to a mobile device can be installed
specific to mobile device, so that features of mobile device can be
accessed through web application.
● Tools to be used in hybrid app development are Cordova, Ionic,
etc.
● Example applications developed using hybrid application
development model are Gmail, Evernote, etc.
Advantages:
1. Uses agile process model 7
Cross-platform application development model
● Bridges are used to connect codebase written in framework-dependent
programming language to native components.
● Cross-platform applications do not depend on platforms.
● Easy to implement, cost-effective and provide good functionality.
● Tools to be used in cross-platform application development model are
React Native, NativeScripts and Flutter.
● Examples of applications developed using cross-platform application
development model are Instagram, GoogleAds.

Advantages:

1. Quick time to market


2. Single source code
3. Easy implementation
4. Easy maintenance
5. Same application can run on different devices.
8
Progressive web application development
● An alternative approach to traditional mobile application
development.
● the application need not to be installed so that storage is not
required.
● These are the web applications which utilize the capabilities
of a browser to provide mobile application like user
experience.
● Tools to be used in progressive web application development
model are React, Angular JS.
● Examples of applications developed using progressive model are
e-commerce applications, Flipkart.
Advantages:
1. Can run on any device
2. Easy to develop 9
Desktop application development model

● Desktop application development model is the most widely


used model nowadays to develop cross-platform desktop
applications.
● Electron can be used as a tool to develop desktop
applications.
● Some of the desktop applications are Chime, slack.
Advantages:
1. High efficiency
2. Easily scalable
3. Security
4. Easy to maintain
10
Comparison of different models on technical aspects

11
Mobile
Application
Development
Models

12
13
WHAT IS FLUTTER

● Flutter is Google’s portable UI framework for building modern,


native, and reactive applications for iOS and Android.
● Flutter is a cross-platform framework
● Google is also working on Flutter desktop embedding and Flutter
for the Web and embedded devices .
● Flutter is an open-source project hosted on GitHub with
contributions from Google and the community.
● Flutter uses Dart, a modern object-oriented language that
compiles to native ARM code and production ready JavaScript code.

14
15
16
17
18
Why Flutter?
● No JavaScript bridge:
○ The JavaScript bridge, used in most cross-platform
options, is a major bottleneck in development and in
your application’s performance.
○ apps don’t lose any performance or productivity when
running on a user’s device.
● Compile time
○ In Flutter, a full compile generally takes less than 30
seconds, and incremental compiles take less than a
second (hot reloading).
● Write once, test once, deploy everywhere
○ Not only do you get to write your app one time and 19
Why Flutter? Part 2

● Code sharing:
○ With Flutter and Dart, your web and mobile apps can
share all the code except each client’s views.
○ Flutter will be able to target Web and Desktop, too.)
○ In practical terms, this means you are super productive.
● Productivity and collaboration
○ Gone are the days of separate teams for iOS and
Android.
● Code maintenance:
○ Nothing is more satisfying than fixing a bug once and
having it corrected on all your clients.
20
WHAT IS DART !!

● A general-purpose, high-level modern programming


language developed by Google.
● Open source web programming language
● Emerged in 2011,
● Dart gains popularity when it is used by Flutter.
● Dart is class-based, single-inheritance object-oriented
programming language.
● Supports interfaces, abstract classes, reified
generics ,optional typing and strong typing.
● If you know any of these programming languages, you can
easily learn Dart because it is C-style syntax

21
WHY DART ?!
● Dart is a platform-independent language and supports all
operating systems such as Windows, Mac, Linux, etc.
● It is an open-source language, which means it is available
free for everyone. It comes with a BSD license and is
recognized by the ECMA standard.
● It is an object-oriented programming language and
supports all features of oops such as inheritance,
interfaces, and optional type features.
● Dart is very useful in building real-time applications because
of its stability.
● Dart comes with the dar2js compiler which transmits the
Dart code into JavaScript code that runs on all modern web
browsers.
● The stand-alone Dart VM permits Dart code to run in a
command-line interface environment. 22
23
24
Assignment 1

1. Install Dart and Flutter SDKs


2. Install any IDE that support Flutter (Android Studio , Intellij or
Visual code)
3. Install Dart and Flutter plug-ins in your IDE
4. Print out the versions of Dart and Flutter that you have
installed.

25

You might also like