I'm new to web development. From looking at popular open-source frameworks for both front-end and back-end, I have a general idea of what the modern full-stack web setup looks like:

Database <-> Back-end language ~ REST API <-> Front-end


  • The back-end language (Python, Ruby, PHP, Java) generates the API, which is the only layer between the back and the front. The API has authentication to protect private data.
  • The front-end sends GET and POST requests to the API. A MVC framework can be used, such as Backbone, Angular, or Ember.js.

Is my understanding accurate?


Your understanding is correct at high level.

Frontend mvc - angular, backbone, ember - however you need to host that on web server like apache, nodejs, etc which will help you held the static assets (CSS, images, JavaScript,etc)

Rest API - can leverage framework such as drop wizard, etc

Backend mvc - using spring, struts, etc to build the business logic which connects with rest API and the database drivers

The rest API approach would help you utilize service oriented architecture which can further be reused if you feel to go towards mobile apps.

Not the answer you're looking for? Browse other questions tagged or ask your own question.