Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
0% found this document useful (0 votes)
317 views

Introduction To Mobile Programming

This document provides an introduction to mobile programming and application development. It discusses what mobile programming is, the difference between mobile and web programming. It also covers categories of mobile devices, development approaches including native, hybrid, progressive web and cross-platform apps. The document details the mobile application development lifecycle and benefits of mobile apps. It concludes with exercises for the reader.

Uploaded by

Sue
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
317 views

Introduction To Mobile Programming

This document provides an introduction to mobile programming and application development. It discusses what mobile programming is, the difference between mobile and web programming. It also covers categories of mobile devices, development approaches including native, hybrid, progressive web and cross-platform apps. The document details the mobile application development lifecycle and benefits of mobile apps. It concludes with exercises for the reader.

Uploaded by

Sue
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 24

Lesson 1

Introduction to Virtualization

Abdulrahman Ahmed
PhD IT(Currently), MSc. IT, MSc. CS & BSc. IT
CONTENT
1. Introduction
2. Categories of mobile devices
3. Development Approaches
4. Mobile Application Development Lifecycle
1. INTRODUCTION
What is mobile programming?
 Mobile programming is the process of creating
software applications that run on a mobile device, and
a typical mobile application utilizes a network
connection to work with remote computing resources.
 It is the process of making software for smartphones,
tablets and digital assistants, most commonly for the
Android and iOS operating systems.
 The software can be preinstalled on the device,
downloaded from a mobile app store or accessed
through a mobile web browser.
What is mobile programming?
 The difference between mobile programming and web
programming is as follows
 Mobile programming is the process of producing
applications that can run on iOS or Android-powered
mobile devices.
 In contrast, web development is the procedure of
developing websites and web applications that run on
web browsers.
 Both of these fields are constantly changing
What is mobile programming?

 It is the process by which mobile apps are developed for mobile devices
such as PDAs and mobile phones.
 It can also be defined as a set of processes and procedures involved in
writing software for small, wireless computing devices.
 There are three dominant platforms in the modern smartphone
market. These are:
1. IOS platform from Apple
2. Android from Google
3. Windows
 There are several languages used for mobile programming. They
include Java, Kotlin, C#, Python which are popular for android
platform. Objective C, and Swift are popular languages for iOS
platform.
 Programmers can select any of the language of their choice for writing
mobile programs.
Mobile device and its features.
 Mobile device is a general term for any handheld computer or
smartphone. Tablets, smartphones, PDAs are all mobile devices.
It is a computer which is small enough to hold and operate in the
hand.
Features
 It is portable
 It’s personal
 It’s with you most of the time
 It’s easy and fast to use
 It has some kind of network connection
2. CATEGORIES OF MOBILE
DEVICES
Categories of mobile devices
 Devices can be categorized on the basis of several parameters like size,
speed, functionality etc..
1. Mobile phones
 Are devices which have call and SMS support. They don’t have web
browsers or connectivity and they don’t have any installation
possibilities.
2. Low-end mobile devices
 They have web support. They have a very basic browser. People who
buy these devices don’t tend to be heavy internet users.
3. Mid-end mobile devices
 This is the mass market option for a good mobile web experience.
Devices in this category offer a medium sized screen, basic HTML-
browser support, sometimes 3G, a decent camera, a music player,
games, and application support.
4.High-end mobile devices/Smartphones
5.Tablets, Notebooks etc..
Brands for mobile device
 Apple
 Nokia
 Blackberry
 Samsung
 Sony Erickson
 Motorola
3. Development Approaches
There are 4 different ways/approaches to develop
Mobile apps: –
 Native Applications
 Progressive web Applications
 Cross-Platform Applications
 Hybrid web applications
1. Native Applications
 These types of apps normally run in the native devices, that is, it
runs only in the OS that it is specifically designed for it.
 These apps cannot be used on different devices using a different
OS. The apps that are developed for android are normally coded
using Java or Kotlin languages.
 The IDE normally used for android app development is Android
