Understanding an App’s Architecture

Slides:



Advertisements
Similar presentations
Understanding an Apps Architecture ASFA Computer Science: Principles Fall 2013.
Advertisements

Phil Campbell London South Bank University
Programming with App Inventor Computing Institute for K-12 Teachers Summer 2012 Workshop.
ORGANIZING THE CONTENT Physical Structure
Lab 10: Images and Skinning, Sound and Assets User Interface Lab: GUI Lab Oct. 30 th, 2013.
IS660Z Programming Games Using Visual Basic Overview of Cannonball.
Presented at : CS4HS University of Massachusetts Lowell Kelly Powers, AMSA Charter School, Mark Sherman, UML, Fred Martin, UML, June 27 th, 2011 Portions.
Android architecture overview 1 CS 150. Android  A software stack for mobile devices developed and managed by Open Handset Alliance  Free software under.
App Inventor Useful links:
靜宜大學資管系 楊子青 1 Programming Your App’s Memory 靜宜大學資管系 楊子青
Microsoft Visual Basic 2010: Reloaded Fourth Edition Chapter Eight Sub and Function Procedures.
App Inventor Barb Ericson July 3, 2013.
The Creative Art of Programming © Copyright 2014 Barbara Ann Walters. All Rights Reserved.
A Guide to Oracle9i1 Creating an Integrated Database Application Chapter 8.
Ch 14. Understanding an App’s Architecture Two perspectives 1.Programmer: a)Components & Behaviour b)Designed in Component designer Blocks editor 2.End-user:
Introduction to AppInventor Dr. José M. Reyes Álamo.
Programing App Inventor. Variable Declaration App Inventor: Declare Variables using the “Define Variable As” Block – Find the Blocks Editor (top-left),
Programming with App Inventor Computing Institute for K-12 Teachers Summer 2012 Workshop.
Creating Mobile Apps with App Inventor! Day 5 Google search Kris Gordon Ludlow for links.
Android Apps: Look and Feel Module 6, Intro to I.T., Fall 2011 Sam Scott.
CS 104 October 26, 2011 App Inventor. Agenda Discuss guest speakers Discuss quiz Finish Paint Pot Discuss concepts from Chapters 2 & 3 Mole Mash (if time.
Intro to AppInventor Dr. Dante Ciolfi (chawl fee).
Tutorial 5 Making a Document Interactive. XP Objectives Explore the different button states Add a button from the Button library Create a button Learn.
T U T O R I A L  2009 Pearson Education, Inc. All rights reserved Interest Calculator Application Introducing the For...Next Repetition Statements.
App Inventor MIT App Inventor.
Tutorial 7 Creating Forms. Objectives Session 7.1 – Create an HTML form – Insert fields for text – Add labels for form elements – Create radio buttons.
Variables, operators, canvas, and multimedia Dr. José M. Reyes Álamo.
Term 2, 2011 Week 1. CONTENTS Problem-solving methodology Programming and scripting languages – Programming languages Programming languages – Scripting.
Programming with Visual C++: Concepts and Projects Chapter 2B: Reading, Processing and Displaying Data (Tutorial)
BA Team: Product Ownership, Analysis, and Solution Design BA Bi-Weekly Mini-meeting May 19, Acceptance Criteria Defining Success one Story.
Game Maker Terminology
What is Programming? Computer programming is about telling the computer what it is we want it to do We tell the computer what we want it to do by sending.
Chapter 11 Adding Media and Interactivity. Chapter 11 Lessons Introduction 1.Add and modify Flash objects 2.Add rollover images 3.Add behaviors 4.Add.
COMPUTER PROGRAMMING I 3.01 Apply Controls Associated With Visual Studio Form.
COMPUTER PROGRAMMING I 3.01 Apply Controls Associated With Visual Studio Form.
Lesson 1 – Getting Started with App Inventor
Hamilton Software Products The Measure of Excellence Customized dialog.
Introduction to Programming and App Inventor. Introduction What is a computer program? Introducing App Inventor Getting hands on with App Inventor.
Chapter 1: An Introduction to Visual Basic .NET
Introduction to App Inventor 2 ASFA AP CS Principles
Visual Basic.NET Windows Programming
App Inventor إعدادأشرف رفاعي أحمد
Programming & Scratch.
Procedures, Simple Expressions
Chapter Topics 15.1 Graphical User Interfaces
Introduction to Visual Basic 2008 Programming
Event-driven programming
Adding Buttons, Actions, and Sounds
CONTENT MANAGEMENT SYSTEM CSIR-NISCAIR, New Delhi
DDC 1023 – Programming Technique
Visual Programming week # 02 APP (Application) Architecture.
3.01 Apply Controls Associated With Visual Studio Form
week # 03 Visual Programming Variables Canvas Screen Arrangement
Understanding an App’s Architecture
3.01 Apply Controls Associated With Visual Studio Form
Introduction to Events
Chapter 16 – Programming your App’s Memory
Programming Your App to Make Decisions – Conditional Blocks
Chapter 2 Visual Basic Interface
Microsoft Visual Basic 2005 BASICS
Loops CIS 40 – Introduction to Programming in Python
Using Use Case Diagrams
Software Engineering System Modeling Chapter 5 (Part 1) Dr.Doaa Sami
Introduction to AppInventor
Programming Lists of Data 靜宜大學資管系 楊子青
Chapter 8: Creating An Integrated Database Application
Chapter 5 Architectural Design.
MECH 3550 : Simulation & Visualization
F T T T F.
Overview of the IDE Visual Studio .NET is Microsoft’s Integrated Development Environment (IDE) for creating, running and debugging programs (also.
Presentation transcript:

Understanding an App’s Architecture App Inventor – Ch 14 Understanding an App’s Architecture

App Inventor – Ch14 Apps are composed of: Components Behaviors Event Handlers Types of Events

App Architecture

Components Visible Invisible or Non-visible Buttons, Textboxes, Labels, Images, Canvases Make up the User Interface of the App Invisible or Non-visible Texting, Sound, SMS, LocationSensor, Accelerometer, Timer, TextToSpeech Provide access to built-in technology of the phone

Component Properties All components, visible and invisible, have properties Properties are memory slots for storing information about components Visible: width, height, alignment Non-visible: sound-source, image-source, timer- interval Initially set in Designer, can be modified in Blocks

Behavior Components are usually straightforward; behaviors can be quite complex. Thinks of: An App As a Recipe An App As a Set of Event Handlers App as multiple recipes hooked to events Internal and External Events

App as Recipe (old-school) Start a bank transaction Perform computation that modifies customer’s account Print new balance on screen

App as Set of Event Handlers

Behavior There are several Event Types: User-initiated – button-click Initialization – when app launches, do … Timer – when 20 milliseconds passes, do … Animation event – when two objects collide, do … External event – when text comes in, do …

Behavior – Event Types (visually)

Examples of Events

All Programming Languages share: Sequence – recipe Selection – branching (Ch. 18) if-then-do (all languages incl. AppInventor) other languages: switch, select-case Repetition – repeating blocks foreach, while do (AppInventor & most langs) other languages: for-next

Sequence Default processing in any computer program Work step-wise through set of instructions Example: get up in the morning 1. Respond to alarm 2. Get out of bed 3. Get dressed 4. Make coffee 5. Get paper 6. Pour coffee 6. Drink coffee/read paper

Selection Apps can ask questions

Behavior – if-then-do Event Handlers can ask questions Is a certain condition true? Yes, branch one way No, branch another way Conditionals can be more complex than yes/no If-then-do in App Inventor Conditionals handled in detail in Ch 18

Selection Can choose alternate paths through instructions Example: Eat breakfast Check for milk in fridge, cereal in cabinet If both are there: Get bowl and spoon Pour cereal in bowl, pour milk in Eat cereal Brush teeth What are the two possible paths through these instructions?

Example of If-Then Block

Repetition Can choose to repeat instructions Example: Brushing teeth Apply toothpaste to toothbrush. Brush up and down 10 times on outside of teeth on left side of mouth Repeat Step 2 on outside of teeth on right side of mouth Repeat Step 2 on outside of teeth in front of mouth Repeat Steps 2-4 on inside of teeth In terms of how the human mouth is constructed, what’s wrong with Step 5?

Behavior – foreach & while do Event handlers can repeat blocks (iteration) foreach in App Inventor while do in App Inventor Ch 20 discusses iteration in detail

Example of Repeated Block

Behavior – variables & storage Event handlers can remember things Temporary memory (RAM): variables Persistent data (Flash drive or HD): database Variables are the subject matter of Ch 16 Data storage is detailed in Ch 22

Behavior – web apps Event handlers can talk to the web Web Service APIs – example: App Inventor can communicate with Twitter accounts Mashups: apps that can talk to more than one web service Web-enabled apps: subject matter of Ch 24

Summary As app creator, you view apps from the end-user’s perspective AND also the designer’s perspective Use Designer first to create UI . . . Components – visible Components – non-visible . . . Then program behaviors in Blocks Event Handlers – when-do Types of Events – user-initiated, initialization, timer, animation, external Characteristics – selection, repetition, store in memory, database storage, talk to web Test and deploy your app