mar5us
Student - Technical Writing
Lesson 1
Screen 1 of 13
1) Components of a Web application
2) Web frameworks and Flask
3) Installing Python and packages
4) Creating your development environment
5) Building your first local Flask app
6) Running your first Flask app
7) Web application deployment
8) Deploying to PythonAnywhere
Lesson 1
Screen 2 of 13
Lesson 1
Screen 3 of 13
To create your first Flask Web application, you should understand the components of a Web application and how they work.
First, it is necessary to distinguish between local and remote computer resources.
Lesson 1
Screen 4 of 13
A computer hardware or software resource that is part of the computer you are using is called a local resource. In other words, local resources are 'local' to your computer (like your computer’s ‘local disk’).
Local resources can also refer to resources on the same computer network as your computer( such as a ‘local network printer’).
A remote resource is a resource on another, ‘non-local’ computer or non-local network.
As Techopedia (2018) note, standard computer software applications normally reside in a computer’s local memory – on a Hard Disk Drive, for example.
By contrast, a Web application is a computer software program, on a remote computer, that is accessed over a network using the Hypertext Transfer Protocol (HTTP). HTTP is an established standard for transferring information over computer networks, like the Internet.
Lesson 1
Screen 5 of 13
Usually, an end-user accesses a Web Application from her local Web browser. Part of the Web application may be downloaded by the end-user’s Web browser, but most of the processing is performed on the remote computer where the Web application resides.
The remote computer where the Web application resides is called a remote host, because it ‘hosts’ the Web application.
Web applications are also known as ‘Web-based applications’ or ‘Web apps’.
An end-user requests a resource from a host, over the Internet, by entering a Uniform Resource Locator (URL) into her Web browser’s address bar. A URL includes: (University of Sydney 1999):
Lesson 1
Screen 6 of 13
In the URL ‘http://www.example.com/index.html’.
Complete the following short quiz to test your knowledge of Web applications. Move forward to reveal the answers.
Lesson 1
Screen 7 of 13
1. A resource that is part of the computer you are using is:
2. Define a Web application, in your own words.
3. Which part of the URL ‘http://www.example.com/index.html’ is the transfer protocol?
1. A resource that is part of the computer you are using is a local resource.
.
2. A Web application is a computer software program, on a remote computer, that is accessed over a network connection using the Hypertext Transfer Protocol (HTTP).
3. The transfer protocol is the 'http' part of the URL http://www.example.com/index.html
Lesson 1
Screen 8 of 13
A request for a resource using HTTP is called a HTTP request. Chandra and Varanasi’s (2015) outline a basic HTTP request as follows:
The Web server responds to the HTTP request by asking the host computer to locate the requested resource in its file-system. When the requested resource is located, the Web server sends or ‘streams’ the resource to the end-user’s Web browser.
An end-user’s Web browser makes a HTTP request for a Web resource, like a HTML document, to a remote host computer. The host runs specialised software, called a Web server, to handle or ‘serve’ HTTP requests.
When a Web server serves HTTP requests from an end-user’s computer, the end-user’s computer is referred to as a client computer. A Web browser running on a client computer is called a client Web browser.
Much of the Internet is built upon this client-server model.
Take a moment to review Ruslan Spivak’s (2015) illustration, which shows how a Web server responds to a basic HTTP request.
Lesson 1
Screen 9 of 13
Lesson 1
Screen 10 of 13
The HTTP requests we described, so far, relate to serving static Web content.
Static Web content is content that is served to client without modification by the Web server. For example, a client may request an image-file; the Web server sends the image-file to the client without altering its content.
Most modern Web content is adopted to suit particular clients - providing each end-user with a customised greeting, for example.
Content that changes on a per-use-basis is called dynamic Web content. Most Web applications store content in a database.
Lesson 1
Screen 11 of 16
As video explains, Web applications can generate dynamic Web content (Udacity 2014a).
Lesson 1
Screen 12 of 16
Each Web application is designed to meet the needs of its particular end-users. There is no generic model or ‘architecture’. But, the anatomy of a basic Web application is illustrated above.
Complete the following short quiz to test your knowledge HTTP requests and Web content. Move forward to reveal the answers.
Lesson 1
Screen 13 of 16
1. Which one of the following statements about a HTTP request is correct (A, B or C)?
1. [C] A Web server streams content to a client, as part of a HTTP request.
.
2. Web content that changes on a per-use-basis is called:
A | HTTP requests are the host computer’s file-system |
B | Client Web browsers run Web servers to read HTTP |
C | A Web server streams content to a client |
2. Web content that changes on a per-use-basis is called Static Web content
You completed lesson 1 on the Components of a Web application successfully. You:
Lesson 1
Screen 14 of 16
In Lesson 2 you will learn about Web application frameworks and how they can help you to create your first Flask Web application.
After you have reviewed the useful resources on the next screen, proceed to lesson 2.
Lesson 1
Screen 15 of 16
Lesson 1
Screen 16 of 16
Ruslan Spivak’s blog (2015) is great resource for learning about Web servers and other advanced concepts. Ruslan’s blog is well written and illustrated.
Udacity’s (2014b) Web Development CS253 is a highly recommended (free) course about building Web applications and more (user registration required).
Developer Stephen Young’s blog post (2015) provides useful descriptions of different Web application architectures.
By mar5us
First Flask App on Python Anywhere Lesson 1