Download presentation
Presentation is loading. Please wait.
Published bySilas Cook Modified over 8 years ago
1
Introduction to Model-View-Controller (MVC) Web Programming with TurboGears Leif Oppermann, 30.04.2007
2
WPS - your story so far –xhtml x2 –css –javascript –dom, dynamic html –java applets –cgi/perl –php x2 –web usability x2 –xml x2 Seems incredible complicated, already But still not everything (by far not!) How to possibly get it all under one hood? What did you like?
3
Course of this lecture What is web programming? What is model-view-controller? Introducing TurboGears
4
1. Web programming The non-design bits Developing web applications of all scales “In software engineering, a Web application or webapp is an application that is accessed with a Web browser over a network such as the Internet or an intranet. Web applications are popular due to the ubiquity of the browser as a client, sometimes called a thin client. The ability to update and maintain Web applications without distributing and installing software on potentially thousands of client computers is a key reason for their popularity. Web applications are used to implement Webmail, online retail sales, online auctions, wikis, discussion boards, Weblogs, MMORPGs, and many other functions.” – Wikipedia.org
5
Webapps summary Accessed with a Web Browser (client) Over a network Code is mainly run on server Exception: Javascript (also: Java, Flash,..) Code is loaded from server Data is mainly stored on server Webapps can be updated easily…..without updating the clients!
6
General 3 tiered structure First tier: client side code (web-browser) Second tier: server side code, e.g. CGI/Perl, PHP, Java, Rails, Turbogears Third tier: server side database
7
Architectural Pattern from Smalltalk (1979) Decouples data and presentation Eases the development 2. Model View Controller
8
First thought (ok, but not far enough): –Tier 1: View (Client) –Tier 2: Controller (Server) –Tier 3: Model (Database) Database ClientServer
9
Presentation: –View is the user interface (e.g. button) –Controller is the code (e.g. callback for button) Data: –Model is the database Database Presentation Data
10
Example Control Flow in MVC User interacts with the VIEW UI CONTROLLER handles the user input (often a callback function attached to UI elements) CONTROLLER updates the MODEL VIEW uses MODEL to generate new UI UI waits for user interaction
11
MVC – general example
12
3. Introduction to TurboGears JavaScript Library XHTML template engine Easy to use Python webserver ORM Database Interface (e.g. for MySQL, SQLite, etc.) VIEW CONTROLLER MODEL
13
> tg-admin quickstart NewDemo Enter package name [newdemo]: Do you need Identity (usernames/passwords) in this project? [no] [lots of output] > cd NewDemo >./start-newdemo.py 3. Introduction to TurboGears
15
Let‘s get started by watching a video (20 Minute Wiki)
16
Summary Web applications –Client, Server, Database –Easy to maintain, harder to write Model – View – Controller –Eases web application development TurboGears –MVC WebApp Framework written in Python
17
Thanks for your attention Next lecture: Thursday (03.05.), 9 AM More on TurboGears (example project) Questions / Comments: –Now, or via email:LXO@CS.NOTT.AC.UK
Similar presentations
© 2024 SlidePlayer.com Inc.
All rights reserved.