今年是我从事网页开发赚钱的第 10 个年头,虽然我的时间不如某些人长,但我感觉自己已经经历过几个周期了,所以让我们说一些新事物最初往往会被愤世嫉俗地看待。我的这个里程碑也让我怀旧起来,“今年构建网站的哪些方面让你感兴趣?”这个问题也鼓励了这种情绪。
我刚进入这个行业时,只是一名彻头彻尾的设计师,将静态设计稿交付给开发人员,直到我看到太多次糟糕的构建后:我决定自己学习代码。自然而然,我专注于前端——特别是 HTML 和 CSS。是的,我也稍微了解了一些 JavaScript(自从 Flash 完全过时之后),但标记和样式一直是我最喜欢的网页技术。我从未真正涉足后端开发。当然,我会一些,但这绝对不是我的强项,通常会让我的作品稍微逊色一些——尤其是在作为自由网页设计师的时候。好吧,它确实让我弱了一些,直到现在。
JAMstack:一个糟糕的名字,但非常强大。
我喜欢 JAMstack,因为它赋予了像我这样不太擅长后端的人以力量,而我最喜欢 JAMstack 的方面——我认为也是它最好的部分——是静态网站生成器 (SSG)。我在这里特别指的是像Eleventy这样的 SSG,而不是Gatsby,仅供参考。
我喜欢像 Eleventy 这样的 SSG 的最大原因是,我可以拥有一个完全灵活、组件驱动的代码库,在构建时,它会编译成仅包含漂亮静态 HTML 的内容。你仍然可以使用 JavaScript 的强大功能,但无需强制将其放入管道中,而是在编译时运行它。这让我能够做一些非常复杂的事情。Eleventy 也以闪电般的速度完成了所有这些操作。
将 Eleventy 与Netlify以及在某些情况下与Heroku结合使用,你突然就拥有了一个强大的开发环境,它可以生成快速、高效的网站并自动部署。这对我来说是完美的设置。
我对这些东西感到非常兴奋,以至于今年我创建了一个名为Hylia的 Eleventy 启动工具包。我这样做有两个原因
- 我想测试使用源代码控制内容的内容管理静态网站的可行性。我选择Netlify CMS来实现这一点
- 我想让没有技术技能的人也能发布他们自己的高性能、可访问的博客,这样他们就不必依赖集中式系统了
该平台反响非常好,我认为它取得成功的部分原因是,即使它(可选)是内容管理的,由设计令牌提供支持,并且完全组件化,但它的性能非常好,因为你得到的只有 HTML 和 CSS 以及一些渐进增强的 JavaScript。
这就是 SSG 的魔力所在,因为它们为我们提供了开发人员体验,但更重要的是,因为输出是静态的且轻量级的(除非你通过大量代码阻止了这一点),所以它也为良好的用户体验奠定了非常坚实的基础!这不仅适用于像 Hylia 这样的小项目,因为 SSG 甚至可以为像Duet设计系统这样的大型项目提供支持,例如。
回顾 SSG 带来的赋权,我将列出一些它们使我这个网页设计师今年能够做的事情:
- 自出版书籍
- 为客户创建快速、交互式的原型,这彻底改变了决策过程
- 为客户构建真正的完整网站
- 彻底改变我的设计流程,使用 HTML 和 CSS 作为交付成果,而不是静态设计稿
- 构建和记录一个非常全面、多平台的设计系统(进行中)
- 重新构建我的CSS 新闻通讯(进行中)
这些都是重大事件,对我的影响非常大,而且明年,随着我转向提供教育材料,SSG 将在我的工作中占据更多比重。
总结
借助 JAMstack 和 SSG,未来一片光明——尤其是在向最终用户交付快速、渐进增强的网站时。我真心认为它们也正在推动着人们更加关注性能。
如果我们加入一些无服务器技术:突然之间,设计师和前端开发人员确实变得无所不能,这让我非常兴奋,因为突然之间,我们赋予了许多人拥有绝妙想法的能力,而以前他们可能无法做到。
我承认,最初引入这个名字时,我并不太喜欢,除了我无法想出一个更好的名字,而这个名字不会暗示静态的局限性。几年后,它似乎流行起来(很大程度上归功于 Netlify 的努力),而且我 a) 不再讨厌它,b) 仍然没有更好的想法。
非常有帮助的文章。很快就会看到相关的文档了。
感谢这篇文章的深刻见解!
我最近经常听到关于 SSG 和 JAMstack 的讨论,尤其是在提到 Netlify 或 Gatsby 等服务时。我个人一直在所有最近的项目中使用 Vue 和 Firebase,并且一直在想这是否也属于 JAMstack?我使用 Vue CLI 将所有组件代码编译成静态 HTML/CSS/JS,然后将其部署到 Firebase 静态托管服务。请告诉我,我是不是也是其中一员,哈哈!