Upload to your web space (e.g., UCSC) Due this Thursday 4/8 in class Deliverable: Send me an with the URL Grading:

Similar documents
Backend Web Frameworks

SSC - Web applications and development Introduction and Java Servlet (I)

The COS 333 Project. Robert M. Dondero, Ph.D. Princeton University

CSCI 1320 Creating Modern Web Applications. Content Management Systems

Introduction to PHP. Handling Html Form With Php. Decisions and loop. Function. String. Array

CIS 086 : Week 1. Web Development with PHP and MySQL

Get in Touch Module 1 - Core PHP XHTML

Etanova Enterprise Solutions

CPET 581 E-Commerce & Business Technologies. Topics

WebDev. Web Design COMBINES A NUMBER OF DISCIPLINES. Web Development Process DESIGN DEVELOPMENT CONTENT MULTIMEDIA

Assignments. Assignment 2 is due TODAY, 11:59pm! Submit one per pair on Blackboard.

Web Engineering (CC 552)

Website Design and Development CSCI 311

Programming the World Wide Web by Robert W. Sebesta

Project. Minpeng Zhu

Syllabus INFO-GB Design and Development of Web and Mobile Applications (Especially for Start Ups)

EPHP a tool for learning the basics of PHP development. Nick Whitelegg School of Media Arts and Technology Southampton Solent University

How to Install (then Test) the NetBeans Bundle

Distributed Architectures & Microservices. CS 475, Spring 2018 Concurrent & Distributed Systems

Front End Programming

WebStore9 Services. Web Development Services

Tooling for Ajax-Based Development. Craig R. McClanahan Senior Staff Engineer Sun Microsystems, Inc.

INTERNET PROGRAMMING. Software Engineering Branch / 4 th Class Computer Engineering Department University of Technology

Description of CORE Implementation in Java

20486-Developing ASP.NET MVC 4 Web Applications

CS WEB TECHNOLOGY

Simple AngularJS thanks to Best Practices

Java Applets, etc. Instructor: Dmitri A. Gusev. Fall Lecture 25, December 5, CS 502: Computers and Communications Technology

Makbul Khan. Nikhil Sukul

Web Standards Mastering HTML5, CSS3, and XML

dt+ux Design Thinking for User Experience Design, Prototyping & Evaluation Autumn 2016 Prof. James A. Landay Stanford University

welcome to BOILERCAMP HOW TO WEB DEV

Developing Applications with Java EE 6 on WebLogic Server 12c

DevShala Technologies A-51, Sector 64 Noida, Uttar Pradesh PIN Contact us

At present we use several collaboration (web) tools, like SuperB website Wiki SVN Document management system etc.

Interactive Image Processing demonstrations for the web

COS 333: Advanced Programming Techniques. Copyright 2017 by Robert M. Dondero, Ph.D. Princeton University

I-LAND SOFTWARE company profile

What is it? What does it do?

Web Frameworks MMIS 2 VU SS Denis Helic. March 10, KMI, TU Graz. Denis Helic (KMI, TU Graz) Web Frameworks March 10, / 18

JSF 2.0: Insight and Opinion

Fermin Aguilar 5907 University Blvd. SE SUMMARY

A Model-Controller Interface for Struts-Based Web Applications

Javascript Validator Xml Schema Eclipse Plugin

Utilizing Folksonomy: Similarity Metadata from the Del.icio.us System CS6125 Project

Review. Fundamentals of Website Development. Web Extensions Server side & Where is your JOB? The Department of Computer Science 11/30/2015

Architectural patterns

Software. Full Stack Web Development Intensive, Fall Lecture Topics. Class Sessions. Grading

COS 333: Advanced Programming Techniques

Index. C CakePHP framework, 232 Cascading Style Sheets (CSS)

Using Data Science to deliver Workforce & Labour Market Insights. Gary Gan Co-Founder, JobKred

Tapestry. Code less, deliver more. Rayland Jeans

Development of web applications using Google Technology

Full Stack Java Developer Course

Credits: Some of the slides are based on material adapted from

