Building Web Applications



Similar documents
Building Responsive Websites with the Bootstrap 3 Framework

Joostrap RWD Bootstrap Template

Republic Polytechnic School of Infocomm C308 Web Framework. Module Curriculum

Skills for Employment Investment Project (SEIP)

Figure 1 responsive grid system for all view ports, from desktops, tablets and smart phones

Developing Mobile Websites with Responsive Web Design and jquery Mobile

Google Sites: Creating, editing, and sharing a site

Mobile Web Design with HTML5, CSS3, JavaScript and JQuery Mobile Training BSP-2256 Length: 5 days Price: $ 2,895.00

Using HTML5 Pack for ADOBE ILLUSTRATOR CS5

Coding for Desktop and Mobile with HTML5 and Java EE 7

Create a Google Site in DonsApp

Sizmek Formats. IAB Mobile Pull. Build Guide

Dreamweaver Domain 2: Planning Site Design and Page Layout

SelectSurvey.NET Developers Manual

Brief Description of project: This project will be an interactive Javascript. 1. What do you want to accomplish by doing this project?

Advanced Web Development SCOPE OF WEB DEVELOPMENT INDUSTRY

ANDROID INTRODUCTION TO ANDROID

Web Testing. Main Concepts of Web Testing. Software Quality Assurance Telerik Software Academy

ireview Template Manual

Create a Simple Website. Intel Easy Steps Intel Corporation All rights reserved.

Application Note. Building a Website Using Dreamweaver without Programming. Nan Xia. MSU ECE 480 Team 5

Responsive Web Design. birds of feather

HOW Interactive Design Conference 2013

Enabling pop-up windows on different browsers

HYBRID APPLICATION DEVELOPMENT IN PHONEGAP USING UI TOOLKITS

Web Design Specialist

Responsive Web Design (RWD) Best Practices Guide Version:

Configuring the JEvents Component

Joomla Article Advanced Topics: Table Layouts

Outline. CIW Web Design Specialist. Course Content

Module 6 Web Page Concept and Design: Getting a Web Page Up and Running

Google Sites: Site Creation and Home Page Design

HTML5 & Digital Signage

JTouch Mobile Extension for Joomla! User Guide

Mobile App Design and Development

Microsoft Expression Web

Google Drive lets you store and share all your stuff, including documents, videos, images and other files that are important to

Upgrade to Microsoft Web Applications

Lab: Developing Mobile Web Apps. Adage Technologies adagetechnologies.com

HTML5. Turn this page to see Quick Guide of CTTC

WEB& WEBSITE DESIGN TRAINING

Course Information Course Number: IWT 1229 Course Name: Web Development and Design Foundation

<Insert Picture Here>

SPELL Tabs Evaluation Version

ANDROID TRAINING COURSE MODULES. Module-I: Introduction to Android. Introducing Android. Installing Development Tools. Using the Emulator.

Version 1.3 OFFICIAL THEME USER GUIDE. Renova. Unique Creative Portfolio - Responsive HTML5

Web Development I & II*

Unlocking the Java EE Platform with HTML 5

Version 1.0 OFFICIAL THEME USER GUIDE. reva. HTML5 - Responsive One Page Parallax Theme

SellerDeck 2013 Reviewer's Guide

Dreamweaver CS5. Module 2: Website Modification

Elgg 1.8 Social Networking

Making a Web Page with Microsoft Publisher 2003

Website Development. Decision / Planning Phase. Website Design. > Kind words from our clients. Home Services Portfolio Free Quote Templates Contact

WEB DEVELOPMENT IA & IB (893 & 894)

Title: Front-end Web Design, Back-end Development, & Graphic Design Levi Gable Web Design Seattle WA

Create a Poster Using Publisher

Getting Started with Android Programming (5 days) with Android 4.3 Jelly Bean

AUTOMATED CONFERENCE CD-ROM BUILDER AN OPEN SOURCE APPROACH Stefan Karastanev

GOOGLE DOCS APPLICATION WORK WITH GOOGLE DOCUMENTS

Embedded BI made easy

Virtual Exhibit 5.0 requires that you have PastPerfect version 5.0 or higher with the MultiMedia and Virtual Exhibit Upgrades.

Adobe Dreamweaver Exam Objectives

MVC FRAMEWORK MOCK TEST MVC FRAMEWORK MOCK TEST II

Responsive web design Are we ready for the new age?

Software Requirements Specification

WEB AND APPLICATION DEVELOPMENT ENGINEER

20481C: Essentials of Developing Windows Store Apps Using HTML5 and JavaScript

1. What are Nevada State Bank Mobile Banking and Nevada State Bank Business Mobile Banking?

Developing ASP.NET MVC 4 Web Applications Course 20486A; 5 Days, Instructor-led

