0% found this document useful (0 votes)
24 views24 pages

01-Module 1

Uploaded by

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

01-Module 1

Uploaded by

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

CSE431

Mobile Programming

MODULE 1:
Introduction to Mobile Programming
Module 1

Course Topics

Class Schedule

Course Grade Distribution

Different ways to develop Apps

Mobile phones and network technologies

The Importance of Version Control Software in Mobile App Development

Major Task

2
Course Topics

3
Course Topics

▪ Introduction to Mobile Programming


▪ Introduction to Flutter
▪ Building User Interfaces with Flutter
▪ Internet Access
▪ Data Persistence
▪ Cloud Services: Using Firebase
▪ Sensors, Location and Google Maps
▪ Animation, Motion Widgets and Text-to-Speech
▪ Mobile App Testing
▪ Security of Mobile Apps
▪ AI for Mobile Apps

4
Class Schedule

5
Class Schedule

▪ Lecture: Mondays

▪ Labs / Tutorials : Saturdays & Sundays

6
Course Grade Distribution

7
Course Grades

▪ (SA) [Project - (new bylaw 15% - old bylaw 10%)]

▪ (EA) [Quiz - 5%](MT) – 2 Quizzes

▪ [MidTerm - (new bylaw 20% - old bylaw 25%)]


▪ (OP) [Lab assignments - 20%]
▪ 4 Lab Exams (5% each)
▪ Lab attendance/completion is Required for all Labs.

8
Different ways to develop apps

9
Different ways to develop apps
Native approach

▪ Uses native development platform and programming languages from the OS


creator/maintainer to build the app.

▪ Android
▪ Native app development platform - Android studio
▪ Programming language - Kotlen.

▪ iOS
▪ Native app development platform - Xcode
▪ Programming language - Swift.

10
Different ways to develop apps
Cross-platform approach

▪ Uses one development platform and programming language to produce different


versions of the same app that targets different operating systems.

▪ Cross-platform tools:

▪ .Net MAUI https://learn.microsoft.com/en-us/dotnet/maui/?view=net-maui-8.0

▪ Flutter https://flutter.dev/

▪ React Native https://reactnative.dev/

11
Different ways to develop apps
Hybrid approach
▪ Combination of web technologies (i.e.HTML, CSS, and JavaScript).

▪ Hosted inside a native application that utilizes a mobile platform’s WebView.

▪ Enables access to device capabilities (accelerometer, camera, contacts, etc.).

▪ Can include native UI elements where necessary.

Reference: http://developer.telerik.com/featured/what-is-a-hybrid-mobile-app/
Image Reference: www.liquidcanyon.com
12
Mobile phones and networks
technologies

13
Mobile phones and network technologies
Different types of mobile devices

Smartphones Tablets

Android TV boxes Smart watches

Upper left: Ultimate Android experience by Google, Upper right: Ultimate Android experience by Google,
https://www.google.com.eg/nexus/ https://www.google.com.eg/nexus/
Lower left: Ultimate Android experience by Google, Lower right: Android wear by Android, 14
https://www.google.com.eg/nexus/ https://www.android.com/intl/en_in/wear/
Mobile phones and network technologies
Capabilities of mobile devices

Operating System Camera

Display Connectivity

Sensors Input methods

Image: Galaxy S6 edge by Samsung, http://www.samsung.com/uk/consumer/mobile-devices/smartphones/galaxy-s/SM-G925FZKEBTU 15


Mobile phones and network technologies
Limitations of Mobile Devices

CPU Speed Screen size

Memory Network Coverage

Battery Voice recognition

Image: Galaxy S6 edge by Samsung, http://www.samsung.com/uk/consumer/mobile-devices/smartphones/galaxy-s/SM-G925FZKEBTU 16


The Importance of Version Control
Software in Mobile App Development

17
The Importance of Version Control Software in Mobile
App Development

▪ Efficient Collaboration

▪ Tracking Code Changes

▪ Safe Experimentation with Branching

▪ Facilitating Continuous Integration and Continuous Deployment (CI/CD)

▪ Simplifying Code Reviews and Collaboration

▪ Disaster Recovery and Backup

▪ Supporting Remote Work and Global Teams

▪ Documentation and Knowledge Sharing

18
Install Android Studio + Flutter SDK

19
Using Flutter
20
Course Major Task

21
Hedieaty

Hedieaty is a gift list management app designed to streamline the process of creating, managing, and sharing wish lists for special
occasions such as birthdays, weddings, engagements, graduations, and holidays. The app features a user-friendly interface that
allows users to easily add gifts to their lists, either manually or through an integrated barcode scanner. With Hedieaty, users can
manage their lists flexibly, including adding, deleting, and modifying items at any time—except for items that have been pledged.
The app also enables users to publish their lists to the cloud, allowing friends and family to view and pledge to purchase gifts,
enhancing the joy of gift-giving. The app should be designed using Flutter and published on Appstore, Google Play Store, and/or
Amazon App Store.
22
Join our Temporary Teams Group

Teams Code

88vz60f

23
End of Module 1

You might also like