CNIT 129S: Securing Web Applications. Ch 3: Web Application Technologies

Case Study. CMS for Management of Monetization Training Resources

Komodo IDE 4. Multi-platform, multi-language IDE for dynamic languages and Ajax technologies.

Server-Side Web Programming: Python (Part 2) Copyright 2017 by Robert M. Dondero, Ph.D Princeton University

Developing ASP.NET MVC 5 Web Applications

Enterprise Software Architecture & Design

Basics of Web. First published on 3 July 2012 This is the 7 h Revised edition

(p t y) lt d. 1995/04149/07. Course List 2018

Connect and Transform Your Digital Business with IBM

CS 268 Lab 6 Eclipse Test Server and JSPs

Project Development Steps using RP framework

DVS WEB INFOTECH DEVELOPMENT TRAINING RESEARCH CENTER

of making things look better with CSS, and you have a much better platform for interface development.

Migrating website. and web tools

Overview of Web Application Development

Read & Download (PDF Kindle) PHP Ajax Cookbook

RIA Security - Broken By Design. Joonas Lehtinen IT Mill - CEO

Standard 1 The student will author web pages using the HyperText Markup Language (HTML)

Real Life Web Development. Joseph Paul Cohen

Enterprise Java Unit 1- Chapter 3 Prof. Sujata Rizal Introduction to Servlets

Introduction Haim Michael. All Rights Reserved.

Internet programming Lab. Lecturer Mariam A. Salih

CSE 498 CSE Courses and Skills Inventory Fall Name:

Jquery Ajax Json Php Mysql Data Entry Example

Interview Questions And Answers For Experienced Candidates In Php Mysql

Enterprise Systems & Frameworks

Strategies for Rapid Web Prototyping. Ruby on Rails. Clemens H. Cap

Migrating traditional Java EE applications to mobile

Discovering Computers Chapter 13 Programming Languages and Program Development

Web Site Design and Development. CS 0134 Fall 2018 Tues and Thurs 1:00 2:15PM

TABLE OF CONTENTS CHAPTER TITLE PAGE

PHP & My SQL Duration-4-6 Months

JSF 2.0: Insight and Opinion

ADVANCED JAVA COURSE CURRICULUM

GRITS AJAX & GWT. Trey Roby. GRITS 5/14/09 Roby - 1

Backend Development. SWE 432, Fall Web Application Development

Planning and Designing Your Site p. 109 Design Concepts p. 116 Summary p. 118 Defining Your Site p. 119 The Files Panel p. 119 Accessing Your Remote

Advanced Web Applicatio Design Patter. Rupak Raj Ghi

MEAN & LAMP. Technical Capability Document MEAN & LAMP. our competencies : All rights reserved: DynaWEB An ADI Group Company

AJAX Workshop. Karen A. Coombs University of Houston Libraries Jason A. Clark Montana State University Libraries

CSE 333 Lecture 1 - Systems programming

Protect your apps and your customers against application layer attacks

Enterprise Web based Software Architecture & Design

Ing. Petr Aubrecht, Ph.D. Real Deployments of JavaEE Applications

Seminar report Google App Engine Submitted in partial fulfillment of the requirement for the award of degree Of CSE

Transcription:

CS 183 4/6/2010

Build a simple HTML page, topic of your choice Will use this as a basis and gradually and add more features as the class progresses Need to be done with your favorite text editor, no visual editor Should contain TITLE tag one H1, >= 2 H2 s >= 1link to a page you like some paragraphs of a text >= 1 images >= 1 unordered list Document Type declaration, should be HTML 4.01 strict No CSS, JS etc. yet Upload to your web space (e.g., UCSC) Due this Thursday 4/8 in class Deliverable: Send me an email with the URL Grading: Correctness of HTML Will check with W3 Validator

After idea has been thought out Create a visual model of various aspect, don t start coding yet! Steps: Requirement Gathering Diagramming Prototyping Database Design

Breaking down ideas into smaller chunks of functionality Ask lots of questions Brainstorm every idea, write it down Prioritize functionality Essential, most important (P1) Not critical, but important (P2) Nice to have (P3)

