CPGM21X1 - Sheridan College

Download Report

Transcript CPGM21X1 - Sheridan College

PROG 38448
Mobile Java Application
Development
Course Introduction & Overview
Software Install
Demonstrations
Professor Information
Wendi Jollymore
[email protected]
Ext. 8797
Office: S401
(top of stairs near Second Cup)
Social Networking:
Pthhh :P
7/17/2015
Wendi Jollymore, ACES
2
Office Hours
Office: S401
Hours:
Monday
11am to 2pm
Tuesday
1pm to 3pm
Wednesday
12pm to 2pm
Friday
9am to 11am
7/17/2015
Wendi Jollymore, ACES
3
About PROG 38448
Course Outline
Course Coverage:
IDEs
Mobile device guidelines and best practices
UI Design and Development
Threads, Background Apps
Networked Apps
Data Storage
Other stuff
7/17/2015
Wendi Jollymore, ACES
4
Course Evaluation
In-Class Exercises or Quizzes
25%
Take-home Assignments
20%
Mid Term Test
25%
Final Exam
30%
Total
100%
You must have an average of 50% on
both exams in order to pass this course!
7/17/2015
Wendi Jollymore, ACES
5
Required Resources
SLATE: some RIM Materials
Textbooks in PDF format
Books24x7 books, specifically
Beginning BlackBerry Development by
Anthony Rizk
ISBN: 9781430272250
BlackBerry Developer’s Zone
http://us.blackberry.com/developers/
7/17/2015
Wendi Jollymore, ACES
6
Software Required
Eclipse with BlackBerry plug-in
BlackBerry JDE (various versions)
BlackBerry Email and MDS Services
Simulator
Maybe some other stuff later in the
course e.g. SqlLite, additional BB
simulators, etc
7/17/2015
Wendi Jollymore, ACES
7
Questions?
Any questions so far?
7/17/2015
Wendi Jollymore, ACES
8
Developing for Mobile Devices
Resources:
Intro to Developing Apps (RIM)
See today’s lesson:
Introduction to Developing Mobile
applications
Book 1 - Intro to Mobile Application
Development - Module 01 Intro to
Developing Applications
7/17/2015
Wendi Jollymore, ACES
9
Developing for Mobile Devices
Exercise 1
to be done in groups, with discussion
following:
1. Identify and describe the differences
between mobile applications and
typical desktop applications.
2. Identify and describe a user's needs
and expectations of mobile
applications.
7/17/2015
Wendi Jollymore, ACES
10
Developing for Mobile Devices
Exercise 1.1:
Mobile devices are MOBILE! Desktops are not!
Mobile devices have smaller storage capacity than desktops.
Mobile devices have lower memory capacity than desktops.
Limited power on mobile devices; desktops can run
continuously without worrying about power and can run
power-intensive apps.
Smaller and varying screen size on mobile apps.
Mobile apps – different input methods; desktops = touchtyping.
Desktops can display multiple app screens at the same time;
mobile apps display only a single app screen at a time.
Mobile devices use wireless, so slower data transfer rates
and less reliable.
7/17/2015
Wendi Jollymore, ACES
11
Developing for Mobile Devices
Exercise 1.2:
Users want time-sensitive information quickly
(60 second rule).
Users want only the most relevant
information – only the options/info most
relevant to the current task.
Simple and easy-to-use, consistent.
7/17/2015
Wendi Jollymore, ACES
12
Developing for Mobile Devices
Resources:
Methods of App Development (RIM)
See SLATE/Learning
Modules/Introduction/Lesson
1/Introduction to Developing Mobile
applications for these resources
7/17/2015
Wendi Jollymore, ACES
13
Developing for Mobile Devices
Exercise 2
to be done in groups, with discussion
following:
1. Define the three types of mobile
applications.
2. Describe the advantages and
disadvantages of each method of
mobile application development.
7/17/2015
Wendi Jollymore, ACES
14
Developing for Mobile Devices
Exercise 2.1:
Java Applications
Java ME
Reside and run on mobile device
Doesn’t need to access internet after
download/installation
Can synchronize with apps/data on computer
Web Applications
App resides on content server and is accessed on
device with the web browser
HTML/XHTML, images, JavaScript, CSS, Ajax, etc.
Example: cbc.ca/mobile
7/17/2015
Wendi Jollymore, ACES
15
Developing for Mobile Devices
Exercise 2.1, continued:
Widgets
Single-purpose apps developed with web
technologies
Run as an application in its own instance
of a web browser so it looks like a regular
app
Can be stand-alone app or can be
connected to Internet.
Example: foodnetwork.ca app
7/17/2015
Wendi Jollymore, ACES
16
Developing for Mobile Devices
Exercise 2.2:
Java Apps, Advantages:
Flexibility re style, function, appearance
Can take advantage of existing device features
(maps, media player, contacts)
Can communicate with peripheral devices via
Bluetooth easily (standardized)
Anytime access – app resides on device
Access to location-based services.
Can use background threads/processes.
Some require no bandwidth, or can develop a
“push” app to minimize bandwidth
7/17/2015
Wendi Jollymore, ACES
17
Developing for Mobile Devices
Exercise 2.2, continued:
Java Apps, Disadvantages:
Skill requirements – need to know how to
program!
No existing framework so you need to
figure out how to present your app’s
features
Limited local storage.
You need to develop different application
versions for a variety of different devices.
7/17/2015
Wendi Jollymore, ACES
18
Developing for Mobile Devices
Exercise 2.2, continued:
Web Apps, Advantages:
No issues with storage capacity since everything is
stored on content server.
Can work with existing frameworks
e.g. use same connection, compression,
encryption as BB email app and don’t have to
build these
Access to web signals
http://na.blackberry.com/eng/services/websign
als/
Version control – just update the one version on
the content server
Can detect device type and capabilities
7/17/2015
Wendi Jollymore, ACES
19
Developing for Mobile Devices
Exercise 2.2, continued:
Web Apps, Disadvantages:
Existing framework can limit creativity.
No true background processes – can run web app
concurrently with other apps.
Must have Internet connection to content server.
Uses bandwidth so must avoid large
uploads/downloads.
7/17/2015
Wendi Jollymore, ACES
20
Developing for Mobile Devices
Exercise 2.2, continued:
Widgets, Advantages:
Can apply application-like features without knowing
programming language
Can use existing web technologies
Features and content specific to user needs,
customizable.
Can use device features e.g. location based
services
Use less bandwidth – send/rec’v smaller amounts of
data
Can use existing content already created from web
app or from content server
7/17/2015
Wendi Jollymore, ACES
21
Developing for Mobile Devices
Exercise 2.2, continued:
Widgets, Disadvantages:
Similar to disadvantages of web apps:
Less flexibility
Reliance on Internet connection
Not suitable for larger, more complex tasks
7/17/2015
Wendi Jollymore, ACES
22
Demonstration
Your obligatory Hello, World!
program 
See the notes
7/17/2015
Wendi Jollymore, ACES
23
Assignment 1
Do the Homework at the end of the notes
Read Chapter 2 of Beginning BlackBerry
Development and try both sets of walkthroughs
See SLATE/Learning
Modules/Introduction/Lesson 1/Homework
Assignment for these resources
7/17/2015
Wendi Jollymore, ACES
24