Web applications. Javascript. Web 2.0: The dynamic, read-write web UC Santa Cruz CMPS 10 – Introduction to Computer Science 11 May 2011
UC SANTA CRUZ Homework #3 Will be an assignment working with Context Free Art Described in class today Context Free Art is a domain specific programming language for creating computer-generated artwork Program is freely available, PC/Mac/Linux Standalone version works in PC labs (BE 109) In the assignment, you will 1.Take an existing context free art program and modify some of the numbers in it, and then describe the impact on the final artworks generated 2.In the same program, you will add a few new lines to an existing rule, and then describe the impact on the final artworks 3.In the same program, you will add a new duplicate rule, then describe the impact 4.For extra credit, you can write a context free art program that is completely new (from scratch), describe how it works, and give an example of some artwork
UC SANTA CRUZ Homework #3 Assignment due Friday, May 13 Help sessions: Tuesday, May 10, 3-5pm, E2 307 Thursday, May 12, 4-6pm, location E2 215 Assignment details now on web
UC SANTA CRUZ Early Web The architecture of the early web involved a client (browser) and a server The browser was only capable of displaying content it received from the server No ability to run programs The servers mostly returned static documents and pictures However, some websites called out to external programs (via the common gateway interface, CGI) and returned information from this program Servers had no ability to run programs internally (they had to call out to CGIs) Browser HTTP Server files External program CGI
UC SANTA CRUZ Adding dynamism Very quickly, the web started adding the ability to run programs on the client and server 1994: addition of JavaScript to browser 1994/5: emergence of languages that run inside a web server Example: PHP, introduced in 1995 Makes it possible to have database-backed web sites Browser HTTP Server files JavaScript interpreter PHP interpreter database
UC SANTA CRUZ Web applications A web application (or webapp) is a program that is written to run inside a web server A web application also typically has aspects which are written in JavaScript and intended to run inside the browser Most large websites today are web applications Facebook, Google, etc. Advantages of web applications over static sites Site content comes from a database, and hence can be reused in many places in a site The site can adapt itself to a particular visitor The site can be interactive
UC SANTA CRUZ Web 2.0 A general term used to indicate websites or web technologies that have several of the following characteristics: User-contributed content High degrees of interactivity Support for collaboration among users of the site Commenting and tagging capability Ease of embedding content in and from the site Google Maps was an early example Was a revelation to many that the web could support panning over a map by simply grabbing the map image
UC SANTA CRUZ Web 2.0 trends Applications moving to the web Google Docs is one example Complete word processor, spreadsheet, presentation software All are web applications Unlike traditional web applications, most of the code is in JavaScript, running on the client Greater interactivity Flash is now installed in most web browsers Flash permits websites to have programs with high degrees of graphical content and interactivity Flash opened the window for web-based games to emerge
UC SANTA CRUZ Rise of Social Networking Social networking sites now major hubs of social interaction Facebook: #2 site on web, 42% of global Internet users visit site. Still growing. (Google is #1 at ~50% of global internet users) Social network as platform drives fast application growth Zynga, social games company CityVille 89,035,083 monthly active users 18,464,765 daily active users Achieved 6 million daily acitve users in just 8 days