Requirements and Features High Priority (P1) Item 1 Item 2 Mid Priority Item 1 Item 2 Low Priority Item 1 Item 2

What is the structure? How do we visually represent that structure? What relationships exists among the web pages? How are those page relationships presented?

Big site map of application Show flow between pages Insights: Combining functionality into a page Breaking things up if needed

Prototyping creates a model of the intended web site (not an implementation) Use to evaluate design ideas, consider alternatives, before committing to implementation Getting it right the first time is a myth (Jared Spool)

Once implementation done, difficult to make changes Prototype is a technique not a specific tool No computers necessary

Evolutionary prototype, may constitute an implementation Developers may discard, start from scratch -> revolutionary or throwaway prototype Horizontal Little depth of functionality, but broad in terms of feature coverage Vertical Limited on features, but goes deep Global prototype -> breadth and depth Local prototype (scenario) -> very small part of site

Fewer time pressures on development team Higher user satisfaction and end acceptance Users are good in criticizing an existing system, but may not be as good as describing and anticipating future needs Cost effective Prototyping has the advantage of resolving usability problems before implementation begins

False expectations in management (high fidelity prototype) May not be practiced in some work settings

Why do it? Can demonstrate behavior and reveal problems in early stage Test design vs. testing design + implementation Easy to build No dependencies on programmers Fast changes possible Maximizes iterations Lack of polish does not affect user opinion However: User interaction on paper? Don t show well to management Do not simulate response times accurately

Software takes longer to build Changes take longer One bug can destroy a user test! Creates unrealistic expectation in management Users comment on font / color

Assemble a kit E.g., white heavy paper, index cards, scissors, Set a deadline and stick to it Construct the prototype!

Watch: http://www.youtube.com/watch? v=pqbuykuakfo http://www.youtube.com/watch? v=n1nvfdlu6yq&feature=related http://www.youtube.com/watch? v=p5eirsm8dca&feature=related

Use a text editor, write some HTML, maybe some PERL scripts (using CGI), publish to your web server done! CGI spawns new process for each request! Apache HTTP server supported modules (e.g., mod perl) Apache Tomcat -> Java In parallel many languages were developed for web application programming (e.g., ColdFusion, PHP, Active Server Pages) Libraries are provided to handle common tasks, (e.g., HTML forms) Full-stack frameworks appeared: JavaEE (servlets) WebObjects (Apple) Ruby on Rails (Rails, RoR,open source, Ruby programming language) Django (Python) OpenACS (open source)

Architectural pattern to separate data model with business rules from the user interface Used in many frameworks Push vs. Pull-based push data to the view based on actions (e.g., Ruby) Alternative is to start with view layer that pulls results from multiple controllers as needed (e.g., Struts2)

Trend: Many CMS expanded into higher layer web application frameworks Drupal, SilverStripe Use modules that provide function generally available in web application frameworks

Security (authentication, authorization, role based access control to pages) DB Access and Mapping Work with higher level concepts, unified access to DB, object-relationship mapping (ORM) URL mapping Based on pattern matching, or URL rewriting Generate friendly URLS, good for SEO /page.php?destination=hamburg -> /destination/hamburg Web template system Template allows to add variables from a programming language <b>region: </b><?php echo $region;?> Caching

Ajax Asynchronous JavaScript and XML Interactive web applications, make web pages feel more responsive, Web 2.0 Will cover Ajax and Ajax frameworks later Compilers support usage of Ajax from high level programming languages (e.g., Morfik, Google Web Toolkit) Automatic Configuration Generate DB schmea at runtime, persistance layer Define properties of model objects at runtie based on a DB schema Web Services

Java Spring Framework, Apache Struts, Tapestry, JBoss Seam, C# and VB.NET (ASP.NET) ColdFusion ColdBox, FW/1, Perl Catalyist, CGI::App, PHP CakePHP, CodeIgniter, Also CMS: Drupa, Joomla, Python CubicWeb, Django, Ruby