CS 174: Web Programming April 28 Class Meeting

Slides:



Advertisements
Similar presentations
17 Copyright © 2005, Oracle. All rights reserved. Deploying Applications by Using Java Web Start.
Advertisements

Apache Struts Technology
Web Applications Development Using Coldbox Platform Eddie Johnston.
Building Applications using ASP.NET and C# / Session 1 / 1 of 21 Session 1.
CS 160: Software Engineering August 27 Class Meeting Department of Computer Science San Jose State University Fall 2014 Instructor: Ron Mak
CS 174: Web Programming February 26 Class Meeting Department of Computer Science San Jose State University Spring 2015 Instructor: Ron Mak
CS 174: Web Programming April 9 Class Meeting Department of Computer Science San Jose State University Spring 2015 Instructor: Ron Mak
CS 151: Object-Oriented Design December 5 Class Meeting Department of Computer Science San Jose State University Fall 2013 Instructor: Ron Mak
CS 157B: Database Management Systems II March 18 Class Meeting Department of Computer Science San Jose State University Spring 2013 Instructor: Ron Mak.
CS 149: Operating Systems May 7 Class Meeting
Session 5: Working with MySQL iNET Academy Open Source Web Development.
CS 152: Programming Language Paradigms April 9 Class Meeting Department of Computer Science San Jose State University Spring 2014 Instructor: Ron Mak
Tutorial 10 Adding Spry Elements and Database Functionality Dreamweaver CS3 Tutorial 101.
Model View Controller (MVC) Rick Mercer with a wide variety of others 1.
CS 160: Software Engineering October 8 Class Meeting
CS 160: Software Engineering September 10 Class Meeting Department of Computer Science San Jose State University Fall 2014 Instructor: Ron Mak
CS 235: User Interface Design November 3 Class Meeting Department of Computer Science San Jose State University Fall 2014 Instructor: Ron Mak
CS 235: User Interface Design October 15 Class Meeting Department of Computer Science San Jose State University Fall 2014 Instructor: Ron Mak
CS 157B: Database Management Systems II March 20 Class Meeting Department of Computer Science San Jose State University Spring 2013 Instructor: Ron Mak.
Extending HTML CPSC 120 Principles of Computer Science April 9, 2012.
CS 174: Web Programming September 30 Class Meeting Department of Computer Science San Jose State University Fall 2015 Instructor: Ron Mak
CS 235: User Interface Design September 22 Class Meeting Department of Computer Science San Jose State University Fall 2014 Instructor: Ron Mak
1 Welcome to CSC 301 Web Programming Charles Frank.
CS 149: Operating Systems April 7 Class Meeting Department of Computer Science San Jose State University Spring 2015 Instructor: Ron Mak
Navigation Framework using CF Architecture for a Client-Server Application using the open standards of the web Kedar Desai presented by.
CS 174: Web Programming August 31 Class Meeting Department of Computer Science San Jose State University Fall 2015 Instructor: Ron Mak
Computer Networking From LANs to WANs: Hardware, Software, and Security Chapter 13 FTP and Telnet.
Building Secure Web Applications With ASP.Net MVC.
Model View Controller MVC Web Software Architecture.
CS 174: Web Programming September 28 Class Meeting Department of Computer Science San Jose State University Fall 2015 Instructor: Ron Mak
CS 151: Object-Oriented Design October 15 Class Meeting Department of Computer Science San Jose State University Fall 2013 Instructor: Ron Mak
CS 174: Web Programming October 14 Class Meeting Department of Computer Science San Jose State University Fall 2015 Instructor: Ron Mak
CMPE 226 Database Systems November 18 Class Meeting Department of Computer Engineering San Jose State University Fall 2015 Instructor: Ron Mak
CMPE 226 Database Systems October 28 Class Meeting
CS 174: Web Programming November 23 Class Meeting Department of Computer Science San Jose State University Fall 2015 Instructor: Ron Mak
CS562 Advanced Java and Internet Application Introduction to the Computer Warehouse Web Application. Java Server Pages (JSP) Technology. By Team Alpha.
CS 153: Concepts of Compiler Design November 18 Class Meeting Department of Computer Science San Jose State University Fall 2015 Instructor: Ron Mak
Chapter 9 Web Application Design. Objectives Describe the MVC design pattern as used with Web applications Explain the role and responsibilities of each.
CS 151: Object-Oriented Design October 29 Class Meeting Department of Computer Science San Jose State University Fall 2013 Instructor: Ron Mak
CS 160 and CMPE/SE 131 Software Engineering February 9 Class Meeting Department of Computer Science Department of Computer Engineering San José State University.
CS 174: Web Programming November 2 Class Meeting Department of Computer Science San Jose State University Fall 2015 Instructor: Ron Mak
CS 235: User Interface Design March 17 Class Meeting Department of Computer Science San Jose State University Spring 2015 Instructor: Ron Mak
CS 157B: Database Management Systems II April 22 Class Meeting Department of Computer Science San Jose State University Spring 2013 Instructor: Ron Mak.
CS 235: User Interface Design April 28 Class Meeting Department of Computer Science San Jose State University Spring 2015 Instructor: Ron Mak
CS 160 and CMPE/SE 131 Software Engineering February 11 Class Meeting Department of Computer Science Department of Computer Engineering San José State.
Navigation Framework using CF Architecture for a Client-Server Application using the open standards of the Web presented by Kedar Desai Differential Technologies,
CS 174: Web Programming November 16 Class Meeting Department of Computer Science San Jose State University Fall 2015 Instructor: Ron Mak
Introduction to ASP.NET development. Background ASP released in 1996 ASP supported for a minimum 10 years from Windows 8 release ASP.Net 1.0 released.
Apache Struts Technology A MVC Framework for Java Web Applications.
CMPE 226 Database Systems April 19 Class Meeting Department of Computer Engineering San Jose State University Spring 2016 Instructor: Ron Mak
CS 174: Web Programming October 28 Class Meeting Department of Computer Science San Jose State University Fall 2015 Instructor: Ron Mak
CS 154 Formal Languages and Computability April 19 Class Meeting Department of Computer Science San Jose State University Spring 2016 Instructor: Ron Mak.
CS 160 and CMPE/SE 131 Software Engineering May 12 Class Meeting Department of Computer Science Department of Computer Engineering San José State University.
CS 160 and CMPE/SE 131 Software Engineering May 3 Class Meeting Department of Computer Science Department of Computer Engineering San José State University.
CMPE/SE 131 Software Engineering September 1 Class Meeting Department of Computer Engineering San José State University Fall 2016 Instructor: Ron Mak
What is Laravel ? By Georgi Genov.
CONTENT MANAGEMENT SYSTEM CSIR-NISCAIR, New Delhi
CMPE 280 Web UI Design and Development October 24 Class Meeting
CS 153: Concepts of Compiler Design November 30 Class Meeting
CMPE Database Systems Exercise #1 Solutions
An educational system for medical billers in training
CMPE 135: Object-Oriented Analysis and Design December 6 Class Meeting
CMPE Database Systems Exercise #3 Solutions
CMPE 152: Compiler Design November 29 Class Meeting
CMPE 135: Object-Oriented Analysis and Design November 29 Class Meeting Department of Computer Engineering San Jose State University Fall 2018 Instructor:
CMPE 135: Object-Oriented Analysis and Design March 14 Class Meeting
CS 144 Advanced C++ Programming April 25 Class Meeting
CS 144 Advanced C++ Programming April 9 Class Meeting
CMPE 152: Compiler Design May 2 Class Meeting
Presentation transcript:

