0% found this document useful (0 votes)
7 views49 pages

Mobile Programming

The document outlines a mobile programming course (COME308) led by Dr. Ihab Elaff, focusing on mobile app development using Xamarin.Forms. It includes a grading system, course outline, and key topics such as mobile operating systems, application development platforms, and cross-platform frameworks. Additional resources and tools for development, including IDEs and SDKs, are also discussed.

Uploaded by

ahmed.s.g9800
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)
7 views49 pages

Mobile Programming

The document outlines a mobile programming course (COME308) led by Dr. Ihab Elaff, focusing on mobile app development using Xamarin.Forms. It includes a grading system, course outline, and key topics such as mobile operating systems, application development platforms, and cross-platform frameworks. Additional resources and tools for development, including IDEs and SDKs, are also discussed.

Uploaded by

ahmed.s.g9800
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/ 49

COME308 Mobile Programing

Prepared By: Dr. Ihab ELAFF


 What ? Why ? How?
 Grading System
 Text Books
 Course Outlines
 Mobile phone
 Smartphone
 Smartphone System
 Mobile OS Platforms
 Mobile App Development
 Why Xamarin?
 Xamarin Forms
 Additional Resources
Grading Item Marks
Homework 20
Sessions Work 10
Final Project 10
Midterm Exam 20
Final Exam 40
Total 100
 Creating Mobile Apps with Xamarin.Forms:
Cross-platform C# programming for iOS,
Android, and Windows, CHARLES PETZOLD,
Microsoft Press
Week Subjects
1 Introduction
2 Mobile OS Platforms and Application Development Platforms
3 Working with Xamarin.Forms [Layouts] – Application 1
4 Working with Xamarin.Forms [NuGet Packages]– App.2 &App.3
5 Working with Xamarin.Forms [Grid Layout] – Application 4
6 Working with Xamarin.Forms Application 5
7 MIDTERM EXAM
8 Working with Xamarin.Forms [Tabbed Page] – App. 6
9 MultiMedia Elements– Application 7
10 Working with Xamarin.Forms [List View] – Application 8
11 Working with SQLight database – Application 9
12 Working with SQLight database – Application 10
13 Project
14 Project
FINAL EXAM
 A mobile phone is a
portable telephone
that can make and
receive calls over a
radio frequency link
while the user is
moving within a
telephone service
area.
 Smartphone is a multi-purpose
mobile computing device.
 They have:
◦ Stronger hardware capabilities than
mobile phones (Camera, GPS Sensor,
wifi comm, …)
◦ Extensive mobile operating systems
that allow them to run advanced
applications.
 Hardware System
 Software System
 Microprocessor CPU Producers
 Famous Smartphones Producers
SDK
 Software Development Kit (SDK) is a
collection of software development tools in
one installable package.
 SDK normally consists of :
◦ debugger
◦ Libraries
◦ emulator
◦ Documentation
◦ sample code
◦ tutorials.
IDE
 Integrated Development Environment (IDE) is
a software application that provides
comprehensive facilities to computer
programmers for software development.
 An IDE normally consists of:
◦ source code editor
◦ build automation tools
◦ debugger.
◦ compiler and/or interpreter.
Software framework
 Software Framework is an abstraction in
which software providing generic
functionality that can be selectively changed
by additional user-written code to enable
the development of a project or system.
 Software frameworks includes:
◦ support programs,
◦ compilers,
◦ code libraries,
◦ tool sets,
◦ Application Programming Interfaces (APIs)
Application Program Interface (API)
 Application Programming Interface (API) is
an communication protocol between
different parts of a computer program and
something else such as:
◦ web-based system
◦ operating system
◦ database system
◦ computer hardware
◦ software library.
 CyanogenMod
 Firefox OS
 MeeGo/Maemo/Moblin
 webOS
 BlackBerry OS
 Windows Mobile
 Windows Phone
 Symbian
 Bada
 Palm OS
 Android  Plasma mobile
 Chrome OS  PostmarketOS
 Sailfish OS  LuneOS
 Tizen  iOS
 KaiOS  iPadOS
 Fuchsia  watchOS
 LiteOS  Windows 10
 PureOS  BlackBerry 10
 Ubuntu Touch  Windows 10 Mobile
 Android  Plasma mobile
 Chrome OS  PostmarketOS
 Sailfish OS  LuneOS
 Tizen  iOS
 KaiOS  iPadOS
 Fuchsia  watchOS
 LiteOS  Windows 10
 PureOS  BlackBerry 10
 Ubuntu Touch  Windows 10 Mobile
 Android vs. iOS vs. Windows : Which OS Works
