How to choose a tech stack for your website - Episode 1: Introduction

Written by Edward Hewitt in Engineering on April 05,2019

Not sure what the best build for your website is? Don't worry, you're not alone. Navigating the world of frameworks, technologies, and languages out there is not easy - even for experts - and each new build has new requirements. How to choose your tech stack is a question that we get a lot, so Nouha and Sadek decided to sit down in the Prismic Studio and share tips and advice on how to make your decisions.

This is a transcript of the introduction to the video series and it is a great way to make sure that you don't miss any of the details, but the video is probably more interesting - so give it a watch!

This is part of a series, so make sure to subscribe to our channel to get all of our latest tutorials and interviews.

Highlights:

1. If you are a developer or a designer, you might prefer using a CMS over a WYSIWYG tool

2. Choose the front end framework that you're going to use for the rendering and your data management tool, your CMS. For more flexibility, less maintenance.

3. Look at the community and ecosystem that surrounds the technology or the product. Check the number of issues on StackOverflow, number of starts on Github, do they have a community space (Slack, Spectrum, Discourse, etc.)?

Nouha: Hi, I'm Nouha, I'm with Sadek in Prismic Studio. And we wanted to answer a question we hear a lot, which is "When I create a website, how do I choose which technologies to work with? How do I choose my tech stack?"

React, Gatsby, JavaScript, Node.js or others. You know, each of these have its own advantages. And that's why knowing these advantages, knowing your context, then you can decide better.

Sadek: Right, and you know it's an important question, and it comes so often. Because there are so many solutions, so many technologies. Like people ask: should I use WordPress, should I not use WordPress? There are so many other choices, like, about frameworks. You React, Gatsby, JavaScript, Node.js or others. You know, each of these have its own advantages. And that's why knowing these advantages, knowing your context, then you can decide better. So, that's why maybe we thought of doing this video to kind of go into the advantages of the different approaches.

Nouha: The answer that we tend to give first is related to like who you are. Who are you? It depends if you're a developer, or a designer, or not technical at all.

Sadek: Right, if you don't know how, and you don't want to learn how, to write JavaScript and CSS. So maybe you're looking for some, like, website visual builder where you have some interface.

Nouha: Drag and dropping blocks.

Sadek: Drag and drop. Some blocks to get your website, of course it's constrained, but maybe for your case, you don't want to invest time learning. So that's an approach, that's an approach. Not the approach that we are going to talk about in this video. We're more focusing on people that can write, some HTML and CSS. So for the other people that can do that. So basically there are two different blocks, Right?

There is the code, or the templates, that kind of render the website. And there is the content. Where does it go? Where do you host it? How do you edit it? Right? Because of course you can do a website without managing content. Then you will have that as, you know, static. But you don't want to go committing changing your code and redeploying it each time you have to go fix a typo.

Nouha: Yes.

Sadek: It's not very good. You know, It takes a lot of time, and it's not a very productive approach. So it's better to imagine it as two different blocks. One that renders and one that manages content, which has like an editor and all the different things that you need, to publish content.

Either you chose a solutions where you have those two blocks coupled, like Wordpress for instance, Or you could use two different solutions. Like have your own framework and your own CMS.

Nouha: Okay, and then you have two choices. Either you chose a solutions where you have those two blocks coupled, like Wordpress for instance, Or you could use two different solutions. Like have your own framework and your own CMS.

Sadek: Right, for instance traditional solutions will have these both coupled. But the problem with that is you're constrained to what that CMS technology provides you. So you have to for instance, WordPress to write inside WordPress templates.

Nouha: To add plug-ins.

Sadek: To add plug-ins, all these kinds of things. Which is a good approach. There are a lot of things we can learn from WordPress. They've done a great job, and they have a huge community. But, you know, you can't chose your favorite technologies or framework from these that are evolving. An other alternative is to say "what I need the CMS for is just the publishing and the editor". And then I want to be able to use my favorite framework, a JavaScript framework or whatever it is, PHP framework. And to develop with that.

Nouha: So that's another approach.

Sadek: That's a solid solution.

Nouha: So yeah, and then you need to choose one of these technologies and these CMS.

Sadek: And you talked about the community, and that's maybe something that can help you choose.

Is there a big community around something? Because you know you don't want to be stuck with something that doesn't have a community.

Nouha: Right. When you consider a technology, the community around it.

Sadek: Yeah, is there a big community around something? Because you know you don't want to be stuck with something that doesn't have a community. Because in case you have questions, or have issues, or using it not in the way they thought about it.

Nouha: Yep.

Sadek: You need to be able to have someone else that has thought of it or developed something for it or gave an answer about it.

Nouha: Or in case you have a question, you'll have somewhere to ask and be pretty sure that your going to have like an answer really quickly.

Sadek: But how can you know how big the community is?

Nouha: Well when it's about the community, most of people would look at their Github and see how many stars they have, or the number of questions answered.

Sadek: In StackOverflow things like this.

Nouha: But I like the idea of having like a Slack community or Spectrum.

Sadek: Spectrum community where you know you can ask questions. Yeah, with chat. And I had a friend, he used to go to google, and just google like the name of the technology + issue. And then he will see how many issues they have in this community, and how are they solving them? You know, are they responding to these people.

Nouha: Just to test it out.

Sadek: So maybe in future videos, we'll, you know, in next videos we'll talk about how to choose a framework. And then maybe in another video, dig deeper how to choose a CMS or something for managing content.

Nouha: Yeah, sure.

Sadek: Cool.

Edward Hewitt

Content Strategist. If the devs have their way, Edward will one day be replaced by a Prismic feature.