What is Full Stack, Front or Back-end

Go back to Tutorial

Web has grown more complex and as more becomes possible on the Internet, developers have gotten more specialized. And that means instead of developers who do it all, many focus on specific parts of development:

  • front end (the visible parts of a website)
  • back end (the “under the hood” databases and infrastructure)
  • full stack (a hybrid of both)

Front End

The front end of a website (or web or mobile application) is the part a user sees and directly interacts with. The front end is built with languages like:

  • HTML
  • CSS
  • JavaScript

You can create a website with just HTML and CSS, but it’s JavaScript that’s really the gamechanger (plus, it’s what’s causing all the aforementioned blurriness). To put it simply, JavaScript lets you add in interactivity, more complex animations, and even makes it possible to build fully featured Web applications.

Back in the day (like 2012), web browsers used to be really bad at interpreting a lot of JavaScript, so adding complex functionality with JS wasn’t always a good idea. But browsers have gotten much more powerful, making it possible to do with JavaScript what used to be reserved for “back end” programming languages. And there have been advances in JavaScript itself (including the creation of frameworks like AngularJs, jQuery, and Node.js). In short, what happened is that what we mean by “front end” development has radically changed in just a few short years.

Front end developers use HTML, CSS, and JavaScript to code up websites. They’re the ones who take the design and create a functioning website from it. Some sites are only built with HTML, CSS, and JavaScript. Other sites, however, have more code hidden away in the back end of the site, to augment or enhance the front end of the site.

Front End – Client Software

  • HTML
  • CSS
  • Bootstrap
  • JavaScript
  • JSON
  • XML
  • jQuery
  • Angular
  • React
  • js
  • js

Back End

The back end is much more behind-the-scenes and can have some advantages over front end technologies for specific projects. Back end programming languages include:

  • PHP
  • Ruby
  • Python

As far as what you can do with a back end language that you can’t do with JavaScript, the list is much more limited today than it used to be. One key difference: Most content management systems are built on a back end programming language, as are many large, complex web applications. JavaScript can suffer from performance issues (i.e., it gets slow or even buggy) in some cases, so while it’s now possible to use JS to build just about anything you can think of, sometimes there are still better solutions out there. Learning to code will teach you to find the best solution for your specific problem, and sometimes that means using a back end language.

Back end developers generally work with a front end developer to make their code work within the site or app’s design (or to tweak that design when necessary) and front end.

Back End – Server Software

  • PHP
  • ASP
  • C#
  • Java
  • Python
  • js
  • Ruby
  • REST
  • GO
  • MongoDB

Full Stack

Full stack developers work with both the front and back end of a website or application. They’re familiar with HTML, CSS, JavaScript, and one or more back end languages.

As the line between what can be done on the front end vs back end becomes more and more similar, and as things that were previously only possible on the back end become possible on the front end, more developers are becoming what we call “full stack.” A lot of employers (especially agencies who work on different kinds of sites) are looking for developers who know how to work on all the parts of a site, so they can use the best tools for the job regardless of whether it’s technically “front end” or “back end.”

Now, contrary to what a lot of people think, “full stack” doesn’t necessarily mean a developer is actually writing all of a site’s code themselves. Many full stack developers spend the majority of their time in either the front or back end code of a site.

But the point is that they know enough about the code across the entire stack that they can dive in anywhere if needed. And some full stack developers do code entire websites, including both the front and back ends, but usually only if they are working freelance or are the only developer working on a project.

Most full stack developers specialize in a particular back end programming language, like Ruby or PHP or Python, although some, especially if they’ve been working as a developer for a while, work with more than one. In job listings, you’ll generally see openings for “full stack Ruby developer” or the like.

Popular Stacks

  • Linux. Apache. MySQL. PHP. (LAMP Stack)
  • Linux. Nginx. MySQL. PHP. (LEMP Stack)
  • MongoDB. Express. AngularJS. Node.js. (MEAN Stack)
  • Python. Django. MySQL. (Django Stack)
  • Ruby. SQLite, PHP. (Ruby on Rails)

Full Stack Advantages

The advantage of being a full stack web developer is:

  • You can master all the techniques involved in a development project
  • You can often make a prototype very rapidly
  • You can often provide help to all the team members
  • You can often reduce the cost of the project
  • You can often reduce the time used for team communication
  • You can switch between front and back end development based on requirements
  • You can better undersand all aspects of new (upcoming) technology

Full Stack Disadvantages

  • The solution choosen can be wrong for the project
  • The solution choosen can be dependent on developer skills
  • The solution can generate a key person risk
  • Being a full stack developer is increasingly complex

Go back to Tutorial

What is MVVM
What is MEAN Stack?

Get industry recognized certification – Contact us