Mobile Applications Development
DAM L3 TI
Dr. SEGHIRI Akram
NTIC Faculty
[email protected]
Constantine 2 University 2024/2025 Semester 1
Mobile Applications Development
DAM L3 TI
Introduction
NTIC Faculty
Dr. Seghiri Akram
[email protected]
Constantine 2 University 2024/2025 Semester 1
Introduction
In general, creating a mobile application is a very complex and challenging task. There are many
frameworks available, which provide excellent features to develop mobile applications.
• For developing mobile apps, Android provides a native framework based on Java and Kotlin
language, while iOS provides a framework based on Objective-C/Swift language.
• Thus, we need two different languages and frameworks to develop applications for both OS.
• Today, to overcome this complexity, there are several frameworks that support both OS along
with desktop apps.
• These types of the framework are known as cross-platform development tools.
Constantine 2 University 2024/2025 Semester 1
Introduction
Flutter is an open-source UI software development kit created by Google. It can be
used to develop cross platform applications from a single codebase for the web,
Fuchsia, Android, iOS, Linux, macOS, and Windows.
Flutter is used internally by Google in apps such as Google Pay and Google Earth as well
as other software developers including ByteDanceand Alibaba.
Constantine 2 University 2024/2025 Semester 1
Flutter vs React Native: Comparison table
Technology Flutter React Native
An open-source UI toolkit for cross
A framework for cross platform
What is it? platform development from a single
development using React
codebase
Official release December 2018, Google I/O March 2015, F8 Conference
Created by Google Meta
Free and open source Yes Yes
Programming language Dart JavaScript
Popularity 162k stars on GitHub (May, 2024) 116k stars on GitHub (May, 2024)
Hot Reload feature Yes Yes
Flutter is intuitive and easy to
understand. For most beginners, it’s
React Native can be a little harder to
simpler than React Native, especially
learn, but once you learn it, you know
because you can use a variety of state
Difficulty React, and vice versa. You can use
management solutions, ranging from
them in many cases. Dart (Flutter’s
very simple to more sophisticated,
language) is mostly used with Flutter.
depending on the project scale and
Constantine 2 University complexity. 2024/2025 Semester 1
Flutter vs React Native: Comparison table
• Android
• Android & iOS (supported by
• iOS
creators of React Native)
• Windows
• Windows (all devices that support
• macOS
Windows 10 such as PC, Xbox
• Linux
Platforms tablets; supported by Microsoft)
• Google Fuchsia
• MacOS (supported by Microsoft)
• Web
• Web platform & Android and iOS
• Embedded devices
TV platforms (supported by the
• Other unofficially supported platforms (ie. Tizen for
community)
Samsung Smart TV, LG webOS, etc.)
Flutter uses its own highly customizable widgets that React Native uses native UI
allow developers to adjust their properties and styles to widgets under the hood so
achieve the desired look and behavior across every developers have the freedom to
UI platform. It also comes with a set of out-of-the-box stay with the default platform’s
development widgets based on the Material (Android) and Cupertino styling or adapt it to the desired UI.
(iOS) designs, so it retains the feel of native apps. There is usually more room for
Flutter’s custom rendering engine ensures that the UI is improvement here, and the
Constantine always consistent and performant across all platforms.
2 University application
2024/2025 will be1more elegant.
Semester
Flutter vs React Native: Comparison table
• Your team is
comfortable with
• You value fast
JavaScript and React.
development times.
• You need a
• You need highly
native-looking UI on
customized UI or
When to choose what? both platforms.
animations.
• You value a large
• Performance is critical.
community and mature
• Your team is familiar
ecosystem.
with Dart.
• 3D graphics are
important.
Constantine 2 University 2024/2025 Semester 1
Introduction
iOS and Android apps
Build features once and deploy to both iOS and Android.
Cupertino and Material designs are built into the Flutter
framework, so your apps feel at home on both platforms.
Constantine 2 University 2024/2025 Semester 1
Introduction
Features of Flutter
Flutter framework offers the following features to developers:
❑ Modern and reactive framework.
❑ Uses Dart programming language and it is very easy to learn.
❑ Fast development.
❑ Beautiful and fluid user interfaces.
❑ Huge widget catalog.
❑ Runs same UI for multiple platforms.
❑ High performance application.
Constantine 2 University 2024/2025 Semester 1
Requirements
Your Windows Flutter development environment must meet the following minimal hardware requirements.
Requirement Minimum Recommended
x86_64 CPU Cores 4 8
Memory in GB 8 16
Display resolution in pixels WXGA (1366 x 768) FHD (1920 x 1080)
Free disk space in GB 4 GB 52 GB
Constantine 2 University 2023/2024
2024/2025 Semester 2
1
Requirements
Dart SDK : https://dart.dev/get-dart
Flutter SDK : https://docs.flutter.dev/get-started/install/windows/mobile?tab=download
IntelliJ IDEA : https://www.jetbrains.com/idea/download/?section=windows
AndroidStudio : https://developer.android.com/studio?hl=fr
Visual Studio Code : https://code.visualstudio.com/download
Constantine 2 University 2024/2025
2023/2024 Semester 1
2
Requirements
Emulators :
❑ LDPlayer : https://fr.ldplayer.net/
❑ BlueStacks : https://www.bluestacks.com/fr/index.html
❑ NoxPlayer (better avoid) : https://www.bignox.com/
Constantine 2 University 2024/2025
2023/2024 Semester 1
2
Requirements
If your computer has 8GB of RAM or more follow this Video:
Video Link:
https://www.youtube.com/watch?v=7RMilYh-u_k&list=PLyl1E363utpjAZeeskV
uWBPrXXhzqETQ7&index=6
Presentation Link:
https://drive.google.com/file/d/1j9O_9xEfIHN4IGfWVaf-8hMXUNXAb0Dm/vie
w?usp=sharing
If your computer has 4GB:
Video Link:
https://www.youtube.com/watch?v=qXC1Yj3FLAI&list=PLyl1E363utpjAZeeskVu
WBPrXXhzqETQ7&index=7
Constantine
Constantine2 2University
University 2023/2024
2024/2025Semester
Semester2 1
Requirements
Start Android Studio or IntelliJ. From the top of this panel, select Marketplace.
Go to File > Settings. Type flutter in the plugins search field.
You can also press Ctrl + Alt + S. Select the Flutter plugin.
The Preferences dialog opens. Click Install.
From the list at the left, select Plugins. Click Yes when prompted to install the plugin.
Click Restart when prompted.
Constantine
Constantine2 2University
University 2023/2024
2024/2025Semester
Semester2 1
Requirements
Constantine 2 University 2023/2024 Semester 1
2024/2025 2
Requirements
Constantine 2 University
Constantine 2 University 2024/2025 Semester
2023/2024 1 2
Semester
Editor
❑ You can build apps with Flutter using any text editor or integrated development environment
(IDE) combined with Flutter's command-line tools.
❑ The Flutter team recommends using an editor that supports a Flutter extension or plugin, like
VS Code and Android Studio. These plugins provide code completion, syntax highlighting,
widget editing assists, run & debug support, and more.
❑ You can add a supported plugin for Visual Studio Code, Android Studio, or IntelliJ IDEA
Community, Educational, and Ultimate editions. The Flutter plugin only works with Android
Studio and the listed editions of IntelliJ IDEA.
Constantine 2 University 2023/2024 Semester 2