How to choose your static site generator

Video Statistics and Information

Video
Captions Word Cloud
Reddit Comments
Captions
hi everybody my name is Brian Rinaldi and I'm a developer advocate at stack pick today I'm going to talk to you about how to choose your static site generator as you may know a static site generator plays a key part in the jam spec it's what turns your markup into actual static assets that you can deploy but there's a lot of options so how do you choose let's talk about that so if you're good at static site generators dotnet which aims to be like a the most comprehensive list of static site generators out there you'll see that there are a lot of options according to static site generators that meant there's 459 options out there so it can be difficult if you get to that something like that to decide how do I pick one even a site like static gen calm which is a great resource because it allows you to filter by language and license and other factors or even sort by github stars it still has a very very long list so choosing even if I were to filter this can be difficult so what I'm going to share with you is what I think are criteria obviously these are my opinions different people may have different ways of choosing it but I'm going to share with you how I would approach choosing my static site generator so the first question I would recommend asking yourself in when choosing a static site generator is what is your level of experience I mean this both in terms of your level experience as a developer or a particularly front-end developer but also your level of experience with the jam stack specifically have you already built sites using the jam stack are you comfortable with the concepts of the jam stack before jumping into a new tool one of the reasons I think that experience matters or several reasons actually is that some tools have a steeper learning curve this is not a criticism of certain tools but but some of them do require that you learn a lot more and there's a little bit of a deeper difficulty getting to know the tool other tools tend to have fewer community resources these can be that can be because they're not as widely used or that can be because there are newer tools that just haven't had the opportunity to build the community resources that other tools have had years building and then some tools I think jump into the jam stack concepts early without necessarily getting lost in learning say a new front-end framework if you're not already comfortable in that particular front-end framework so which tools would you choose if you're new to jam stack the tools that I would recommend are Jekyll Hugo and Gatsby now let me explain why so let's start with Jekyll Jekyll has been around for ages it's been it was for many people like myself our first foray into what became the jam stack at the time was just that excites Jekyll gained a lot of popularity in part because it runs it's kind of the default static site generator that to this day still runs github pages it is built in Ruby and it uses liquid as its primary templating language although that is configurable Jekyll because it's been around for ages and because it was so widely used has a really big community it's really easy to find resources to help you there Doc's are very good liquid is actually quite well documented as well and it's very in my opinion very easy to get get a hang of and I'd say in my own experience the one biggest difficulty is that I'm not a ruby developer but I don't need to touch Ruby for the largely to use Jekyll however the Ruby ecosystem can be a little bit complicated I've often had times with my my setup with Ruby locally going haywire and I'm not very well equipped to fixing that that being said that's a rare issue and I still would highly recommend Jekyll as a tool for somebody who's new to the jam stack Hugo is another option that I'd highly recommend Hugo's built with go one of the things that that makes Hugo special is it because it's built and go it is incredibly fast building your site's is just crazy fast sometimes with the first time you use it you may even wonder if it actually ranked the other thing I'd say about Hugo is that Hugo's documentation is excellent it's it's extremely thorough whenever I run into an issue I can find generally find an example in the documentation so I'd highly recommend that for that reasons the one negative I'd say for for Hugo would be that Hugo uses go templating and I find that that has a bit of a deeper learning curve than say liquid or other templating languages that you may be used to and that can present a little bit of a problem but at the same time I still think Hugo is a fantastic tool for somebody new to the champ stack and that brings me to the last option that I recommend it which is Gatsby now if you're a JavaScript developer particularly if you're a react developer Gatsby will feel really really comfortable Gatsby has outstanding documentation it is very very widely used is probably the most popular option today in terms of Jam stack one of the benefits of Gatsby is that it has a massive plug-in library so pretty much anything you want to integrate with anything you want to do you can actually pull a plug in and save yourself having to write the code for that and that really helps I think a lot of beginners then one downside of Gatsby in my opinion is that if you are not already comfortable with react you may struggle a little bit getting to understand the concepts of gasps because you have to both know react and then there is a little bit of a Gatsby way of doing things which involves graph QL and other aspects that well I'm not saying they're particularly difficult they do have a steeper learning curve if you're not already comfortable with the underlying react concepts ok so next let's take a look at those tools that I might say are open to you if you have some experience with the jam stack already or you know a very more experienced developer those are next jeaious 11e next and grid 'some let me tell you a little bit more about each of them ok first let's look at next year one of the things that makes next J's unique is that it can be used both for server rendered apps and for jam stacks and I'll be honest it was one of those that I was borderline between putting it in the prior group or putting it in this I'd say I leaned on this grouping because because of that factor that it does both that when you search for documentation a lot of it tends to be leaning towards the server rendered apps as opposed to the jam stack gaps that has been improving in next I will admit has excellent documentation I find it actually relatively easy to use so I do highly recommend it particularly if you're already comfortable using react now if you're looking for a JavaScript based tool that doesn't actually use a front-end framework at all then I would look at 11 e Seoul MB is JavaScript based but does not use any front-end framework like react angular or view and it's been getting a very passionate fan base partly because of its simplicity they the community feels like it's a very straightforward tool simple to use so there are a lot more resources out there for lemming than there used to be even though 11 D is relatively new to the scene and it's it's been growing rapidly so if you're are looking for a JavaScript tool and particularly if you're looking for a JavaScript tool that does not rely on a front-end framework definitely check out the levity now if you're looking for tools based on view because you're a few developer and you really want to use view in developing your jam stack applications Knox Jas is a great option like next Jas which it has a very similar name to not coincidentally knucks can be used for server rendered apps as well as Jam stack apps and if you're looking for a view option that does both of those knucks is definitely an excellent option it's been around for a while and there is good documentation around it as well if you're looking for a view tool that's very specific for a jam stack applications there is grits 'm and great some has been around for a little while as well it does have a decent amount of resources it is well documented so it is definitely a good option for a targeted Jam stack tool for a few developers so lastly list get some tools that I'd recommend if you're probably more experienced and the reason I put these tools here is not a dig against them it's not to criticize them it's mostly because these are tools that are newer to the scene and therefore there are smaller communities around the tools there are less resources available for the tools they may develop those over time but they're not available just yet those three tools will be redwood Jas Bridgetown and skully let's take a look at them first let's look at redwoods yes this is unique in many ways obviously it is JavaScript based and it does use react the thing that makes it unique though is it tries to bring a lot of pieces together like building service functions connecting to a database authentication and all that into a more rails like developer experience it is actually quite well documented for a new project I've run through the tutorial myself so it's it's really good but it does have a much smaller community and there are fewer external resources that can help you if you get stuck that being said it definitely is worth checking out Bridgetown is another new tool that's only recently come out however Bridgetown is based on a fork of Jekyll's so if you're comfortable in Jekyll this will feel comfortable but they've already diverged in the number of ways that that make it unique you know it's worth checking out definitely if you're interested in a ruby based tool if you are comfortable with Jekyll but feel like maybe it's missing some stuff and it is has been very active in development obviously because it is new there are fewer resources and a smaller community but I know I've seen the developers who work on this and they've been active out there answering questions and things like that so you know again if you're in in the market for a ruby or a Jekyll like tool this would be it one to check out the last one I'm going to talk about is Scully Scully came out I think late last year and what makes skully unique in many ways is that it is the angular tool so obviously we've talked about react tools and we've talked about view based tools but there hasn't been an angular tool until spelling so if you're an angular developer and you're looking for a solution based on angular this is a really interesting tool to look at they actually do have some very neat features that none of the other engines have so that's worth checking out as well and the other thing I'd say is it does seem to be very well-documented I'm not an angular developer so it's hard for me to judge but it seems like they've built a strong community around it in a short period of time so if you're on the market for an angular based tool definitely worth looking into ok so the last item I want to talk about and because it came up a lot when you talk about these tools is does the language even matter and by the language I mean the language that the tool is built in so like Jekyll that would be Ruby you go that would be go Gatsby that would be JavaScript and so on I would argue that know the language generally speaking does not matter to you so don't take that as a major factor in choosing whether or not you want to try to as an example if I'm in Jekyll I'm largely going to be working template templating in liquid and I'm not actually going to ever really have to mess with Ruby at all I've used Jekyll for years and I don't know Ruby at all to be quite honest the same goes for Hugo I use I've used Hugo for years as well and I am would not say I'm a go developer by any means that being said if you're a JavaScript developer there's a lot of solutions out there for you nowadays if you have a particular preference for a language or framework you can take that into account but I wouldn't let that be a determining factor in whether you choose to use a tool or not I would actually argue that things like the documentation the community and the number you know the continuous updating of a particular tool are all gonna be factors that matter in the longer term more than the specific underlying language the tool was built in alright that's it for me today I hope this was helpful to you if you are in the market for a nice that new static site generator or your first static site generator if you want to explore this topic further I did actually write an article on the same topic that covers much of what I covered here but it goes into a little bit more detail and has some links that might be useful to you so you can find that as spec vidcom slash blog you can also reach out to me at promote synth on Twitter or follow us back babe at staff at HQ on Twitter thanks again
Info
Channel: Stackbit
Views: 6,524
Rating: 5 out of 5
Keywords: jamstack, webdev, web development
Id: c9g4UkHkzLs
Channel Id: undefined
Length: 14min 9sec (849 seconds)
Published: Wed Jun 17 2020
Related Videos
Note
Please note that this website is currently a work in progress! Lots of interesting data and statistics to come.