Learning back-end development with Flask

In summary, a good place to start learning about web development would be by reading articles on Wikipedia about various technologies and how they work together, followed by watching YouTube videos on those technologies, and then practicing what you've learned by developing a Flask-based web application or website.
  • #1
Avatrin
245
6
Hi

I want to learn and understand web development, and just knowing what to do is not enough for me; I, to the extent it is possible, want to know how the web works. So, if I develop a web app or website with Flask, I want to know what is going on under the hood (it's just how my head works... I cannot use anything without understanding it deeply to an extent).

HTML and CSS is something I've worked with for a year. I've also taken a few courses in Javascript. That's really the extent of my knowledge about the web alongside some YouTube videos about how the web works. So, I know practically nothing about the backend of web development.
Also, I have used Python for scientific use for several years.

So, what I am looking for is some understanding of web development, and also some tutorials on how to make web apps and websites using Flask.
 
Technology news on Phys.org
  • #2
That sounds like a good thing for you to learn. But it is unclear what level you want to go to.

Ethernet?
TCP/IP?
Routers?
Web Servers? https://www.webdevelopersnotes.com/what-is-web-server

In any case, there are numerous tutorials online for all of those. In any case, Wikipedia is often a good place to start. Read the articles, then look at the linked references at the bottom.
 
  • #3
anorlunda said:
That sounds like a good thing for you to learn. But it is unclear what level you want to go to.

Ethernet?
TCP/IP?
Routers?
Web Servers? https://www.webdevelopersnotes.com/what-is-web-server

In any case, there are numerous tutorials online for all of those. In any case, Wikipedia is often a good place to start. Read the articles, then look at the linked references at the bottom.

Yeah, I know it's unclear what Level I want to go to. I am not sure myself, and I don't think I'll know until I've read a bit more about it. I should probably just start at the top and work my way down.

However, I definitely want to go deeper than the link about web servers; I know most of that already.
 
  • #4
I've never heard of Flask, but I write webservers all the time. Here is what happens when you make a request.

Your browser first takes the url "https://www.physicsforums.com" and asks your DNS where that url is. This returns an IP (in physicsforums case it's 74.86.200.109) which is likely a load balancer or network switch, which then redirects you again to your actual server. This server is listening for new requests on port 80 (443 for https) with a program called Apache. (There are other ones like ngix, but Apache runs 99% of servers.) Apache then takes your requests and does whatever it's configured to do with it. It can do nothing, return a static page, call an executable, or (most commonly) will launch PHP. PHP then processes it's script and write output to stdout, which Apache then returns to the user. This is how html is generated.

That html is then rendered by your browser, which may require additional information such a javascript or css, which is specified by the html, but not returned with it.

There are usually additional layers of abstraction. For example, that final machine that runs apache is probably not really a physical machine but a VM.
 
  • Like
Likes Avatrin
  • #5
Avatrin said:
Hi

I want to learn and understand web development, and just knowing what to do is not enough for me; I, to the extent it is possible, want to know how the web works. So, if I develop a web app or website with Flask, I want to know what is going on under the hood (it's just how my head works... I cannot use anything without understanding it deeply to an extent).

HTML and CSS is something I've worked with for a year. I've also taken a few courses in Javascript. That's really the extent of my knowledge about the web alongside some YouTube videos about how the web works. So, I know practically nothing about the backend of web development.
Also, I have used Python for scientific use for several years.
So, what I am looking for is some understanding of web development, and also some tutorials on how to make web apps and websites using Flask.

A first step towards learning how the web works and how to develop applications for the web is to get a good understanding about the history of the web and how things came to where they are now, if you have not already done so. A good starting point is World Wide Web Foundation. This recommendation has not the purpose of learning history but to start forming some complete picture about how various technologies cooperate and interoperate - you can google specific terms and things you don't know as you go to this end, in order to create a "vehicle" for the operation of web applications of any kind.

Talking from my own educational experience about fifteen years ago, when I was taking lessons for the web developer certification and adapting to the present web world, the recommended sequence of topics is to start from networking - internetworking (ISO/OSI, TCP/IP protocol stacks), HTTP protocol and go to client side, learning HTML5, CSS, XML, JavaScript (ECMAScript to be precise because JavaScript is more of a title of honor now as it was developed first (1996), submitted to ECMA for standardization (1997) and this resulted in ECMAScript), Databases (RDBMSs and NoSQLs) and then go to server side. This side has several competitive - well not really competitive any more, scripting languages / technologies like PHP - which is by far the dominant server side scripting language now , Python, ASP.NET, Java (for the web), ColdFusion and some others with even less usage (you can take a look here for some usage stats). Frameworks for both client and server side, are an indispensable part of today's web development scene which demands building complex apps in a fast and reliable manner. You must also learn about design patterns for the development of web apps like MVC and I'd also recommend going further and learning about Pattern Oriented Software Architecture (POSA).

You can skip whatever you already know from the above but be careful at this because real knowledge comes only along with enough experience, meaning going into as much depth as you can for now and practicing - ideally working, on these. From my professional experience I can tell you that you'll come across many unknown, not explicitly implied and other - at times surprising, things and you'll want to reiterate (several times in some cases) over the same or similar things.

As a good book, I would recommend Deitel's Internet and World Wide Web How to Program.

For Flask tutorial I would recommend Full Stack Python's tutorial and also Italo Maia's Building Web Applications with Flask.
 
Last edited:
  • Like
Likes Avatrin

Related to Learning back-end development with Flask

1. What is Flask and why is it used for back-end development?

Flask is a micro web framework written in Python. It is used for back-end development because it allows developers to create web applications in a simple and efficient manner. Flask provides a flexible and minimalistic approach to web development, making it easier for developers to customize their code and create lightweight applications.

2. What are the main features of Flask that make it a popular choice for back-end development?

Some of the main features of Flask include its lightweight and modular design, its built-in development server, its extensive documentation and community support, and its compatibility with various third-party libraries and tools. These features make Flask a popular choice for developing web applications of varying sizes and complexities.

3. Is Flask suitable for beginners to learn back-end development?

Yes, Flask is a great framework for beginners to learn back-end development. It has a simple and intuitive syntax that is easy to understand and learn, and its minimalistic approach makes it less overwhelming for beginners. Additionally, Flask has a large and supportive community, with plenty of resources and tutorials available for beginners.

4. What are the basic concepts that one should know before learning back-end development with Flask?

Before learning back-end development with Flask, it is important to have a basic understanding of Python programming language and web development concepts such as HTTP requests, HTML, CSS, and JavaScript. Having knowledge of databases and SQL can also be helpful for more complex applications.

5. Are there any resources available to help with learning back-end development with Flask?

Yes, there are plenty of resources available to help with learning back-end development with Flask. These include official documentation, online tutorials, video courses, and community forums. Additionally, there are many books and online courses specifically focused on learning Flask, making it easier for beginners to get started.

Similar threads

  • Programming and Computer Science
Replies
17
Views
1K
  • Programming and Computer Science
Replies
13
Views
3K
Replies
7
Views
302
  • Programming and Computer Science
Replies
3
Views
1K
  • Programming and Computer Science
Replies
1
Views
974
  • Programming and Computer Science
Replies
15
Views
1K
  • Programming and Computer Science
Replies
13
Views
1K
  • Programming and Computer Science
Replies
15
Views
1K
  • Programming and Computer Science
Replies
22
Views
2K
  • Programming and Computer Science
4
Replies
107
Views
5K
Back
Top