Sie sind auf Seite 1von 27

General Ideas about Web

Apps
Eras of Internet Computing and Applications
Non-Internet Eras

1945-1970: The military era


ENIAC
Cryptography (Alan Turing)
1969: ARPANET, TCP/IP protocol

1970-1980: The business era


Mainframes: accounting, payroll, inventory,

1980-1990: The PC era


People have access to personal computers!
1989, the notion of WWW
1992: I bought my first pc
First Internet Era

1990-2000: The Web 1.0 era


August 6, 1991, Tim Berners-Lee created the first web site
URL: http://info.cern.ch/hypertext/WWW/TheProject.html
TED talk: The next web, Tim Berners-Lee (2009)
1995, Amazon was created
1998, Google was established
Mostly static websites
1995-2001, The dot-com bubble (the Pets.com story)
2nd and 3rd Eras
2000-2010: The Web 2.0 era
Rich user experience (Ajax technology), web services
2001, Wikipedia was created (Collaborative work!)
2004, Facebook was created; 2006, Twitter was founded (Social networks!)
2008 Airbnb; 2009 Uber
Amazon EC2 (elastic cloud computing). The beginning of cloud computing.
https://aws.amazon.com/es/ec2/

2010- : The Web 3.0 era


Richer user experience, HTML5 was released
2012, Coursera was founded; 2013, 42 was established.
2013, responsive design
2014, more mobile connections than people! (Google mobile friendly web pages)
IoT (everything can be connected to the internet) http://www.postscapes.com/internet-of-things-history/
Smart web is emerging
Internet-based vs Traditional Companies

Airbnb vs Marriot & Hilton Uber vs BMW


Internet-based vs Traditional Education
Coursera, 42, UNAL
The Near Future

Industry 4.0
TED Talk. Markus Lorenz: Industry 4.0 - how intelligent machines will
transform everything we know
URL: https://www.ted.com/watch/ted-institute/ted-bcg/markus-lorenz-industry-4-0
TED Talk. Welcome to the Age of the Industrial Internet
URL: https://www.ted.com/talks/marco_annunziata_welcome_to_the_age_of_the_industrial_internet#t-95002
Characteristics of the Apps

Web 1.0 [1990-2000]


Static web pages Very low user interactivity
1992: Mosaic, the first GUI browser (University of Illinois at Urbana-champaign).
Explosion in popularity of web apps.
1994: Netscape navigator (precursor of Mozilla Firefox) and Netscape was the first
internet-based company
1995: Microsoft Internet Explorer (The browser war)
Web 2.0 [2000-2010]
Better interactivity (Ajax, dynamic content)
Desktop apps and Web apps with similar GUIs
Social networking, online commerce, collaborative work
Web 3.0 [2010 ]
Ubiquitous connection to internet, intelligent web, IoT, industry 4.0
Enablers

Ajax. asynchronous delivery of content. =>


The website doesn't block and wait for a content to be returned from a
server.
Web services interoperability, and REST-based services
The ability to use services from other websites
Cloud computing
the ability to have infrastructure, platforms, software as a service
capabilities. (e.g. Amazon web services)
users can easily use IT services that are external to their own operation.
Smartphones technologies (The new PCs!), IoT
How about the Future of Web Apps?

Write an essay
How will be the future of mobile and web apps?
How do you see the future of Internet? (neutrality, freedom, security,
privacy, cloud computing, big data, )

TED Talks:
The interspecies internet? An idea in progress
Here's how we take back the Internet

The OPTE Project: http://www.opte.org/


The Opte Project: http://www.opte.org/
The Internet
The TCP/IP Networking Model
Basic Model of a Web App

Browsers Web Server

There is a request response cycle


The Hypertext Transfer Protocol (HTPP)
A Request locating the server & the application
A Request getting data
A Request composing the response
A Request sending back the response

Watch the video (Foundations in Grails) at


http://www.youtube.com/watch?feature=player_embedded&v=XrDXqoomws4
Cloud Computing Basics (Homework)

Briefly describe each of the following types of cloud computing


services
Software as a service (SaaS)
Infrastructure as a service (PaaS)
Platform as a service (IaaS)

What are the main cloud providers today?


What is a RESTful API?
What is containerization? What are the advantages? Providers?
In your opinion, what is going to be the impact of cloud computing for
web developers?
What is a Web App?

A web application or web app is a clientserver software application in


which the client (or user interface) runs in a web browser
It consists of a client and server-side scripts, HTML pages, and other resources

Terms
WWW: a system of interlinked documents (web pages) accessed via the
internet using HTPP protocol
Web pages contain hypermedia (text, graphics, video, ) and hyperlinks to
other web pages
Advantages and Disadvantages of Web Apps

Make a list of pros and cons of web apps. To do this, compare them
with desktop apps and mobile apps
Evolution of Web Apps

Old web apps:


Client server communications using static web pages, and very simple browsers.
Low interactivity. No separation of data from its presentation. Stateless Protocol
(1990s) [read-only web]
Apps were difficult to modify and maintain

Current web apps:


More powerful browsers (user can generate content!). Interactivity requires saving state
The server side was redesigned. They used architecture design patterns to reorganized
the server software components and allows it to connect with databases (MVC)
The entire stack now has better standard support
The separation of concerns makes the code more maintainable, reusable, and
understandable.
The RoR Stack
Complexity Issues

The server side as the client is getting more and more complex
Many languages, standards, protocols, and technologies

This makes developing and maintaining a complex web app extremely


difficult

There are software engineering principles and practices in order to


simplify the development and maintenance of systems
Abstractions against Complexity

We use abstractions to reduce and handle complexity

Abstractions represent only the essential features of a software entity


and ignore non-important details

Design patterns provide useful abstractions for building software


entities
Design Pattern Definition

It is a reusable solution to a design problem that involves a set of


components that interact to solve a general design problem within a
particular context

Das könnte Ihnen auch gefallen