Full Stack Project
A Full Stack Project is one that takes advantage of backend services, such as servers and databases, to render frontend applications, the visual part of an app, with real time data. This process is often referred to as Server Side Rendering, or SSR for short.
A great example of SSR would be social applications, where the data you see is constantly changing, as the people you follow create new posts. In the backend, a server is handling these changes in real time, so that the next time you refresh your page you can immediately see the new posts.
When Is Full Stack Needed
Full stack projects are generally required for any application that is expected to handle a lot of dynamic features, and receive high traffic.
This can include:
- Social media applications
- E-commerce
- Blogs
Benefits Over JAM Stack
Although the JAM Stack works great as a cheap and reliable alternative to full stack applications, there are down sides that sometimes require the need to go full stack.
As mentioned before, if your application is expected to handle and perform a lot of actions to seamlessly provide users with new information, then full stack is the way to go.
This is because while full stack projects update data in real time to generate a page with the new information for users, a jam stack project will need to: perform that update, generate the page, and then perform an incremental rebuild of that page for the hosting service to know to deliver that new static page to the user.
That extra rebuild step often means that the next time a user visits that page they will not see the update, and would have to reload the page again. For smaller apps, this is often okay and in most cases will meet the needs of the user, but for larger business it is worth the extra expense to go full stack.
Pros and Cons of Full Stack Projects
Pros
Faster Initial Page Load
SSR can help with load speeds on the initial request because the server provides the user with ready to render files on the request, and serves browser with the javascript logic. As opposed to Client Side Rendering, CSR, where the browser needs to load and render both on its own, which on the first visit can take time.
Search Engine Optimization ( SEO )
SEO is the process of increasing your websites chances of being found by appearing at the top of a search list. The faster initial load times of SSR enables webpages to be indexed faster which ranks better for search engines.
Cons
Longer Development
Full Stack Applications take more time to plan and develop as developers have to not only design and create a front end application, but develop a server to handle your apps logic, and architect how your database handles data.
Expensive
The costs of full stack applications are higher due to the time and work that goes into development. SSR also requires you to run a server and database 24 / 7 in order to handle the demands of dynamic data. Pricing can vary depending on where you host these services, but as your app grows, costs go up as well.