2020年排名前11位的静态网站生成器,有你用过的吗?
随着JAMstack及其社区的发展,静态站点生成器变得越来越流行。在本文中,让我们看一下2020年顶级的静态网站生成器!
为什么选择静态网站生成器
让我们快速讨论一下静态网站生成器的优点。
速度
静态站点生成器在构建时生成站点页面,而不是实时生成。这意味着,当用户从您的网站请求页面时,没有延迟,没有对数据库的调用。没有生成HTML,它只是以文件本身作为响应。
因此,文件的托管非常简单。通过在内容分发网络(CDN)中托管您的网站,您的文件可以在世界各地以最快的速度复制。
安全
在使用静态网站生成器之前,开发人员将使用流行的内容管理系统(CMS),由于它们的受欢迎程度,它们经常成为黑客的目标。对于静态站点生成器,您不再需要CMS。这意味着你不必担心你的网站/数据会成为目标。
开发流程
使用静态网站生成器,您无需创建或管理自己的后端服务器。您也不必运行自己的数据库,这使得在本地运行站点,自动构建,切换到其他主机等变得异常简单。
还有很多好处,但让我们来看看名单!
1.Gatsby
Gatsby是我在这个列表中最喜欢的一个,也是我几乎每天用于个人网站和演示项目的一个。Gatsby在过去的几年里确实名声大噪,成功地获得了几轮投资。
我几乎可以找到所有需要的Gatsby插件!
最让我兴奋的是Gatsby的插件生态系统。对于我遇到的几乎所有问题,我通常都能找到一个插件来帮助解决。
Gatsby最近还发布了Gatsby Cloud,它被宣传为“创建和部署Gatsby网站的最佳方式”。如果您正在构建Gatsby站点,那么它值得一看。
概括:
使用React和GraphQL Gatsby Cloud优化构建 强大的插件生态系统 强大的社区 得到多轮融资的支持 支持PWA 惊人的文档
2.Next.js
Next.js是建立在React之上的另一个很棒的选项。它在社区中也非常流行,基本上是使用React的另一个事实上的静态站点生成器。
尽管我们将其列为静态站点生成器,但需要注意的是,这还不是全部。首先,Next.js支持服务器渲染。您还可以将serverless(无服务器) 功能定义为API端点,这使您可以控制如何构建和部署Next.js应用程序。
概括
服务器渲染,并可以选择导出为静态站点 无服务器功能的API路由 由Zeit支持 轻松与Zeit Now集成 PWA支持
3.Gridsome
到目前为止,我们已经讨论了两个基于React的静态站点生成器。现在,让我们过渡到一些构建在Vue之上的,首先是Gridsome。
虽然Vue目前还没有React所拥有的以下功能,但Vue社区仍在不断发展壮大,这一点很重要。根据JavaScript的现状调查,越来越多的人使用并喜欢Vue。
也就是说,Gridsome最像Gatsby了。与Gatsby类似,它由GraphQL提供支持,这是目前开发人员社区中最受欢迎的开发工具。它还支持PWAs和开箱即用的代码分离。我听到了有关Gridsome的许多好消息,因此,如果您有一些Vue经验,那么这是一个很好的起点。
概括
建立在Vue之上,一个不断发展的社区 堪比Gatsby 由GraphQL提供支持 支持PWA 自动代码分割
4.Nuxt.js
虽然Gridsome与Gatsby相比还算不错,但我们的下一个项目Nuxt。相比之下 Next.js更好。事实上,Next.js是Nuxt.js的灵感来源。
例如,它们都支持服务器渲染和静态生成的内容。Nuxt.js声称拥有“两全其美”的能力,将两者有力地结合在一起。
下面是Nuxt.js提到的一个额外的一点。开发人员不需要利用服务器渲染或静态生成的内容来寻找使用Nuxt.js的理由。与上面提到的框架一样,Nuxt.js在Vue(考虑自动路由配置)之上添加了一些可能值得考虑的细节。
概括
服务器渲染和静态生成的内容 由不断发展的社区Vue打造 自动代码分割 支持PWA
5.11ty
到目前为止,我们已经讨论了构建在JavaScript框架之上的静态站点生成器。另一方面,11ty只是基于纯JavaScript构建的,这意味着您不需要已经熟悉React或Vue这样的框架,如果您熟悉JavaScript,就可以开始了。
11ty标榜自己是“更简单的静态站点生成器”。这使得挑选和定制变得容易。我听到别人谈论的最喜欢的特性之一就是选择自己的模板语言。如果你已经熟悉了 Handlebars 之类的东西,那就继续使用吧。
概括
基于普通JavaScript(没有框架) 不需要预先了解React或Vue 选择模板语言 简单直接
6.Hugo
Hugo是我们将介绍的第一个不使用JavaScript的静态网站生成器。它是使用Go(一种由Google创建的开源语言)构建的。Go并不像JavaScript那样流行,但是我听说越来越多的开发人员/公司开始采用它。
Hugo的一个很酷的特性是它的内置模板,有助于快速起步并使用Hugo。它利用了可以在Markdown中使用的快捷方式来增加更多的灵活性和可重用性。
概括
使用Go编程语言构建 极快 作为一种语言,Go 正获得越来越多的关注 内置模板,可快速入门 Markdown中有用的快捷方式
7.Jekyll
Jekyll是另一个非常流行的选项,它是用Ruby构建的。Ruby是一种非常流行的编程语言,尤其是在Ruby on Rails框架中。因此,如果您有Ruby/Ruby on Rails的背景,那么您将希望与Jekyll进行交互。它是使用时间最长的静态网站生成器之一。
Jekyll将Markdown文件与非常流行的Liquid模板引擎结合在一起。有趣的是,Github Pages由Jekyll提供支持,这意味着您可以轻松地将Jekyll网站免费部署到GitHub!
概括
用Ruby编程语言构建 强大的的Ruby生态系统 轻松托管在Github页面上
8.Scully
上面,我们提到了一些使用JavaScript构建的静态网站生成器,但是我们从未提及Angular框架。Scully是Angular解决“静态网站生成器”热门的答案。与到目前为止我们讨论的其他选项相比,Scully还是相对较新的。
尽管Angular可能没有React所拥有的社区类型,但它仍然非常受欢迎。Angular的CLI非常棒,有了它,你可以用一个命令把Scully添加到现有的项目中。在过去的几个版本中,Angular在升级路径上都做了一些令人惊奇的事情,这仅仅是一个例子。Angular CLI还内置了一些惊人的脚手架命令,可为您生成项目文件。
概括
用Angular构建 Angular CLI轻松将Scully添加到现有项目 Angular CLI脚手架工具很棒
9.Sculpin
PHP是我们尚未谈论的另一种非常流行的语言。如果您最熟悉PHP(也许是从Wordpress开发回来的),那么您将需要查看Sculpin。它使用Markdown文件和一个名为Twig的模板引擎。
概括
用PHP和Symfony框架构建 使用Markdown和Twig模板引擎
10.Sapper
在所有关于JavaScript的讨论之后,我们还没有提及Svelte,它是最令人兴奋的新兴JavaScript框架之一。开发人员喜欢简洁、快速的代码。使用Sapper,您可以利用Svelte构建静态生成的站点,从而利用这些优势。
Sapper最容易与Next.js进行比较,它实际上是从Next.js获得灵感的。与Next.js相似,Snapper具有服务器渲染页面以及定义API端点的能力。然后,Snapper提供了导出为静态站点的功能。
概括
使用Svelte框架构建 导出到静态站点选项 快速 代码分割 离线支持
11.Middleman
Middleman是我们列表中的最后一个静态站点生成器,它使用Ruby作为其选择的语言。与上面的Jekyll相似,在进入Middleman之前,您需要熟悉Ruby和Ruby Gems生态系统。在研究这个框架时,我喜欢的一点是,它们的文档中嵌入了视频。作为一个从视频中学习得最好的人,我真的很欣赏这一点。
Middleman使用ERB作为默认的模板语言,如果您过去使用Ruby on Rails可能会熟悉。Middleman还允许您使用其他几种模板语言。
概括
用Ruby构建 ERB作为默认模板引擎 大量的软件包Ruby Gems YAML格式
近期推荐: