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