写点什么

静态站点生成器 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:521912
用户头像

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

关注

评论

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

前端面试高频20道手写题

helloworld1024fd

主流跨端技术一览

Speedoooo

前端框架 小程序容器

节省50%成本!京东云重磅发布新一代混合CDN产品

京东科技开发者

云计算 CDN DDoS 混合云

半夜赶工制作简报的我好想说 : 确定了,最终稿就是这样

叶小鍵

IIR数字滤波器设计(数字信号处理)

Five

matlab 过滤器 8月月更

分享一个Chrome控制台数据获取的例子

睡着了去做梦

Go Chrome开发者工具

Spring Session

武师叔

8月月更

wx-wow(微信小程序动效库)

Five

微信小程序 动画效果 8月月更

七日算法先导(二)——双指针

工程师日月

8月月更

数据湖(一):数据湖概念

Lansonli

数据湖 8月月更

C语言结构体(入门)

孤衫

编程语言 C语言 结构体 8月月更

基于threejs的商品VR展示平台的设计与实现思路

Five

js vr three.js 签约计划第三季 8月月更

实践GoF的设计模式:迭代器模式

华为云开发者联盟

后端 开发

软件成分分析:手握5大能力守护软件供应链安全

华为云开发者联盟

云计算 安全 华为云

Vite2 + Vue3 + TypeScript + Pinia 搭建一套企业级的开发脚手架

小周先生

开源 Vite2 vue3.0 #开源 8月月更

【云原生】jenkins部署docker镜像到远程服务器

青芒果

云原生 CODING Linxu docekr 8月月更

中原银行实时风控体系建设实践

Apache Flink

大数据 flink 编程

ABAP-OOAVL模板程序

桥下本有油菜花

abap

看我如何用多线程,帮助运营小姐姐解决数据校对系统变慢!

华为云开发者联盟

后端 开发

SpringBoot 发送邮件

开源 SpringBoot 2 8月月更

面试SQL语句,学会这些就够了!!!

程序员猪小哼

sql 实用SQl语句

数据湖(二):什么是Hudi

Lansonli

数据湖 8月月更

数据湖(三):Hudi概念术语

Lansonli

数据湖 8月月更

开源一夏 |Spring boot 自动配置原理

叶秋学长

开源 8月月更

如何通过DBeaver 连接 TDengine?

TDengine

数据库 tdengine Dbeaver

前端面试高频20道手写题(二)

helloworld1024fd

技术分享| 融合调度系统中的电子围栏功能说明

anyRTC开发者

音视频 快对讲 语音对讲 视频对讲 电子围栏

如何在Linux中不解压就能查看压缩包中的内容,这13个命令非常强!

wljslmz

Linux 签约计划第三季 8月月更

Spring Controller

武师叔

8月月更

基于深度学习的裂缝检测技术

阿炜小菜鸡

8月月更 裂缝监测

Mysql 基本操作指南之mysql查询语句

六月的雨在InfoQ

8月月更

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