240 likes | 344 Vues
This course, led by Professor Wendi Jollymore, focuses on mobile application development, covering essential topics such as Integrated Development Environments (IDEs), UI design, design best practices, and app performance optimization. Students will engage in hands-on demonstrations and exercises, exploring differences between mobile and desktop applications. Additional resources include textbooks, and various software tools required for development. Through practical exercises, students will learn how to meet user expectations and design mobile apps that leverage device capabilities.
E N D
Course Introduction & Overview Software Install Demonstrations
Professor Information • Wendi Jollymore • wendi.jollymore@sheridanc.on.ca • Ext. 8797 • Office: S401 • (top of stairs near Second Cup) • Social Networking: • Pthhh :P Wendi Jollymore, ACES
Office Hours • Office: S401 • Hours: • Monday • 11am to 2pm • Tuesday • 1pm to 3pm • Wednesday • 12pm to 2pm • Friday • 9am to 11am Wendi Jollymore, ACES
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 Wendi Jollymore, ACES
Course Evaluation You must have an average of 50% on both exams in order to pass this course! Wendi Jollymore, ACES
Required Resources • SLATE: some RIM Materials • Textbooks in PDF format • Books24x7 books, specifically • Beginning BlackBerry Development by Anthony RizkISBN: 9781430272250 • BlackBerry Developer’s Zone • http://us.blackberry.com/developers/ Wendi Jollymore, ACES
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 Wendi Jollymore, ACES
Questions? • Any questions so far? Wendi Jollymore, ACES
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 Wendi Jollymore, ACES
Developing for Mobile Devices • Exercise 1 • to be done in groups, with discussion following: • Identify and describe the differences between mobile applications and typical desktop applications. • Identify and describe a user's needs and expectations of mobile applications. Wendi Jollymore, ACES
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 = touch-typing. • 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. Wendi Jollymore, ACES
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. Wendi Jollymore, ACES
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 Wendi Jollymore, ACES
Developing for Mobile Devices • Exercise 2 • to be done in groups, with discussion following: • Define the three types of mobile applications. • Describe the advantages and disadvantages of each method of mobile application development. Wendi Jollymore, ACES
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 Wendi Jollymore, ACES
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 Wendi Jollymore, ACES
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 Wendi Jollymore, ACES
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. Wendi Jollymore, ACES
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/websignals/ • Version control – just update the one version on the content server • Can detect device type and capabilities Wendi Jollymore, ACES
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. Wendi Jollymore, ACES
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 Wendi Jollymore, ACES
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 Wendi Jollymore, ACES
Demonstration • Your obligatory Hello, World! program • See the notes Wendi Jollymore, ACES
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 Wendi Jollymore, ACES