User:Martyav/Apps/Tutorial

This is a tutorial for building a simple web app that uses the Wikimedia Action API to access data from Wikipedia. If you are confused by the terminology used in this tutorial, consult the glossary below.

Programming languages
This app uses a web framework called Flask. It allows us to write our Action API requests in Python.

There is also some template code, written in Javascript, for automatically generating a web page based on the results from our request.

Finally, there is some Javascript code handling user interactions, such as sending the GET request once the user clicks a button.

First steps
Create a new directory for your app, named XXX. You can do this on the command line with.

Navigate into your new directory and create a new file, named.

To this new file, add the following:

Save the file, and type  into your command line application. This will start a local server, running the code you've just written. You can view the web page in your browser by visiting http://localhost:5000

If Flask is successfully installed, you should see the following:

img of hello world

Sample app
A complete version of this app is available on Github, at ___.

A

 * Action API - A way to access, via GET and POST requests, certain Wikimedia features, such as a list of links to a page.

B

 * Backend - Code that deals with things the user does not immediately see, such as formatting text input into a GET request and sending it to a server.

C

 * Client - Any device that makes requests to a server, such as a laptop or mobile phone.

F

 * Flask - A web framework that allows programmers to write backend code in Python.
 * Frontend - Code that deals with visual presentation and user interactions, such as animating a button when a user clicks on it.

G

 * GET request - A standard HTTP method for asking a server to retrieve data.

H

 * HTTP - The official system of rules for sending data over the web.

J

 * Javascript - A programming language used primarily for handling frontend and backend code on the web.
 * JSON - A format for data sent over the web; it uses Javascript objects and looks something like this:

M

 * MediaWiki - The software Wikipedia and many other popular wikis run on.

P

 * POST request - A standard HTTP method asking that a server alter some data.
 * Python - A programming language used for many different kinds of tasks, including backend code on the web.

R

 * Response - The data sent back from a server after a request has been made. It usually comes in the form of XML or JSON.

S

 * Server - A computer that is accessible over a network, such as the web, and which is dedicated to serving data, including wiki pages, to other devices.
 * Status code - A three digit code, such as 404, indicating if a request to a server has succeeded or failed. It is sent from the server to the client immediately upon receiving a request. Status code 200 means that the request succeeded, while codes that start with4 indicate different kinds of failure.

W

 * Wiki - A website that allows people to collaborate and edit pages together.
 * Wikimedia -
 * Wikipedia - An online encyclopedia that runs on Wikimedia software. It's located at https://www.wikipedia.org.

X

 * XML - A format for data sent over the web, it uses angle brackets and tags, and looks something like this: