An Overview of Full-Stack Development
Wenzhi Xu
Backend
Frontend
HTML
CSS
JavsScript
A Server-side programming language: PHP, Ruby, Python, Java ...
Web Server: Nginx, IIS ...
Database: MySQL, SqlServer, Oracle...
Cache: Redis
Message Queue: Kafka, RabbitMQ...
so many things.
...
Backend
Frontend
Runs in Browser
Runs in Server Machine
The Difficulties
- Need to learn complex JavaScript
- Compatible with different browsers
- User Experience
- A server-side programming language
- A relational database or non-relational database
- Shell
- Network
- Debug on server-side is more complex
Traditional Way
Yet another project|
app|
controller|
models|
views|
public|
js|
css|
index.js/php/rb
config|
...
Rendering on Server
Start
Processing
Send HTML document to browser
Compile template
Send data to template
The front and the back are coupled together.
Separated Way
Backend project|
app|
controller|
models|
views|
public|
js|
css|
config|
...
Rendering on Client
The front and the back are independent.
Frontend project|
app|
controller|
models|
views|
public|
index.html
config|
...
Request
Response
Why Full-Stack Appear?
-
NodeJS - JavaScript can be run in Server-Side
-
Front-end ecosystem needs a revolution
-
Cloud Computing
...
LANMP - Linux, Apache/Nginx, MySQL, PHP/Perl
MEAN - Mongo, Express, Angular, Node
Interesting Change
Ruby on Rails or Django
...
Q&A
Thanks!
An Overview of Full-Stack Development
By xuwenzhi
An Overview of Full-Stack Development
- 56