写点什么

静态站点生成器 Gatsby 创建者 Kyle Mathews 访谈

  • 2017-07-16
  • 本文字数:1660 字

    阅读完需:约 5 分钟

在一系列创业之后,Kyle Mathews 辞掉了工作,开始全身心投入到他的其中一个业余项目上,这个项目就是 Gatsby ,该项目的目标是让开发人员可以“不需要使用 React.js 之外的任何东西”就可以创建一个网站。

从那时到现在,Gatsby 已经达到了 1.0 版本。它已经发展成为一整套的工具集,包括一个插件架构、一个基于 GraphQL 的构建时数据层和渐进式 Web 应用(PWA)支持。它包含一个 CLI 及一个基于 Babel 和 webpack 的预置构建过程。

为了深入了解 Gatsby 的速度,Mathews 编写了一个 Instagram Clone ,旨在展示 Gatsby 如何使用谷歌的 PRPL 模式尽快获取屏幕像素。这个速度包括创建“一个静态 HTML 渲染每个页面,尽可能加快初次加载的速度”。此外,据 Mathews 介绍,预取帮助完成了开销较大的工作。

Gatsby 要快得多,因为它会在客户端和客户端转换中进行资源预取。有多个人已经表示,浏览 Gatsby 网站就感觉是在浏览本地站点。

在接受 InfoQ 采访时,Mathews 介绍了项目的动机及其未来的发展方向。

InfoQ:Gatsby 试图解决什么问题?

Kyle Mathews:Gatsby 试图解决的问题是,2017 年网站框架应该是个什么样子。大多人都采用 Web 1.0/2.0 时代的 Web 框架,因为它们是很棒、很成熟的框架,但是,它们不是针对如今这个庞大的 Web 而构建的。如今,数以十亿计的人是在低端的智能手机上通过不可靠的网络来访问 Web。

要想让一个网站可以在智能手机上快速的浏览,它必须在相当大的程度上独立于服务器;可以预取代码、数据,然后在客户端上渲染。

就提供优秀的 Web 体验而言,智能手机和浏览器已经足够快了——我们只是受制于旧有的框架,它们的基础是快速的有线网络,它们要求我们口袋里的超级计算机必须等待并不可靠的蜂窝网络。

Gatsby 内置了大量的信息,可以使网站快速加载,不管网络条件如何,浏览网站时都会觉得相当得快。

对于移动 Web 而言,响应式设计是一个重要的步骤,但是,我们需要转而采用一种站点在客户端渲染并能智能地完成内容预取的模型。

InfoQ:与其他静态站点生成器相比,基于 React 或非基于 React 的,它又如何呢?

Mathews:它继承了传统静态网站生成器的所有优点,例如,卓越的性能、较高的安全性、较低的扩展成本和较好的开发者体验(数据库迁移?随便什么)。Gatsby 的 v1 版本为静态网站生成器开辟了新的天地,提供了与 CMS 的丰富集成,如 Contentful、Wordpress、Drupal,及一整套的功能,默认开启,让你的网站快得让人吃惊——基于路由的代码分割、服务工作线程、离线支持等等。

在开发者体验方面,其他所有的静态网站生成器针对现代 CSS 和 JS 都提供了很少的帮助。它们将自己限定在把(通常是 markdown)编译成 HTML,然后由你自己配置一个现代构建 / 资源通道。Gatsby 100% 开箱即用,让你可以使用最新的工具和技术构建复杂的网站。

InfoQ:长远来看,Gatsby 会是什么样子?

Mathews:Gatsby 的发展势头很好,只用了 2 年时间就已经成为排名第 4 的静态网站生成器。有许多已经上线或正在开发的高性能网站都是基于 Gatsby。最近,我们批准了 200 名核心贡献者,Gatsby 的下载量超过 50 万。对于 Gatsby 的长期性,其关键是建立一个可持续的业务模型,为 Gatsby 的核心开发提供资金支持,以及建立一个富有活力的开源社区,构建和维护插件及与数据源的集成。

InfoQ:下一步有什么计划?