Studio which provides all features and the apps that are
developed for IOS are generally coded in Swift language or
Objective-C. The IDE suggested for IOS App Development is
XCode.
Advantages of Native Applications:
 The performances of these apps are very high these apps very fast
compared to any other apps.
 We have easy access to all the features and APIs.
 The community is widespread so all your doubts and errors can
be discussed and solved easily.
 Updates are available on the same day.
Disadvantages of Native Applications:
 The development speed is too slow as we have to code it again for
different OS.
 And this category doesn’t support open source.
2. Hybrid-Web Applications
 Hybrid web applications are built with standard web
technologies such as JavaScript, CSS, and HTML and are
bundled as app installation packages.
3. Progressive web Application: –
 Progressive web apps are essentially a website which runs locally
on your device.
 The technologies used are Microsoft Blazor, React, Angular JS,
Native Script, Iconic.
 These technologies normally used for web development purpose.
The apps’ UI is developed the same way as they are developed
while developing the website.
 This category has many ups and downs let’s start with the
advantages of Progressive web apps.
Advantages of Progressive web Application:
 The main advantage of this process is that its development speed
is fast the same code base is used for IOS, Android, web
applications.
 The web development team can be repurposed to develop the
mobile application.
 No installation required.
Disadvantages of Progressive web Application:
 They don’t have access to all the feature and so the user
experience is not that good.
 The UI for development is bespoke.
 The community is not that wide spread.
 No extra room for business model.
4. Cross-Platform Application: –
 These are frameworks that allow developing total native
applications which have access to all the native features of IOS
and Android but with the same code base.
 Xamarin is Microsoft cross-platform solution that uses the
programming languages like .NET, C#, F#. The IDE preferred is
Visual Studio.
 React Native is Facebook’s cross-platform solution which uses
the language JavaScript And the preferred IDE is WebStrome &
Visual Studio Code.
 Flutter is Google’s cross-platform solution which uses the
language, Dart. The IDE preferred is Android Studio, IntelliJ
IDE, and Visual Studio Code.
Advantages of Cross-Platform Application:
 The apps’ development speed is very high as they use the same
code base for both Android and IOS.
 The apps’ maintenance cost is low as the errors and updates as to
be countered only once.
Disadvantages of Cross-Platform Application:
 Slow Code Performance With Limited Tool Availability.
 Limited User Experience i.e. these apps does not have access to
Native only features.
Benefits of Mobile Applications
 Convenience – A mobile app user can access and share
information anytime or anywhere. Internet connection is not
required for most apps.
 Interactivity – Modern user input goes beyond clicking and
typing. Mobile apps are touch-based, allowing users to
control the interface through pointer lock and drag and drop
actions.
 Personalization – A user can change the settings of the
mobile app based on his/her preferences.
 Speed – The need to wait for loading information over a slow
Internet connection is eliminated since information is stored
within the mobile application.
 Productivity – Users can write, read, and present their
reports using only their mobile phones.
4. Mobile Application
Development Lifecycle
Mobile Application Development Lifecycle
There are two interlinked core components of a mobile application:
1. The mobile application “Front-End” that resides on the
mobile device.
2. The services “Back-End” that supports the mobile front-end.
 The mobile front-end is the visual and interactive part of the
application the user experiences. It usually resides on the device,
or there is at least an icon representing the app that is visible on
the home screen or is pinned in the application catlog of the
device.
 Regardless of what front-end platform or development
methodology is being used, delivering high quality mobile
applications that delight and retain users require reliable back-
end services.
Exercise
 What do you mean by mobile device. Explain its features.
 Explain different categories of mobile devices.
 Explain about history of mobile devices in details.
 Explain different brands, models and platforms of mobile devices
in details.
 What do you mean by mobile programming? Explain life cycle of
mobile application development.
 List and explain five popular programming languages used for
developing mobile applications.
 What are different mobile app development approaches? Explain
in detail.
Next Session

 History of Mobile Application

The End
Any Questions?

You might also like