![Code Chefs - Hungry Web Developer Podcast artwork](https://is4-ssl.mzstatic.com/image/thumb/Podcasts124/v4/5a/11/ed/5a11edbd-e40a-c358-df76-c44bb7dcefe3/mza_10191979277882478471.png/100x100bb.jpg)
Intro to Backend Development
Code Chefs - Hungry Web Developer Podcast
English - July 13, 2020 00:00 - 1 hour - 143 MBTech News News Technology javascript webdevelopment html css codechefs Homepage Download Apple Podcasts Google Podcasts Overcast Castro Pocket Casts RSS feed
What is Backend Development? We briefly cover how a server talks to a client, via application programming interfaces (APIs). Then we cover…
We briefly cover how a server talks to a client, via application programming interfaces (APIs). Then we cover how backend servers are normally structured using MVC (model view controller). We discuss different backend frameworks, and reasons to choose them depending on job markets / business needs. And how to structure a highly scalable webapp like reddit or facebook. Finally we cover what a serverless function is, and tradeoffs between a more traditional backend tooling.
00:45 - Intro to backend
Common misconceptions of backend development
A backend is a server that talks to a client (your browser)
If you need custom functionality, you should write your own backend
05:20 - Web Analogies
A restaurant
A kitchen is the backend/server
Dining room is the frontend.
A waitress is the HTTP request.
10:30 - How does a backend talk to a frontend?
Model View Controller is a common design pattern for structuring a backend.
Model is where the business logic lives
View is where the HTML gets rendered
Controller is the entry point for the route
A backend can talk to a frontend a few different ways
Either API only, the frontend and backend are decoupled
or serving a route on the backend side
16:00 - Designing a backend
Frame out what your building.
Write the data models, and how that one table of data is correlated to another
Write the relationships between the data.
This helps enforces data consistency
Specifying types prevents bad data getting into the system
Shows how one set of data is related to another table
You can use foreign key constraints
23:10 - Business logic on frontend vs backend
Put the business logic into the backend for more complex projects.
But frontend business logic is okay if you have a simple app using a firebase
What is an API - application programming interface - request you make to a server via HTTP
31:00 - Backend frameworks
Pick what your most familiar with
The strengths of the language, such as GO-lang if you need concurrency
For windows desktop support, you might look into C#
Job market - Java is poular for banking / enterprise
Static vs Dynamic
Static enforces types, and compiled before runtime
Javascript is dynamic, it's compiled at runtime
Typescript - it's a superset of Javascript
How does LAMP differ from NodeJ
NodeJS requires you to turn on your own server
LAMP (Linux Apache Mysql, PHP) comes with pre-installed tools
45:00 - Scaling a web application
Build a stateless application, they don't have previously knowledge of anything else
This means you can spin up more of these servers to handle incoming traffic
The database does get overloaded, which is a common scalability issue
Lump up data ahead of time before making a call to it
Make simple SQL queries
Use cache for serving up common sets of data
52:30 - Serverless vs Server backend
Serverless is a webapp that's only turned on when needed.
Servers are generally always on
When should you use serverless?
When there's a reusable function across multiple apps
Such as image uploading and grabbing the URL uploaded
Tasks that need to be run routinely such as emails and PDF generation
58:00 - Resources for learning
Brad Traversy, Laracasts for PHP
59:05 - DESSERT TIME!
Learning how to play Ukelele and singing
Singing requires head voice / chest voice
Youtube tutorials!
German's Twitter
Vincent's Twitter
Vincent's Instagram
Tweet us your thoughts on @codechefsdev