#100DaysOfWeb in Python Transcripts
Chapter: Day 52: Anvil - Full Stack Web Apps
Lecture: What is full stack web development?
0:00 The title of this chapter is Full Stack
0:02 Web Apps Made Easy.
0:03 So, what the heck is Full Stack anyway?
0:04 You may have heard this term. It's definitely floating
0:07 around there as a buzzword out in the industry, but let's
0:09 try to put some structure to it so you really know
0:12 what I'm talking about.
0:13 Now, let's look at the pieces involved in a standard
0:15 Web App.
0:16 We got our browser, we have some kind of cloud hosting,
0:18 there's really some sort of server, maybe it's a virtual
0:21 machine or set of virtual machines we manage, and
0:23 there's typically a database.
0:26 A request comes in, goes over to the server, goes off
0:29 to the internet; somehow finds its way magically through
0:32 the magic of the internet to our server, our server
0:34 talks to the database, and so on.
0:37 For most deployments, most applications you build,
0:40 what do you need to know?
0:42 It's actually incredibly daunting, I mean you're taking
0:44 100 Days Of Python here, but there's a lot of languages
0:48 and technologies involved.
0:49 We have tried to help with this, but still, let's see.
0:53 On the server side, we got to know Python, we have to know
0:55 HTML and CSS, some kind of templating like Jinja2
0:59 or Chameleon, some web framework like Flask or Pyramid,
1:03 a data access layer like SQLAlchemy or MongoEngine
1:06 or something like this. The actual infrastructure,
1:08 typically that's Linux, and if you aren't in Linux, probably
1:11 you got to configure the front-end web server,
1:14 which is NGINX.
1:15 You also got to configure the app server which runs your code
1:18 itself, which is uWSGI or Gunicorn, or something
1:21 like that.
1:22 There's just like, "That is just the server!
1:23 Do we forget about the database?"
1:26 There's more stuff that goes over here; you got to know
1:27 the server that is the database, SQLite or MySQL or
1:30 something like that.
1:32 Got to know the query language, the SQL query language.
1:34 In practice, you got to know migrations, how do we evolve
1:37 your database?
1:39 Are we done? No, We still got the front-end code.
1:49 This is an insane amount of stuff to know, and this is why
1:53 building web apps is both really fun but also
1:56 really challenging because you don't just learn the one
1:58 thing and then go build the app; it's all these technologies
2:01 put together.
2:02 Once you master them, this is a super fun way to build
2:04 applications, but it can be really daunting.
2:06 Whatever it is, it's not quick to get started.
2:10 We're going to see that what we're using for this set of
2:12 three days takes many of these things and makes them nearly
2:16 trivial or automatic or just puts them behind the scenes
2:19 for us.