Shelly, G. B., & Campbell, J. T. (2012). Web design: Introductory (4th ed.). Boston, MA: Course Technology.

Garfield Public Schools Fine & Practical Arts Curriculum Web Design

California State University Polytechnic University. CIS 311 Interactive Web Development. Fall 2011

How To Change Your Site On Drupal Cloud On A Pcode On A Microsoft Powerstone On A Macbook Or Ipad (For Free) On A Freebie (For A Free Download) On An Ipad Or Ipa (For

Choosing a Mobile Strategy for Your Business

JD Edwards EnterpriseOne Mobile Solutions

Basics. a. Click the arrow to the right of the Options button, and then click Bcc.

WIX: Building a Website with a Template. Choosing a Template First you will need to choose a template from the Create section of the Wix website.

Voluntary Product Accessibility Template Blackboard Learn Release 9.1 April 2014 (Published April 30, 2014)

separate the content technology display or delivery technology

Programming in HTML5 with JavaScript and CSS3

Mistral Joomla Template

Why HTML5 Tests the Limits of Automated Testing Solutions

Table of Contents. 1. Content Approval...1 EVALUATION COPY

Android Mobile App Building Tutorial

IBM Digital Experience. Using Modern Web Development Tools and Technology with IBM Digital Experience

Creating Online Surveys with Qualtrics Survey Tool

STATEMENT OF PURPOSE

Develop IBM i Mobile and Desktop Applications with a Single Code Base. BCD Software, LLC. All rights reserved.

Rich Internet Applications

Transcription:

Building Web Applications Mendel Rosenblum CS142 Lecture Notes - Building Web Applications

Good web applications: Design + Implementation Some Design Goals: Intuitive to use Don't need to take a course or read a user manual Accomplish task accurately and rapidly Provide needed information and functionality Users like the experience Joy rather than pain when using the app The hardest part of good web applications is the design Outside the scope of this course (and instructor)! Good user interface principles are encoded in the toolkits and style guides.

Some guiding design principles for Web Apps Be consistent Cognitive load less for the user Provide context User shouldn't get lost in the app Be fast Don't make the user wait

Consistency: Style guides & design templates Web apps should have a style guide - Covers the look and feel of the app Style - Color schemes, animation, icons, images, typography, writing User interactions - Menu, buttons, pickers, dialog boxes, tables, lists,... Layout - Structure, toolbars, content, responsiveness Patterns - If you do something multiple places do it the same way Aided by reusable implementation components Error handling, navigation, notifications, etc. Design templates - Follow a familiar structure Example: Master-detail template

Style Guide Example: Material Design from Google Used in Google apps (e.g Android, web apps) Influence by publishing (paper and ink) enhance with technology (3D look) Focus on traditional print issues: grids, space, typography, scale, color, imagery Heavy use of animation to convey action Dictates many aspect of design Structure and layouts User interface Common patterns

Front-end web frameworks Popular example: Bootstrap CSS style sheets Design templates Grid layout system with responsive support (breakpoints, etc.) Element styling HTML components Buttons, menus, toolbars, lists, table, forms, etc. JavaScript Modals, transitions, dropdowns, etc. Originally jquery based Angular Material CSS style sheets and Angular directives for implementing Material design spec

Example: Use Angular Material to a Photo App Use an Master-Detail template layout Users with Photos with Comments Classic layout:

Use grid to layout app

Use grid to layout app

Deep linking support To support bookmarking and sharing we can use to load the views The contents can be the 's directive component can just use links to view

Responsive Design support Uses CSS flexbox - Relative sizing handles changes (flex attribute) -- maller widths will have smaller content area Use breakpoints to handle big differences

Breakpoint sizes: xs, sm, md, lg, xl

Angular Material Responsive Support Conditional HTML support with Query from JavaScript with Override and attributes

Photo App on Mobile Make the sidenav start closed on small devices Make a button in the toolbar for opening the nav bar

Accessible Rich Internet Applications (ARIA) Add text descriptions for things that need it <img Need to add it to, etc.

Internationalization (I18N) Users want different: text, dates, numbers, currencies, and graphics Ultimately need a level of indirection. Consider: Could use: Not applied to user generated content

Testing the web app Unit testing Each test targets a particular component and verifies it does what it claims it does Requires mock components for the pieces that component interacts with Example: Load an angular component (controller, directive, etc.) and run tests against it Need to mock everything these touch (DOM, angular services, etc.) End-to-End (e2e) testing Run tests against the real web application Scripting interface into browser used to drive web application Example: Fire up app in a browser and programmatically interact with it. WebDriver interface in browsers useful for this Metric: Test Coverage Does every line of code have a test?

Much useful functionality available for our app md-menu-bar, md-menu, md-tabs, md-dialog, md-select md-radio-button, md-checkbox, md-button md-autocomplete md-tooltip md-datepicker $mdtoast, $mdbottomsheet