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

  1. Need to learn complex JavaScript
  2. Compatible with different browsers
  3. User Experience
  1. A server-side programming language
  2. A relational database or non-relational database
  3. Shell
  4. Network
  5. 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?

  1. NodeJS - JavaScript can be run in Server-Side

  2. Front-end ecosystem needs a revolution

  3. 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