Best for You?

 Android & iOS & Windows: ALL OS Should


Work for You
 Android vs. iOS vs. Windows : Which OS Works
Best for You?

 Android & iOS & Windows: ALL OS Should


Work for You

?
• The official language for Android development is Java

• The main language used in iOS Development is objective-C


We need Cross-platform frameworks
Mobile App Development Single-Platforms
Framework Examples:
 Android Studio (Android Only)[Google] 
Kotlin, Java and C++.

 Xcode (Apple Only) [Apple] C, C++,


Objective-C, Objective-C++, Java,
AppleScript, Python, Ruby, ResEdit (Rez),
and Swift.
Mobile App Development Cross-Platforms
Framework Examples:
 Qt C++
 Flutter (Google)  Dart
 NativeScript  Java
 Xamarin (Microsoft) C#
 Apache Cordova (Phonegap)  JavaScript
 React Native  Java for Android and
Objective-C or Swift for IOS
 Kivy  Python
 Xamarin Forms is a framework that enables
you to build native apps for iOS, Android and
Windows using single C# codebase.

XAML: eXtensible Application Markup Language


XAML Code Example

Windows
Phone Android iOS
<ContentPage>
<StackLayout Spacing="20"
Padding="50"
VerticalOptions="Center">
<Entry Placeholder="User name"/>
<Entry Placeholder="Password"
IsPassword="True" />
<Button Text="Login"
TextColor="White"
BackgroundColor="##FF77D065"/>
</StackLayout>
</ContentPage>
XAML Code Example

Windows
Phone Android iOS
<ContentPage>
<StackLayout Spacing="20"
Padding="50"
VerticalOptions="Center">
<Entry Placeholder="User name"/>
<Entry Placeholder="Password"
IsPassword="True" />
<Button Text="Login"
TextColor="White"
BackgroundColor="##FF77D065"/>
</StackLayout>
</ContentPage>
 Problem: No GUI editor for Xamarin-XAML
 Possible Solution: Use Microsoft-XAML (Windows
Presentation Foundation [WPF])
Xamarin-XAML Microsoft - XAML
<ContentPage> <Page>
<StackLayout Spacing="20" <StackPanel Margin="50"
VerticalAlign="Center">
Padding="50"
<TextBox PlaceholderText="User name" />
VerticalOptions="Center"> <PasswordBox PlaceholderText="Password" />
<Entry Placeholder="User name" /> <Button Content="Login" Foreground="White"
<Entry Placeholder="Password" Background="##FF77D065" />
</StackPanel>
IsPassword="True" />
</Page>
<Button Text="Login" TextColor="White"
BackgroundColor="##FF77D065" />
</StackLayout>
</ContentPage>
 Problem: No GUI editor for Xamarin-XAML
 Possible Solution: Use Microsoft-XAML (Windows
Presentation Foundation [WPF])
Xamarin-XAML Microsoft - XAML
<ContentPage> <Page>
<StackLayout Spacing="20" <StackPanel Margin="50"
VerticalAlign="Center">
Padding="50"
<TextBox PlaceholderText="User name" />
VerticalOptions="Center"> <PasswordBox PlaceholderText="Password" />
<Entry Placeholder="User name" /> <Button Content="Login" Foreground="White"
<Entry Placeholder="Password" Background="##FF77D065" />
</StackPanel>
IsPassword="True" />
</Page>
<Button Text="Login" TextColor="White"
BackgroundColor="##FF77D065" />
</StackLayout>
</ContentPage>
Tools (For windows users):
1- Microsoft Visual Studio 2019 – Preview edition

2- Android Studio to test your application on


Android emulator

3- What about testing the code on iOS Simulator


???
Mac Machine  Install Xcode for iOS
simulator
Windows Machine  Would be discussed
latter
 Xamarin University

You might also like