|Author(s):||Daniel Patanin firstname.lastname@example.org, Jannick Hollenbach email@example.com|
There are tons of different frameworks for building websites out there. We must choose the most fitting one for our use, fulfilling our mandatory requirements:
• Common programming language, if applicable easy to learn • Overall easy to use and start-up, also locally • Tutorials, examples and a good documentation • Bonus points for great and many easy to use templates and plugins • Needs continuous support and contribution • Must be able to be deployed as GitHub pages
We will choose from the following popular/trending:
These frameworks do all fulfill the requirements to the extent that I estimate them as wellsuited. First, I researched the listed features on the respective sites or quickly googled after it specifically and found instantly the requested feature. I followed up with a general overview of how old the frameworks, how popular they are and for example pages build with them. Afterwards I searched for comparison blogs and posts, mostly to examine their comments. Most of these „pro-cons “-posts are inaccurate and very superficial, but luckily because of that the comment sections hold interesting discussions and comparisons from overall features and usability to specific issues and problems of each framework and which framework fits what use-cases in general. After this research I’ve come to a majority of similar experience sharing and discussions. These described the distribution of these frameworks as follows (roughly summarized):
So, it seems that Hugo is a pretty good choice for sites with many, many…. like many pages. Jekyll seems to fit for a quick build. Gatsby and Gridsome require a bit more time to learn but have their advantages in speed and growth of the site. And whether you choose Gridsome over Gatsby relies on whether you want to use VueJS or not.
Finally we’ve decided to use Gatsby. Some of the main reasons is it’s fast performance, the extensive documentation and tutorials and also the language, since Hugo (the other framework we considered mainly) is based on Golang, and as for my part as a developer I feel completely comfortable and prefer working with JSX. Overall it comes down to preferences mostly, since we’re not going to build a giant Website, nor are we planning on implementing “crazy” Features.
For the integration of our multi-repository documentation we’ll use Antora if working this out with Gatsby is going to be more difficult than integrating Antora. We’re aware that using Gatsby requires a bit more maintenance and has the drawback, that if anybody else will maintain or work on the website, this person will need to at least understand the basics of React and GraphQL.