Mathews:我个人的关注点是如何为 Gatsby 的核心开发提供资金支持。该项目的重心是构建与更多 API、CMS 和数据库的集成,简化现有站点向 Gatsby 的迁移,或者基于一个现代化的网站框架重建。Gatsby 已经可以用于生产环境,构建复杂快速的网站。下一步,我考虑简化数据导入到 Gatsby 的过程,不管数据现在在哪里。

虽然已经快 2 岁了,但对于这个项目而言,它还是处于早期阶段,当然会有许多必要的部分添加进来。插件架构应该允许社区来查漏补缺,截至目前,有大约 35 个这样的插件,涉及 SASS、TypeScript、Preact 等技术。

要了解更多信息,请检出 GitHub 库或访问 Gatsby 首页

查看英文原文: Q & A With Kyle Mathews, Creator of React-Based Static Site Generator Gatsby

2017-07-16 17:521544
用户头像

发布了 1008 篇内容, 共 387.9 次阅读, 收获喜欢 344 次。

关注

评论

发布
暂无评论
发现更多内容

模块七课后作业

NewBranSTONE

#架构实战营

模块七作业:王者荣耀商城异地多活架构设计

Felix

Redis集群docker部署

非晓为骁

redis Docker redis集群

在智能运维中如何进行指标异常检测与分类?

云智慧AIOps社区

算法 场景应用落地 异常检测 智能运维 指标

华为云发布【云巢】智慧康养物联网加速器,加入立享多项扶持

华为云开发者联盟

物联网 华为云 应用开发 云巢 智慧康养

网红郭老师遭全平台账号封禁,违背公序良俗的网红该被封杀

石头IT视角

架构学习模块二

George

如何修改 Discourse 的域名

HoneyMoose

linux之ssh命令

入门小站

Linux

13. AlphaGO带给人类的启示到底是什么

Databri_AI

人工智能

在 Discourse 中如何使用输入对话框

HoneyMoose

IntelliJ IDEA 快速插入 for 循环

HoneyMoose

基于 Apache APISIX,爱奇艺 API 网关的更新与落地实践

API7.ai 技术团队

Apache APISIX Meetup 爱奇艺 企业案例

手撸二叉树之二叉树的所有路径

HelloWorld杰少

9月日更

阿里内部流传的JDK源码剖析手册!GitHub已获上千万的访问量

Java 编程 架构 jdk 面试

去中心化身份务实

CECBC

架构实战营模块七-王者荣耀商城异地多活架构设计

hello

架构训练营

国家发改委:利用区块链等新技术开展绿色电力交易试点

CECBC

架构实战营 1 期模块 7 作业——业务异地多活架构

tt

架构实战营

使用 Jackson – 将字符串转换为 JsonNode 对象

HoneyMoose

Vue进阶(幺零幺):npm install -g 和 npm install --save-dev 的关系

No Silver Bullet

Vue 9月日更

如何使用 GeoTrellis 和 React 构建地理处理应用程序

gisbook

GitHub spark Web GIS React

FontAwesome图标大全

入门小站

工具

推荐三个实用的 Go 开发工具

AlwaysBeta

Go 语言

网络攻防学习笔记 Day129

穿过生命散发芬芳

日志分析 9月日更

【Flutter 专题】53 图解 BackdropFilter 高斯模糊

阿策小和尚

Flutter 小菜 0 基础学习 Flutter Android 小菜鸟 9月日更

区块链赋能供应链金融风险管控探析

CECBC

我在 InfoQ 创作的思路规划

baiyutang

写作技巧 9月日更

Java 8 及其后续版本的新遍历 forEach

HoneyMoose

原来搭建淘客项目如此简单,app、web、小程序轻松搞定

Silently9527

Java uniapp 淘宝客开源

Django 框架的神奇之处,几行代码就能自动入库,微型博客第 3 篇

梦想橡皮擦

9月日更

静态站点生成器Gatsby创建者Kyle Mathews访谈_JavaScript_David Iffland_InfoQ精选文章