CS 174: Web Programming April 28 Class Meeting Department of Computer Science San Jose State University Spring 2015 Instructor: Ron Mak www.cs.sjsu.edu/~mak

Unofficial Field Trip Extra credit fun quiz! Computer History Museum in Mt. View http://www.computerhistory.org/ Saturday, May 9, 11:30 – closing time Special free admission. Do a self-guided tour of the new Revolution exhibit. See a life-size working model of Charles Babbage’s Difference Engine in operation, a hand-cranked mechanical computer designed in the early 1800s. Experience a fully restored IBM 1401 mainframe computer from the early 1960s in operation. General info: http://en.wikipedia.org/wiki/IBM_1401 My summer seminar: http://www.cs.sjsu.edu/~mak/1401/ Restoration: http://ed-thelen.org/1401Project/1401RestorationPage.html Extra credit fun quiz!

Web Application Presentations Next Week 15-minute demos Explain what the app does. Show the app in operation. Describe what technologies you used. To be determined by random drawing: Tuesday Adroit Coders, MECH, Super Spartans, Xloop Thursday Alpha, Atom, Cool Code, Nygma, Websters

What to Hand In A brief (under 5 pages) report describing: What the app does. Its architecture and the technologies that you used. Any special features or challenges. Database dump. Indicate the name of the database and the username and password to use. Source files. Screen shots. Any PowerPoint slides

What to Hand In, cont’d Create a zip file named after your team. Email to ron.mak@sjsu.edu Subject: CS 174 Project team name Due: One week after your demo presentation.

Model-View-Controller Architecture (MVC) The Model-View-Controller (MVC) architecture is used for client-server applications that include a user interface. Well-designed web applications use the MVC architecture.

Three Types of MVC Objects Model objects Maintain the data and knowledge of your application. View objects Display the model to the user. The presentation layer. Controller objects Manage the application flow. Handle user interactions.

Model-View-Controller Operation The user interacts with the controller to send it commands. Via buttons, text fields, mouse actions, etc. The commands may tell the controller to modify the view directly, or the controller may alter the state of the model. The altered model causes the view to update how it displays the model’s data. The user may react to changes in the view by interacting with the controller to send new commands. The user never manipulates the model directly, only through the controller.

Model-View-Controller Example update update alter state send command VIEW #1 VIEW #2 User

MVC Objects Recall our application with the dynamically generated drop-down menu and table: What are the model objects? View objects? Controller objects?

Advantages of the MVC Architecture Well-established industry convention. Well-defined roles for the objects of a GUI-based client-server application. Once interfaces are designed and agreed upon, developers can work independently. MVC architectures are supported by web application frameworks.

Web Application Framework Provides the structure for a dynamic web app. Supports the MVC architecture. Relieves the web programmer of the mundane details of web application development. During run time, the framework controls web page generation input validation page navigation Support for security and internationalization.

Inversion of Control With traditional procedural programming, our programs are in complete control of the execution flow at run time. Programs that react to external events (such as button clicks) have inversion of control. Such programs are not in complete control of the execution flow. They react (via event handlers) to the events as the events occur.

Frameworks and Inversion of Control Frameworks can also impose inversion of control on programmers. A framework has a well-specified directory structure into which the programmer adds code. A framework imposes a naming convention that programmer must follow. During run time, the framework controls the flow of execution by invoking the programmer’s code at the appropriate times.

Laravel 5 PHP Framework Popularity in Personal Projects SitePoint, 2015 http://www.sitepoint.com/best-php-framework-2015-sitepoint-survey-results/

Laravel Test App Use composer to create a Laravel test app. composer is the PHP project manager. Start PHP’s built-in development web server at port 8000: composer create-project laravel/laravel testapp --prefer-dist php artisan serve &

Laravel 5 Directory Structure app Console Http Controllers Filters Requests Providers bootstrap config database migrations seeds public resources lang views storage cache logs meta sessions work

Laravel Debugbar To install Laravel’s debugging toolbar Debugbar: Modify file config/app.php: Add and to the providers and alias arrays, respectively. Install the package configuration: composer require barryvdh/laravel-debugbar 'Barryvdh\Debugbar\ServiceProvider' 'Debugbar' => 'Barryvdh\Debugbar\Facade' php artisan vendor:publish

A Complete Laravel Web App See http://www.todoparrot.com